- 面试复盘(北京某小公司)
无所畏惧的man
面经面试职场和发展
北京某小公司一面复盘先和面试官做了自我介绍,然后他问了我的一些基本情况。然后开始问项目问:谈一谈项目中有哪些亮点?我用redis来做验证码的缓存,当用户登录时,刷新得到验证码,验证码会被放到redis当中,key为生成的随机字符串,value即为言验证码内容,在cookie当中也会存储这个字符串,当用户提交表单时,后端会取到cookie的值,然后从reids缓存中根据key取到验证码的值进行判断即
- 计算机设计大赛 行人重识别(person reid) - 机器视觉 深度学习 opencv python
iuerfee
python
文章目录0前言1技术背景2技术介绍3重识别技术实现3.1数据集3.2PersonREID3.2.1算法原理3.2.2算法流程图4实现效果5部分代码6最后0前言优质竞赛项目系列,今天要分享的是深度学习行人重识别(personreid)系统该项目较为新颖,适合作为竞赛课题方向,学长非常推荐!学长这里给一个题目综合评分(每项满分5分)难度系数:3分工作量:3分创新点:5分更多资料,项目分享:https:
- FACEBOOK投资人的创业十条之“直面拒绝”
溪水旁葡萄树
"Followthese10commandmentsandyou’llbeonyourwaytostartupsuccess,lifesuccess,aswellasyourhero’sjourney"-TimFerriss"AlloftheadviceIgiveentrepreneurscomesfromlessonsthatIhavepersonallylearned."-ReidHoffma
- Docker创建Reids容器
会飞的麦兜63
redisdocker容器运维
1.默认拉取Redis最新镜像版本dockerpullredis2.下载redis配置文件https://download.redis.io/releases/3.下载配置文件后手动更改密码,链接时间等信息绑定地址(bind):默认情况下,Redis只会监听localhost上的连接。如果需要从外部访问Redis服务器,需要将该配置项设置为服务器的IP地址或者0.0.0.0,以便允许所有网络接口上
- Cesium插件系列——3dtiles压平
搞GIS图形的sky.
cesiumcesium
本系列为自己基于cesium写的一套插件具体实现。这里是根据Cesium提供的CustomShader来实现的。在CustomShader的vertexShaderText里,需要定义vertexMain函数,例如下:structVertexInput{Attributesattributes;FeatureIdsfeatureIds;Metadatametadata;MetadataClassm
- 懒加载配置在mybatis.xml里
别叫我小新
select*fromBlogwhereid=#{id}image.png这个位置在这里哦
- 体验文心一言AI大模型生成一篇关于OpenAI、Notepad++、WPS、pycharm、git、svn、Webstorm、Chrome、Edge和向日葵客户端的报告
「已注销」
文心一言人工智能notepad++
OpenAI是一家非营利性人工智能研究公司,致力于研究人工智能和其他机器学习技术1。OpenAI由一群科技领袖,包括山姆·阿尔特曼(SamAltman)、彼得·泰尔(PeterThiel)、里德·霍夫曼(ReidHoffman)和埃隆·马斯克(ElonMusk)等人创办于2015年12。OpenAI免费体验OpenAIOpenAI是一个人工智能研究实验室,由营利组织OpenAILP与母公司非营利组
- 为什么要学redis,我来告诉你 ❤️
卢卢在路上
redis数据库memcached高并发
曾经并肩往前的伙伴,在举杯祝福后都走散!一、引言为啥需要redis?没有reids有啥问题?↓1.1数据库压力过大由于用户量增大,请求数量也随之增大,数据压力过大1.2数据不同步多台服务器之间,数据不同步1.3传统锁失效多台服务器之间的锁,已经不存在互斥性了redis如何解决这些问题?↓二、Redis介绍2.1NoSQL介绍Redis就是一款NoSQL。NoSQL->非关系型数据库->NotOnl
- 行人重识别
NineDays66
人工智能
在人的感知系统所获得的信息中,视觉信息大约占到80%~85%。行人重识别(personre-identification)是近几年智能视频分析领域兴起的一项新技术,属于在复杂视频环境下的图像处理和分析范畴,是许多监控和安防应用中的主要任务,并且在计算机视觉领域获得了越来越多的关注。下面我们就仔细来聊聊行人重识别(ReID)。1.什么是行人重识别行人重识别(PersonRe-identificat
- MySQL之单表操作
爱吃柠檬的天天
数据库mysql数据库
MySQL之单表操作文章目录MySQL之单表操作一、单表查询二、单表操作1、复制表结构2、插入数据3、删除数据4、更新数据5、排序6、限量7、分组三、常用函数一、单表查询单表查询的语句为SELECTFROM,同时可以在后面加入WHERE属性进行条件限制。这里以查询学号为123456的全部数据为例。SELECT*FROMstudentWHEREID='123456';除此以外还能对数据进行判断符操作
- Redis主从集群
钗头风
redis数据库缓存
一.架构模式二.资源分布操作系统:Centos7Redis版本:6.2.14IP端口角色192.168.157.1306379master192.168.157.1316379slave1192.168.157.1326379slave2三.流程1.创建三台虚拟机IP及端口如上且安装好Reids说明:安装好Redis的意思是无需额外配置;Redis能正常启动即可2.修改三个redis.conf配置
- MyBatis进阶学习
m0_57408062
mybatis学习java
1.如何复制Maven项目1.复制文件夹,修改名字2.修改.iml文件的名字和文件夹名字一致3.修改.xml中为文件夹名字2.MyBatis增删改查MyBatis三种开发方式①接口代理的开发方式(重点)②使用注解的开发方式(重点)③传统DAO实现类的开发方式(目前淘汰)1.根据id查询注意:#{变量}select*fromuserwhereid=?;?表示占位符,是预编译的效果,不会有SQL注入的
- 1.15 freertos 计数器生产和消费模型
久驻
开发语言
osSemaphoreId_tmyCountingSem01Handle;constosSemaphoreAttr_tmyCountingSem01_attributes={.name="myCountingSem01"};myCountingSem01Handle=osSemaphoreNew(5,0,&myCountingSem01_attributes);voidStartTask02(vo
- MyBatis联表查询时,主查询表的字段怎么统一加别名(通用方案)
晓晓先生
一般来说,MyBatis生成的xmlsql文件中,会有一个Base_Column_List,方便查询时直接引用。如下:selectfromtbl_productwhereid=id可是有时候需要联表查询,这时候如果依然这样写显然是不行的,两个表很可能有许多相同的字段,这时候就需要给查询的字段加上表名:selecttp.id,tp.name,tp....fromtbl_producttpleftjo
- mysql 优化查询in_MySQL中where条件中IN的慢查询优化
weixin_39736047
mysql优化查询in
MySQL中where条件中IN的慢查询优化我们在编写SQL查询语句时,有时候会遇到连表查询的情况,有时的业务场景为,要查询满足某种条件的一系列id的数据。优化方式一:示例:查询出指定时间之后凡是上传过图片的用户所在的镇和镇的管理员名。这种优化方式是另外一个博主那里借鉴过来的。SQL:SELECTDISTINCTuser_name,town_nameFROMt_farmersWHEREidIN(S
- mybatis-plus中自定义SQL分页,关联多表时报未明确定义列
颖之星
1.网上搜了半天都是说什么原因造成的?就是你查找的两张表有重复字段,SQL语句在查找的时候不知道你的字段是取的哪张表里的,就会报未明确定义列。select*fromtableainnerjointablebona.id=b.idwhereid='3';这里,他就不知道你的id字段是取的tablea表,还是tableb表,解决就是在id上添加a或b,看你去哪张表中取字段。select*fromtab
- gorm day5
TOMOT77
数据库golang
gormday5gorm更新删除一条记录删除一条记录时,删除对象需要指定主键,否则会出发批量Delete,例如//Email的ID是`10`db.Delete(&email)//DELETEfromemailswhereid=10;//带额外条件的删除db.Where("name=?","jinzhu").Delete(&email)//DELETEfromemailswhereid=10ANDn
- CentOS7安装Redis3
八戒_媳妇儿
安装redis依赖程序yuminstallgcc-c++安装包上传到/root/目录下cd/root/解压tar-zxvfredis-3.0.7.tar.gz编译将源码翻译为.o文件进入到Redis目录下cd/root/redis-3.0.7执行make命令1.png创建一个安装目录cd/usr/loca/mkdirredis安装reids进入到目录cd/root/redis-3.0.7输入命令m
- 【解决】No Spring Session store is configured: set the ‘spring.session.store-type‘ property
辣个仔
问题解决方案redisspringbootredis
Springboot项目运行时报错:“NoSpringSessionstoreisconfigured:setthe‘spring.session.store-type’property”原因:sessionstoretype是用来设置session的存放方式,现在Springboot中只支持reids存储方式。解决方案:在application.yml或者application.properti
- 一万字详解 Redis Cluster Gossip 协议
爱PSUI设计的星星
RedisClusterGossip协议今天来讲一下ReidsCluster的Gossip协议和集群操作,文章的思维导图如下所示。集群模式和Gossip简介对于数据存储领域,当数据量或者请求流量大到一定程度后,就必然会引入分布式。比如Redis,虽然其单机性能十分优秀,但是因为下列原因时,也不得不引入集群。单机无法保证高可用,需要引入多实例来提供高可用性单机能够提供高达8W左右的QPS,再高的QP
- 动态扩缩容下的全局流水号设计
小强聊it
工作全局id生成
关于全局流水号,业内用的比较多的就是雪花算法,一直没理解在动态扩缩容下其中的workId和datacenterId如何设置,查到了几个方法:reidis中取,待后期实践下。先简单的介绍一下雪花算法,雪花算法生成的Id由:1bit不用+41bit时间戳+10bit工作机器id+12bit序列号,如下图:不用:1bit,因为最高位是符号位,0表示正,1表示负,所以这里固定为0时间戳:41bit,服务上
- MySQL中删除重复数据只保留一条
KengG
DELETEFROMbrand_group_relationWHEREidIN(SELECTidFROM(SELECTidFROMbrand_group_relationWHERE(brand_group_id,brand_value_id)IN(SELECTbrand_group_id,brand_value_idFROMbrand_group_relationGROUPBYbrand_grou
- Mybatis 中$与#的区别
老街老街
1#是将传入的值当做字符串的形式,eg:selectid,name,agefromstudentwhereid=#{id},当前端把id值1,传入到后台的时候,就相当于selectid,name,agefromstudentwhereid='1'.2{id},当前端把id值1,传入到后台的时候,就相当于selectid,name,agefromstudentwhereid=1.3使用#可以很大程度
- MySQL隐式数据转换
jqdywolf
引出考虑如下问题:假设我们在MySQL中存在表test,结构如下:CREATETABLE`test`(`id`bigint(20),`name`varchar(20),PRIMARYKEY(`id`),KEY`ix_name`(`name`));则我们写出如下SQL:select*fromtestwherename=123;select*fromtestwhereid='12';问:此时这两条SQ
- 秒杀系统总结
WeiXiao_Hyy
Javajavaidea
引言本文是https://github.com/qqxx6661/miaosha的学习笔记,欢迎大家学习!一:防止超卖使用version乐观锁→无法卖出全部商品updatestocksale=sale+1,version=version+1,WHEREid=#{id,jdbcType=INTEGER}ANDversion=#{version,jdbcType=INTEGER}二:令牌桶限流+再谈超
- Laravel中怎么轻松输出完整的SQL语句
也许会了
Laravel中轻松容易的输出完整的SQL语句laravel中自带的查询构建方法toSql得到的sql语句并未绑定条件参数,类似于这样select*fromuserswhereid=?,所以写了个扩展包laravel-dump-sql,可以获取完整的sql语句。源码laravel-dump-sql-https://github.com/guanguans/laravel-dump-sql安装$co
- MySQL编程笔记:子查询
MAX在码字
数据库mysql编程学习子查询复杂查询
子查询子查询是指一个查询语句嵌套在另一个查询语句内部的查询。在SELECT子句中先计算子查询,子查询结果作为外层另一个查询的过滤条件。子查询中常用的操作符有ANY、SOME、ALL、EXISTS、IN,也可以使用比较运算符。子查询可以添加到SELECT、UPDATE和DELETE语句中,而且可以进行多层嵌套。在条件表达式中产生标量的子查询SELECT*FROMscoreWHEREid=(SELEC
- Redis -- 安装客户端redis-plus-plus
niceffking
Redisredis数据库缓存
目录访问reids客户端github链接安装git如何安装?下载/编译、安装客户端安装过程中可能遇到的问题访问reids客户端github链接GitHub-sewenew/redis-plus-plus:RedisclientwritteninC++RedisclientwritteninC++.Contributetosewenew/redis-plus-plusdevelopmentbycre
- 跨模态行人重识别:Dynamic Dual-Attentive Aggregation Learningfor Visible-Infrared Person Re-Identification学习笔记
深度学不会习
学习
目录摘要方法模态内加权聚合(IWPA)跨模态图结构化注意力(CGSA)GraphConstructionGraphAttention动态对偶聚合学习试验论文链接:DynamicDual-AttentiveAggregationLearningforVisible-InfraredPersonRe-Identification摘要通过挖掘VI-ReID的模态内部分级和跨模态图级上下文线索,提出了一种新
- 行人重识别(二)跨模态的行人重识别
石头儿啊
行人重识别计算机视觉人工智能
感谢前辈总结的论文列表,为了方便自己以后翻阅,链接搁这儿1.背景在我们现实生活中,可见光条件下的摄像机拍到的图像,往往会包含行人的大部分外观信息,然而现实中并不只需要在可视条件极佳的条件下进行监控,在夜晚或者可视条件极差的场景中也有监控的需要,这个时候,红外相机拍摄的图像便可用于行人的再识别。据我所知,现阶段大部分ReID工作都聚焦在RGB图像这种单一模态上,而基于RGB-IR的跨模态ReID工作
- 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