编辑
2020-03-28
编程语言
00

最近发现synchronized锁的是什么?甚至有人认为synchronized锁的是代码??!这个我觉得还是很有必要通过实际的示例来说明synchronized锁的到底是什么。

根据获取的锁的分类:获取对象锁和获取类锁!

获取对象锁的两种用法

1、同步代码块(synchronized(this), synchronized(类实例对象)),锁是小括号()中的实例对象。 2、同步非静态方法(synchronized method),锁是当前对象的实例对象。

获取类锁的两种用法

1、同步代码块(synchronized(类.class)),锁是小括号()中的类对象,即Class对象。 2、同步静态方法(synchronized static method),锁是当前对象的类对象(Class对象)。

编辑
2020-03-23
计算机基础科学
00

mark

本文主要讲述了进程和线程发展简史,对于JVM来讲的进程和线程又是什么,Thread的start()方法的原生调用发生了什么,从而理解start()方法和run()方法有什么不同,另外,还介绍了三种处理线程执行完成后的返回值的方法,其实FutureTask和线程池获取线程执行结束的返回值更加常用。另外,介绍了线程的六种状态,还有sleep和wait的区别,notify和notifyAll的区别,yield函数的作用,以及如何优雅的中断线程等问题。

编辑
2020-03-22
客户端技术
00

mark

OkHttp是一个优秀的网络请求框架,我开始接触Android开发的时候就用过这个网络请求框架,官方的参考文档在这里 https://square.github.io/okhttp/ ,本文演示了使用OkHttp框架进行简单的Get、Post(表单形式和JSON形式)、Delete、附加请求头、请求异步回调,文件的上传和下载等常用操作。最后记录了一个今天调试了很久的坑,那就是response.body().string()只能有效调用一次,注意Debug的时候对结果造成的改变!JDK9的HttpURLConnection有很多变化,下次博客中会有演示和说明。

编辑
2020-03-21
Docker应用与NAS
00

mark

上图即使我搭建完毕的效果。对于Docker的环境安装,基础命令之类的内容,通读官网文档内容基本都能顺利掌握。 然而,当笔者尝试着搭建一套基于SSL的Docker Registry(官网推荐的做法)却遇到了不少的麻烦,对于这部分内容,大多数博客文档内容都是直接跳过了SSL的环节,采用了HTTP的访问形式。 然而本文就是记录一下对于搭建HTTPS 访问形式的Docker Registry的过程,读者很容易复现的过程!

我的环境是CentOS7_x64,Docker版本是 Client: Docker Engine - Community 19.03.7、Server: Docker Engine - Community 19.03.7、Nginx源码包的版本是nginx-1.9.9.tar.gz。

编辑
2020-03-18
计算机基础科学
00

单例模式属于创建型设计模式,一个类在虚拟机中只有一份实例。实现单例模式的核心思想在于构造函数私有化,主要实现方式分为两种:懒汉式和饿汉式。

mark