- Linux更新操作系统Openssh版本9.3p1(源码编译安装)
Lz__Heng
LinuxOpenSSHlinux服务器运维
Linux更新操作系统Openssh版本9.3p1(源码编译安装)部署前准备安装依赖yuminstall-ygccgcc-c++glibcmakeautoconfopensslopenssl-develpcre-develpam-develyuminstall-ypam*zlib*openssh-9.3p1.tar.gzopenssl-3.1.0.tar.gz备份文件cp/etc/pam.d/ss
- Apache 支持 HTTPS
童心同萌
https服务器网络协议
证书文件提取私钥opensslpkcs12-incert.pfx-nocerts-outprivate.key-nodes打开命令行(CMD或PowerShell),进入证书所在目录,输入上面命令,它会提示你输入密码,可以从password.txt中复制提取证书opensslpkcs12-incert.pfx-clcerts-nokeys-outcert.pemhttpd.confLoadModu
- zlmediakit webrtc搭建使用
iummature
webrtc
webrtc编译与使用|ZLMediaKit官方文档参考编译机器:centos7.6gcc版本10.1.0(GCC)cmakeversion3.23.0web播放rtsp流视频,使用webrtc毫秒级延迟_webrtc播放rtsp流-CSDN博客依赖准备openssl安装(openssl版本要求1.1以上)我的安装目录在/opt/projects/open/openssllibsrtp安装对于一些
- linux 下libwebsockets编译
shxiongGL
thirdparty
陆陆续续编译了一段时间,期间碰到各种问题,回想起来也比较奇葩吧,特总结一下1、重装openssl导致系统启动黑屏的问题,可能是装openssl的时候误删除系统原有的openssl(/usr/lib64/usr/local/lib64相关信息)不要乱删东西!!不要乱删东西!!不要乱删东西!!PS:最后使用的openssl版本是1.1.1g2、SVN上libwebsockets版本问题,下载v4.0.
- Nginx安全防护与HTTPS部署实战
lml4856
nginx安全https
一.核心安全配置1.编译安装Nginx(1)安装支持软件Nginx的配置及运行需要pcre、zlib等软件包的支持,因此应预先安装这些软件的开发包(devel),以便提供相应的库和头文件,确保Nginx的安装顺利完成命令:dnfinstall-ygccmakepcre-develzlib-developenssl-develperl-ExtUtils-MakeMakergitwgettar(2)创
- Openssl生成RSA证书,Java实现公钥证书加密,私钥证书解密
RonTech
Java算法SecurityRSA证书加密公钥加密私钥解密API数据加密
1、证书生成过程生成RSA私钥:genrsa-outprivate_key.pem1024把RSA私钥转换成PKCS8格式pkcs8-topk8-informPEM-inprivate_key.pem-outformPEM–nocrypt生成RSA公钥rsa-inprivate_key.pem-pubout-outrsa_public_key.pem生成供Java使用的私钥pkcs8_privat
- OpenSSL自签名证书
Lucky_Turtle
Linuxlinux
文章目录生成1.生成根证书的私钥(root_private_key.pem)2.创建根证书的CSR和自签名证书(root_csr.pem)3.生成服务器证书的私钥(server_private_key.pem)4.创建服务器证书的CSR(server_private_key.pem)5.使用根证书签发服务器证书(server_csr.pem)6.验证证书生成1.生成根证书的私钥(root_priv
- Centos7.9安装Openssl 3.5
石小千
Linux运维linux
下载github下载地址https://github.com/openssl/openssl/releases/download/openssl-3.5.0/openssl-3.5.0.tar.gz国内镜像站下载地址https://raw.gitcode.com/gh_mirrors/ope/openssl/archive/refs/heads/openssl-3.5.0.zip准备yuminst
- Centos 系统安装 Python3.8.5
程序视界Up
centoslinuxpython
1.准备编译环境及配置环境依赖yuminstallgccpatchlibffi-develpython-develzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-devel-y2.下载Python的源码包并解压参考地
- qt集成openssl
baidu_19552787
运维qt
第一:下载项目中对应版本的openssl的库https://openssl-library.org/source/old/1.0.2/老版本的openssl的下载地址,这个下载的好像是源码,还要编译。https://indy.fulgan.com/SSL/在这里下载不需要编译,下载下来直接用dll文件。第二:下载完库,配置库Qt本身不包含OpenSSL库,因此在使用需要SSL/TLS的功能时(如H
- linux配置Minio为https
shiGuang°
运行环境linuxhttpsminio
使用自签名方式配置minio为https进入minio证书路径root/.minio/certs,此文件夹是安装minio时自动生成的cd/root/.minio/certs/在证书路径下生成私钥opensslgenrsa-outprivate.key2048创建配置文件openssl.confvimopenssl.conf设置IP.1和/或DNS.1指向正确的IP/DNS地址:复制以下内容到op
- minio升级https操作
1.使用openssl生成私钥opensslgenrsa-outprivate.key20482.生成自签证书2.1创建一个以openssl.conf以下内容命名的文件。设置IP.1和/或DNS.1指向正确的IP/DNS地址:注:1.IP.1、IP.2、IP.3....是可配的,把用到的所有IP都配置在这,例如:docker容器ip和主机公网ip;2.同理多个DNS.1....也是可配的[req]
- nginx
huang714
nginxnginx
安装依赖安装nginx之前,确保系统已经安装gcc、openssl-devel、pcre-devel和zlib-devel软件库gcc可以通过光盘直接选择安装openssl-devel、zlib-devel可以通过光盘直接选择安装,https时使用pcre-devel安装pcre库是为了使nginx支持HTTPRewrite模块编译安装通过上面的下载页下载最新的稳定版#wgethttp://ngi
- Python 3.13.2 源码安装指南
hnlucky
python运维学习运维开发linux运维pythoncentos
Python3.13.2源码安装指南1.下载安装包wgethttps://www.python.org/ftp/python/3.13.2/Python-3.13.2.tgz2.安装依赖sudoyuminstall-ygccopenssl-develbzip2-devellibffi-develzlib-devel3.解压安装包tar-zxvfPython-3.13.2.tgz4.进入解压目录cd
- openssl命令行之AES-CBC文件加密并实现解密还原
我不是程序员~~~~
C&C++开发语言python
使用随机key和ivD:\softwares\openssl1.1.1\OpenSSL-Win64\bin>opensslenc-aes-128-cbc-in1.txt-out1.txt.encenteraes-128
- [openssl]pem文件及openssl-rsa使用
_orangeP
CRYPTOopenssl安全加密解密
PEM全称是PrivacyEnhancedMail,该标准定义了加密一个准备要发送邮件的标准,主要用来将各种对象保存成PEM格式,并将PEM格式的各种对象读取到相应的结构中。它的基本流程是这样的:信息转换为ASCII码或其它编码方式;使用对称算法加密转换了的邮件信息;使用BASE64对加密后的邮件信息进行编码;使用一些头定义对信息进行封装,这些头信息格式如下(不一定都需要,可选的):Proc-Ty
- 第十四章 加密和安全 -- OpenSSL(一)
Raymond运维
Linux云计算SRE运维--入门阶段(已完结)运维linux云计算云原生安全
2.OpenSSL2.1OpenSSL介绍官网:https://www.openssl.org/OpenSSL计划在1998年开始,其目标是发明一套自由的加密工具,在互联网上使用。OpenSSL以EricYoung以及TimHudson两人开发的SSLeay为基础,随着两人前往RSA公司任职,SSLeay在1998年12月停止开发。因此在1998年12月,社群另外分支出OpenSSL,继续开发下去
- Ubuntu上搭建Nginx环境
编程小邢啊
ubuntunginx数据库
1.软件包下载nginx下载地址下载linux版本的nginx,如图圈示2.将下载好的软件包上传至Linux服务器假设上传到/opt/nginx目录,进入目录cd/opt/nginx解压,根据版本自行修改版本号tarzxvfnginx-1.16.0.tar.gz3.安装安装编译所需的依赖,这通常包括OpenSSL库,用于SSL支持sudoapt-getinstallbuild-essentialz
- centos8 编译 openstall 后,无法使用一堆系统命令
Terry_Tsang
ssl
背景oscentos8编译了openssl-1.1.1g编译参数./config--prefix=/usr/local/openssl-Wl,-rpath,/usr/local/openssl/libcentos7正常,centos8上出现下面问题(同样sshd服务也不再正常)#rpm-qarpm:symbollookuperror:/lib64/librpmio.so.8:undefinedsy
- CentOS6.5安装配置Nginx1.11.5
co-n00b
一、安装pcre查看是否已经安装了pcrerpm-qa|greppcre如果存在,则删除已经安装的pcre(最好不要用系统自带的pcre)rpm-e--nodepspcre-7.8-6.el6.x86_64安装pcreyuminstallpcre*二、安装opensslyum-yinstallopenssl*三、下载Nginx编译安装包下载地址:http://nginx.org/en/downlo
- OpenSSL和cpr库安装
搬砖者(视觉算法工程师)
开发语言
安装依赖项sudoaptupdate&&sudoaptinstalllibssl-dev#1.克隆CPR仓库gitclonehttps://github.com/libcpr/cpr.gitcdcpr#2.创建编译目录mkdirbuild&&cdbuild#3.生成构建文件cmake..-DCPR_USE_SYSTEM_CURL=ON#使用系统curl#或cmake..-DCPR_BUILD_TE
- mydumper安装及使用
weixin_34268843
数据库运维操作系统
mydumper官网:https://launchpad.net/mydumper安装方式:1、yuminstallglib2-develmysql-develzlib-develpcre-developenssl-devel(现在安装这些依赖)2、cmake.(解压编译tarxvfmydumper-0.9.1.tar.gz)3、make&&makeinstall(编译安装)4、ln-s/usr/
- mysql5.5开启ssl_在MySQL中,启用SSL
慕酒
mysql5.5开启ssl
问题描述我正在运行UbuntuServer12.04,并且想启用与MySQL的SSL连接。我已经使用OpenSSL生成了以下密钥/证书文件:ca-cert.pemserver-cert.pemserver-key.pem我将它们存储在/etc/mysql,然后将以下行添加到/etc/mysql/my.cnf:ssl-ca=/etc/mysql/ca-cert.pemssl-cert=/etc/my
- MYSQL8安全之SSL认证_mysql ssl,太香了_mysql userssl
heike_沧海
安全sslmysql
查看openssl版本opensslversion生成SSL连接所需要的RSA密钥对datadir指定数据库文件鹿筋user和uid指定运行mysql_ssl_rsa_setup命令的用户mysql_ssl_rsa_setup--datadir=/var/lib/mysql--user=mysql--uid=mysql默认执行即可mysqld_ssl_rsa_setup-vvv详细,debug模式
- Linux系统中自签名HTTPS证书
在Linux系统中,我们可以通过OpenSSL工具生成自签名的HTTPS证书,并将其配置到Web服务器(如Nginx)中。以下是详细步骤:一.生成自签名HTTPS证书安装OpenSSL:首先,确保你的系统上安装了OpenSSL,这是一个强大的加密工具,用于生成和管理SSL/TLS证书。大多数Linux发行版默认已经安装了OpenSSL。对于Ubuntu/Debian系统:sudoapt-getup
- Visual studio编译的程序运行报错:“由于找不到libcrypto-1_1.dll,无法继续执行代码”的解决方法
LuxiZheng_
Bugc++
错误使用OpenSSL库中的函数,在Visualstudio中项目的属性页中已经添加了OpenSSL的包含目录和库目录,并且也在链接器的输入选项中添加了libssl.lib、libcrypto.lib依赖项,程序成功编译,但运行程序将会弹出错误框,如下图解决方法在OpenSSL的安装目录的bin目录下找到缺失的dll,并把它复制到源代码的目录下,如下图。
- 升级openssl后无法使用cmake和curl的解决方法
Lazy Dave
服务器linux运维
现象Linux升级openssl后(笔者的案例是编译源码升级1.1.1f到1.1.1k)无法使用curl,提示libcurl.so无法加载符号SSLv3_*,cmake因为依赖libcurl也无法使用。原因新版openssl默认不支持ssl3,需要手动开启。解决方案增加enable-ssl3enable-ssl3-method,重新编译openssl,重新安装。mkdirbuildcdbuild.
- 血缘系统 datahub + Sqllineage
CesarChoy
linux大数据
1.说明业界比较主流的数据血缘系统,目前还没能达到与调度系统耦合,最大难点在于代码解析。当某张表下游太多时(特别是维度表),展示也失去了意义,所以多用于排查某张应用表的上游从哪里开。使用方一般为对数仓表结构不太熟悉的业务/数据经理想要了解有哪些数据。2.部署2.1yumyuminstall-yzlib-develbzip2-devel\openssl-develncurses-develepel-
- 从0开始的ios自动化测试
程序员潇潇
软件测试ios功能测试软件测试自动化测试程序人生职场和发展
最近由于工作内容调整,需要开始弄ios自动化了。网上信息有点杂乱,这边我就按我的实际情况,顺便记录下来,看是否能帮到有需要的人。环境准备安装tidevicepip3install-U“tidevice[openssl]”它的作用是,帮你绕开ios必须用mac的xcode启动wda,直接在windows上使用tidevice启动wda就行了(windows电脑需要先安装iTunes)。安装faceb
- 【经验篇】自签名TLS证书生成
目录生成自签名证书使用OpenSSL生成自签名证书生成RSA密钥和自签名证书一步生成自签名证书生成带SAN(SubjectAlternativeName)的证书使用keytool生成自签名证书生成Java密钥库(JKS)格式的自签名证书生成PKCS12格式的自签名证书使用mkcert生成受信任的自签名证书安装mkcert生成受信任的自签名证书使用CloudflareCFSSL生成自签名证书安装CF
- java类加载顺序
3213213333332132
java
package com.demo;
/**
* @Description 类加载顺序
* @author FuJianyong
* 2015-2-6上午11:21:37
*/
public class ClassLoaderSequence {
String s1 = "成员属性";
static String s2 = "
- Hibernate与mybitas的比较
BlueSkator
sqlHibernate框架ibatisorm
第一章 Hibernate与MyBatis
Hibernate 是当前最流行的O/R mapping框架,它出身于sf.net,现在已经成为Jboss的一部分。 Mybatis 是另外一种优秀的O/R mapping框架。目前属于apache的一个子项目。
MyBatis 参考资料官网:http:
- php多维数组排序以及实际工作中的应用
dcj3sjt126com
PHPusortuasort
自定义排序函数返回false或负数意味着第一个参数应该排在第二个参数的前面, 正数或true反之, 0相等usort不保存键名uasort 键名会保存下来uksort 排序是对键名进行的
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8&q
- DOM改变字体大小
周华华
前端
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml&q
- c3p0的配置
g21121
c3p0
c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0的下载地址是:http://sourceforge.net/projects/c3p0/这里可以下载到c3p0最新版本。
以在spring中配置dataSource为例:
<!-- spring加载资源文件 -->
<bean name="prope
- Java获取工程路径的几种方法
510888780
java
第一种:
File f = new File(this.getClass().getResource("/").getPath());
System.out.println(f);
结果:
C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin
获取当前类的所在工程路径;
如果不加“
- 在类Unix系统下实现SSH免密码登录服务器
Harry642
免密ssh
1.客户机
(1)执行ssh-keygen -t rsa -C "
[email protected]"生成公钥,xxx为自定义大email地址
(2)执行scp ~/.ssh/id_rsa.pub root@xxxxxxxxx:/tmp将公钥拷贝到服务器上,xxx为服务器地址
(3)执行cat
- Java新手入门的30个基本概念一
aijuans
javajava 入门新手
在我们学习Java的过程中,掌握其中的基本概念对我们的学习无论是J2SE,J2EE,J2ME都是很重要的,J2SE是Java的基础,所以有必要对其中的基本概念做以归纳,以便大家在以后的学习过程中更好的理解java的精髓,在此我总结了30条基本的概念。 Java概述: 目前Java主要应用于中间件的开发(middleware)---处理客户机于服务器之间的通信技术,早期的实践证明,Java不适合
- Memcached for windows 简单介绍
antlove
javaWebwindowscachememcached
1. 安装memcached server
a. 下载memcached-1.2.6-win32-bin.zip
b. 解压缩,dos 窗口切换到 memcached.exe所在目录,运行memcached.exe -d install
c.启动memcached Server,直接在dos窗口键入 net start "memcached Server&quo
- 数据库对象的视图和索引
百合不是茶
索引oeacle数据库视图
视图
视图是从一个表或视图导出的表,也可以是从多个表或视图导出的表。视图是一个虚表,数据库不对视图所对应的数据进行实际存储,只存储视图的定义,对视图的数据进行操作时,只能将字段定义为视图,不能将具体的数据定义为视图
为什么oracle需要视图;
&
- Mockito(一) --入门篇
bijian1013
持续集成mockito单元测试
Mockito是一个针对Java的mocking框架,它与EasyMock和jMock很相似,但是通过在执行后校验什么已经被调用,它消除了对期望 行为(expectations)的需要。其它的mocking库需要你在执行前记录期望行为(expectations),而这导致了丑陋的初始化代码。
&nb
- 精通Oracle10编程SQL(5)SQL函数
bijian1013
oracle数据库plsql
/*
* SQL函数
*/
--数字函数
--ABS(n):返回数字n的绝对值
declare
v_abs number(6,2);
begin
v_abs:=abs(&no);
dbms_output.put_line('绝对值:'||v_abs);
end;
--ACOS(n):返回数字n的反余弦值,输入值的范围是-1~1,输出值的单位为弧度
- 【Log4j一】Log4j总体介绍
bit1129
log4j
Log4j组件:Logger、Appender、Layout
Log4j核心包含三个组件:logger、appender和layout。这三个组件协作提供日志功能:
日志的输出目标
日志的输出格式
日志的输出级别(是否抑制日志的输出)
logger继承特性
A logger is said to be an ancestor of anothe
- Java IO笔记
白糖_
java
public static void main(String[] args) throws IOException {
//输入流
InputStream in = Test.class.getResourceAsStream("/test");
InputStreamReader isr = new InputStreamReader(in);
Bu
- Docker 监控
ronin47
docker监控
目前项目内部署了docker,于是涉及到关于监控的事情,参考一些经典实例以及一些自己的想法,总结一下思路。 1、关于监控的内容 监控宿主机本身
监控宿主机本身还是比较简单的,同其他服务器监控类似,对cpu、network、io、disk等做通用的检查,这里不再细说。
额外的,因为是docker的
- java-顺时针打印图形
bylijinnan
java
一个画图程序 要求打印出:
1.int i=5;
2.1 2 3 4 5
3.16 17 18 19 6
4.15 24 25 20 7
5.14 23 22 21 8
6.13 12 11 10 9
7.
8.int i=6
9.1 2 3 4 5 6
10.20 21 22 23 24 7
11.19
- 关于iReport汉化版强制使用英文的配置方法
Kai_Ge
iReport汉化英文版
对于那些具有强迫症的工程师来说,软件汉化固然好用,但是汉化不完整却极为头疼,本方法针对iReport汉化不完整的情况,强制使用英文版,方法如下:
在 iReport 安装路径下的 etc/ireport.conf 里增加红色部分启动参数,即可变为英文版。
# ${HOME} will be replaced by user home directory accordin
- [并行计算]论宇宙的可计算性
comsci
并行计算
现在我们知道,一个涡旋系统具有并行计算能力.按照自然运动理论,这个系统也同时具有存储能力,同时具备计算和存储能力的系统,在某种条件下一般都会产生意识......
那么,这种概念让我们推论出一个结论
&nb
- 用OpenGL实现无限循环的coverflow
dai_lm
androidcoverflow
网上找了很久,都是用Gallery实现的,效果不是很满意,结果发现这个用OpenGL实现的,稍微修改了一下源码,实现了无限循环功能
源码地址:
https://github.com/jackfengji/glcoverflow
public class CoverFlowOpenGL extends GLSurfaceView implements
GLSurfaceV
- JAVA数据计算的几个解决方案1
datamachine
javaHibernate计算
老大丢过来的软件跑了10天,摸到点门道,正好跟以前攒的私房有关联,整理存档。
-----------------------------华丽的分割线-------------------------------------
数据计算层是指介于数据存储和应用程序之间,负责计算数据存储层的数据,并将计算结果返回应用程序的层次。J
&nbs
- 简单的用户授权系统,利用给user表添加一个字段标识管理员的方式
dcj3sjt126com
yii
怎么创建一个简单的(非 RBAC)用户授权系统
通过查看论坛,我发现这是一个常见的问题,所以我决定写这篇文章。
本文只包括授权系统.假设你已经知道怎么创建身份验证系统(登录)。 数据库
首先在 user 表创建一个新的字段(integer 类型),字段名 'accessLevel',它定义了用户的访问权限 扩展 CWebUser 类
在配置文件(一般为 protecte
- 未选之路
dcj3sjt126com
诗
作者:罗伯特*费罗斯特
黄色的树林里分出两条路,
可惜我不能同时去涉足,
我在那路口久久伫立,
我向着一条路极目望去,
直到它消失在丛林深处.
但我却选了另外一条路,
它荒草萋萋,十分幽寂;
显得更诱人,更美丽,
虽然在这两条小路上,
都很少留下旅人的足迹.
那天清晨落叶满地,
两条路都未见脚印痕迹.
呵,留下一条路等改日再
- Java处理15位身份证变18位
蕃薯耀
18位身份证变15位15位身份证变18位身份证转换
15位身份证变18位,18位身份证变15位
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 201
- SpringMVC4零配置--应用上下文配置【AppConfig】
hanqunfeng
springmvc4
从spring3.0开始,Spring将JavaConfig整合到核心模块,普通的POJO只需要标注@Configuration注解,就可以成为spring配置类,并通过在方法上标注@Bean注解的方式注入bean。
Xml配置和Java类配置对比如下:
applicationContext-AppConfig.xml
<!-- 激活自动代理功能 参看:
- Android中webview跟JAVASCRIPT中的交互
jackyrong
JavaScripthtmlandroid脚本
在android的应用程序中,可以直接调用webview中的javascript代码,而webview中的javascript代码,也可以去调用ANDROID应用程序(也就是JAVA部分的代码).下面举例说明之:
1 JAVASCRIPT脚本调用android程序
要在webview中,调用addJavascriptInterface(OBJ,int
- 8个最佳Web开发资源推荐
lampcy
编程Web程序员
Web开发对程序员来说是一项较为复杂的工作,程序员需要快速地满足用户需求。如今很多的在线资源可以给程序员提供帮助,比如指导手册、在线课程和一些参考资料,而且这些资源基本都是免费和适合初学者的。无论你是需要选择一门新的编程语言,或是了解最新的标准,还是需要从其他地方找到一些灵感,我们这里为你整理了一些很好的Web开发资源,帮助你更成功地进行Web开发。
这里列出10个最佳Web开发资源,它们都是受
- 架构师之面试------jdk的hashMap实现
nannan408
HashMap
1.前言。
如题。
2.详述。
(1)hashMap算法就是数组链表。数组存放的元素是键值对。jdk通过移位算法(其实也就是简单的加乘算法),如下代码来生成数组下标(生成后indexFor一下就成下标了)。
static int hash(int h)
{
h ^= (h >>> 20) ^ (h >>>
- html禁止清除input文本输入缓存
Rainbow702
html缓存input输入框change
多数浏览器默认会缓存input的值,只有使用ctl+F5强制刷新的才可以清除缓存记录。
如果不想让浏览器缓存input的值,有2种方法:
方法一: 在不想使用缓存的input中添加 autocomplete="off";
<input type="text" autocomplete="off" n
- POJO和JavaBean的区别和联系
tjmljw
POJOjava beans
POJO 和JavaBean是我们常见的两个关键字,一般容易混淆,POJO全称是Plain Ordinary Java Object / Pure Old Java Object,中文可以翻译成:普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO,但是JavaBean则比 POJO复杂很多, Java Bean 是可复用的组件,对 Java Bean 并没有严格的规
- java中单例的五种写法
liuxiaoling
java单例
/**
* 单例模式的五种写法:
* 1、懒汉
* 2、恶汉
* 3、静态内部类
* 4、枚举
* 5、双重校验锁
*/
/**
* 五、 双重校验锁,在当前的内存模型中无效
*/
class LockSingleton
{
private volatile static LockSingleton singleton;
pri