Synchronized关键字原理分析
Sync 使用
修饰实例方法,锁的是当前对象的锁(锁是什么?)
123synchronized void method() { //业务代码}
修饰静态方法,锁的是当前类的锁(锁是什么?)
123synchronized static void method() { //业务代码}
修饰代码块,锁的给定对象的锁
1234567synchronized(this) { //业务代码}synchronized(Object.Class) { //业务代码}
Sync 特性原子性原子性是指一个操作是不可以中断的,要么全部执行成功,要么全部失败
1234567891011121314// 实例同步方法public synchronized void add(){ count++;}// 静态同步方法public static synchronized void add(){ count++;}// 同步代码块public void a ...
自签HTTPS证书
创建CA根证书第一步是创建一个秘钥,这个便是CA证书的根本,之后所有的东西都来自这个秘钥:
12# 通过rsa算法生成2048位长度的秘钥openssl genrsa -out rootCA.key 2048
第二步是通过秘钥加密机构信息形成公钥:
123# 公钥包含了机构信息,在输入下面的指令之后会有一系列的信息输入,这些信息便是机构信息,公司名称地址什么的# 这里还有一个过期信息,CA证书也会过期,openssl默认是一个月,我们直接搞到100年openssl req -new -x509 -key rootCA.key -out rootCA.cer -days 36500
颁发服务器证书在得到CA证书之后,需要通过openssl工具对证书进行转换得到公钥(.crt文件)和密钥(.key文件)。
第一步通过openssl工具创建服务器证书的秘钥
123# 通过RSA算法生成长度2048位的秘钥openssl genrsa -out server.key 2048
第二步这里是创建一个签名请求
将下面的配置内容保存为openssl.cnf放到生成的服务器证书文件的目录下(注 ...