实现一个算法,确定一个字符串s的所有字符是否全都不同。示例1:输入:s="leetcode"输出:false示例2:输入:s="abc"输出:true限制:0<=len(s)<=100如果你不使用额外的数据结构,会很加分。classSolution{public:boolisUnique(stringastr){intcnt[1000]={0};for(inti=0;i
阿里最全面试116题整理
数据存储张
程序人生数据库使用与原理解析零基础linux入门到精通C\C++入门到精通面试题java阿里
阿里天猫、蚂蚁金服、阿里巴巴面试题整理,可以作为参考。1.junit用法,before,beforeClass,after,afterClass的执行顺序2.分布式锁3.nginx的请求转发算法,如何配置根据权重转发4.用hashmap实现redis有什么问题(死锁,死循环,可用ConcurrentHashmap)5.线程的状态5.线程的阻塞的方式6.sleep和wait的区别7.hashmap的
面试经典150题——图
Ghost_firejef
面试经典150题面试职场和发展
文章目录1、岛屿数量1.1题目链接1.2题目描述1.3解题代码1.4解题思路2、被围绕的区域2.1题目链接2.2题目描述2.3解题代码2.4解题思路3、克隆图3.1题目链接3.2题目描述3.3解题代码3.4解题思路4、除法求值4.1题目链接4.2题目描述4.3解题代码4.4解题思路5、课程表5.1题目链接5.2题目描述5.3解题代码5.4解题思路6、课程表II6.1题目链接6.2题目描述6.3解题
面试经典150题——二叉树层次遍历
Ghost_firejef
面试经典150题面试职场和发展
文章目录1、二叉树的右视图1.1题目链接1.2题目描述1.3解题代码1.4解题思路2、二叉树的层平均值2.1题目链接2.2题目描述2.3解题代码2.4解题思路3、二叉树的层序遍历3.1题目链接3.2题目描述3.3解题代码3.4解题思路4、二叉树的锯齿形层序遍历4.1题目链接4.2题目描述4.3解题代码4.4解题思路1、二叉树的右视图1.1题目链接点击跳转到题目位置1.2题目描述给定一个二叉树的根节
面试经典150题——二叉搜索树
Ghost_firejef
面试经典150题面试职场和发展数据结构
文章目录1、二叉搜索树的最小绝对差1.1题目链接1.2题目描述1.3解题代码1.4解题思路2、二叉搜索树中第K小的元素2.1题目链接2.2题目描述2.3解题代码2.4解题思路3、验证二叉搜索树3.1题目链接3.2题目描述3.3解题代码3.4解题思路1、二叉搜索树的最小绝对差1.1题目链接点击跳转到题目位置1.2题目描述给你一个二叉搜索树的根节点root,返回树中任意两不同节点值之间的最小差值。差值
【1】阿里面试题整理
独自破碎E
Java面经c#javakafkamybatishash
[1].Kafka如何保证数据一致性?Kafka主要通过副本机制、ISR机制、持久化机制以及事务机制等多种方式共同保证了数据的一致性。副本机制是Kafka确保数据一致性的基础,使用ISR(In-SyncReplica)机制来处理副本之间的同步,将消息持久化到硬盘中,以确保消息在发生故障时不会丢失。引入事务机制来支持事务性消息,确保消息的原子性、一致性、隔离性和持久性,从而保证数据在生产和消费过程中
高级java每日一道面试题-2025年01月24日-框架篇[SpringMVC篇]-SpringMVC常用的注解有哪些?
java我跟你拼了
java每日一道面试题javaSpringMVC常用的注解
如果有遗漏,评论区告诉我进行补充面试官:SpringMVC常用的注解有哪些?我回答:一、核心注解详解1.@Controller作用:将一个普通的Java类标记为处理请求的控制器。应用场景:在SpringMVC中起到了路由请求和处理业务逻辑的作用,并注册为Spring容器的Bean。使用方式:通过组件扫描或显式配置等方式,让Spring能够自动检测到这个控制器并进行实例化和管理。@Controlle
力扣面试题 01.01. 判定字符是否唯一
youwhua
力扣面试题
力扣面试题01.01.判定字符是否唯一实现一个算法,确定一个字符串s的所有字符是否全都不同。1.题目要求2.解题思路3.代码实现4.总结实现一个算法,确定一个字符串s的所有字符是否全都不同。1.题目要求示例1:输入:s=“leetcode”输出:false示例2:输入:s=“abc”输出:true限制:0<=len(s)<=100如果你不使用额外的数据结构,会很加分。2.解题思路1.在不使用其他数
力扣:面试题 01.01. 判定字符是否唯一
看了个寂寞
算法leetcode
题目实现一个算法,确定一个字符串s的所有字符是否全都不同。示例1:输入:s="leetcode"输出:false示例2:输入:s="abc"输出:true参考https://leetcode-cn.com/problems/is-unique-lcci/solution/shu-zu-wei-yun-suan-deng-6chong-jie-jue-fang-shi-b/https://leetc
拼多多面试题——算法实习生
fpga和matlab
★求职2:大厂笔试面试总结算法计算机视觉人工智能拼多多面试拼多多笔试
目录算法面试概述1.手写快速排序算法2.手写归并排序算法3.手写单链表反转算法4.手写二分查找算法5.手写KMP算法6.手写堆排序算法7.手写动态规划算法8.手写深度优先搜索算法9.手写广度优先搜索算法10.手写Dijkstra算法面试案例1一面二面hr面面试案例2一面二面算法面试概述拼多多是一家中国知名的电商平台,拥有庞大的用户群体和丰富的产品线。为了保持平台的竞争力,拼多多需要不断优化自身的算
Leetcode 面试题 01.01. 判定字符是否唯一 c#
LiCcCcCcccCcc
Leetcode算法c#字符串leetcode算法哈希表c#
题目:实现一个算法,确定一个字符串s的所有字符是否全都不同。示例1:输入:s=“leetcode”输出:false示例2:输入:s=“abc”输出:true//运用HashSet的属性来判断,如果有重复肯定和原来字符串长度不一样,HashSeta=newHashSet();for(<
# 面试题 01.01 判定字符是否唯一
sdlkjaljafdg
LeetCode刷题
实现一个算法,确定一个字符串是否唯一示例1:输入:s="leetcode"输出:false示例2:输入:s="abc"输出:true限制:0#include#includetypedefintbool;#definefalse0#definetrue1boolisUnique(char*astr){char*q=astr;while(*astr!='\0'){char*p=q;while(*p!=
【2】阿里面试题整理
独自破碎E
Java面经网络java网络协议httptcp/ip
[1].说一下Java与C++的区别。Java和C++是两种在软件开发领域应用非常广泛的语言,但它们的设计理念和应用场景有所不同。Java是一种基于JVM的解释型语言,具有跨平台性,使用自动垃圾回收机制,这使得开发者可以更专注于业务逻辑,而不需要处理底层的内存管理细节。C++则是一种编译型语言,直接编译成机器码,因此在性能方面具有显著优势。C++支持指针和手动内存管理,开发者可以更精细地控制硬件资
Python报错:PermissionError: [Errno 13] Permission denied解决方案详解
:642
python开发语言
写项目时候出现了PermissionError:[Errno13]Permissiondenied:'C:\\Users\\lenovo\\AppData\\Local\\Temp\\tmpjbuaiz4w.wav'错误,测试了一下发现是项目中音频的错误,下方是测试代码frompydubimportAudioSegmentfrompydub.playbackimportplayaudio=Audi
笔记day4
子非鱼921
Vue项目实战(尚品汇)笔记vue
文章目录1复习2开发Search模块中的TypeNav商品分类菜单(过渡动画效果)3商品分类三级列表可以进行优化4合并params与query参数5开发Home首页中的ListContainer组件与Floor组件6swiper1复习商品分类的三级列表由静态变为动态形式【获取服务器数据:解决代理跨域问题】函数防抖与节流【面试频率很高】路由跳转:声明式导航(router-link)、编程式导航【编程
考公必知!中国古代文化常识大汇总
张小小大智慧
行测
考公人们都知道,行测常识判断里,中国古代文化常识可是常考内容。这些知识点不仅能帮你在笔试中多拿分,在面试时也能让你脱颖而出,展现深厚的文化底蕴。今天就来给大家系统梳理一下,建议点赞收藏,方便随时复习!一、中国古代艺术书法从殷商甲骨文开始,中国书法就踏上了它的历史征程。甲骨文刻在龟甲兽骨上,笔画刚硬,是古人占卜记事的载体。到了商周,金文盛行,铸刻在青铜器上,线条圆润,结构规整,庄重感十足。春秋战国时
考公必学!趣味生物知识大集合
张小小大智慧
行测行测
考公必学!趣味生物知识大集合考公人们,化学知识刚消化完,现在咱们一头扎进生物知识的奇妙世界!生物知识在考公常识里也是常客,不管是笔试还是面试,掌握这些内容都能让你脱颖而出。废话不多说,马上开启这场生物探秘之旅!三、生物知识:生命奥秘大起底(一)人体结构:身体里的“超级工厂”人体九大系统:人体就像一座超复杂又精密的“超级工厂”,每个系统都是这个工厂里不可或缺的“小部门”,各自有着独特的分工,又紧密协
对抗训练对模型性能有何影响?
借雨醉东风
热点追踪人工智能机器学习深度学习
关注我,持续分享逻辑思维&管理思维&面试题;可提供大厂面试辅导、及定制化求职/在职/管理/架构辅导;推荐专栏《10天学会使用asp.net编程AI大模型》,目前已完成所有内容。一顿烧烤不到的费用,让人能紧跟时代的浪潮。从普通网站,到公众号、小程序,再到AI大模型网站。干货满满。学成后可接项目赚外快,绝对划算。不仅学会如何编程,还将学会如何将AI技术应用到实际问题中,为您的职业生涯增添一笔宝贵的财富
经典SQL面试10题(附答案)
智慧化智能化数字化方案
sql
一、提要作为一名数据工作人员,SQL是日常工作中最常用的数据提取&简单预处理语言。因为其使用的广泛性和易学程度也被其他岗位比如产品经理、研发广泛学习使用,本篇文章主要结合经典面试题,给出通过数据开发面试的SQL方法与实战。以下题目均来与笔者经历&网上分享的中高难度SQL题。二、解题思路简单——会考察一些groupby&limit之类的用法,或者平时用的不多的函数比如rand()类;会涉及到一些表之
分享求职时遇到的一道面试题
C7211BA
面试CV机器学习深度学习项目
测试题如下:百度的旋转认证码识别注意,完成后qq远程或者微信视频或者向日葵远程看结果一、准备:看看下面测试网址是否能正常打开https://wappass.baidu.com/static/captcha/tuxing.html?&logid=11395969898338055067&ak=248b24c134a6b4f52ee85f8b9577d4a8&backurl=https%3A%2F%2
大三学生实习面试经历(1)
无限大.
面试杂谈面试pythonwindows
最近听了一位学长的建议,不能等一切都准备好再去开始,于是就开始了简历投递,恰好简历过了某小厂的初筛,开启了线上面试,记录了一些问题:(通过面试也确实了解到了自己在某些方面确实做的还不够充分,需要继续努力)1.思维题毒蘑菇现在有1011种蘑菇,其中1种是毒蘑菇。人一旦吃了微量的毒蘑菇,就会在72小时后发作身亡。现在用松鼠做试验,从开始喂松鼠计时,要在72小时后马上找出毒蘑菇,问最少需要多少只松鼠?(
看完就懂-SpringSecurity+JWT 实现单点登录
张可为
架构设计与解决方案springbootjwtsso单点登录分布式
个人公众号::✨✨可为编程✨✨个人信条:为与不为皆为可为本篇简介:本片详细说明了SpringSecurity+JWT实现单点登录操作规则和注意要点,并给出具体操作实例,如有出入还望指正。关注公众号【可为编程】回复【面试】领取2023年最新面试题!!!SpringSecurity+JWT实现单点登录一、什么是单点登陆二、简单的运行机制用户认证身份校验三、JWT介绍四、非对称加密RSA介绍五、Spri
生产环境WAS产生javacore、dmp、dump文件分析
bubble小拾
1024程序员节java运维
目录一、分析工具二、Java转储(Javadump)Java转储内容(Javadumpcontents)标题(TITLE)GP信息(GPINFO)环境信息(ENVINFO)本地内存信息(NATIVEMEMINFO)内存信息(MEMINFO)锁(LOCKS)线程(THREADS)钩子(HOOKS)共享类(SHAREDCLASSES)类(CLASSES)场景(Scenarios)一般保护故障(Gene
微信小程序压缩图片
Goat恶霸詹姆斯
微信小程序小程序
由于wx.compressImage(Objectobject)iOS仅支持压缩JPG格式图片。所以我们需要做一下特殊的处理:1.获取文件,判断文件是否大于设定的大小2.如果大于则使用canvas进行绘制,并生成新的图片路径3.上传图片asyncchooseImage(){letres=awaitwx.chooseMedia({count:1,sizeType:["compressed"],med
2024 java面试题
TPBoreas
#Java面试开发语言后端
目录JAVA初级请简述你对MVC模式的理解SpringBean的生命周期可以分为以下几步:Spring自动装配bean有哪些方式?说一下类的加载过程?在使用HashMap的时候,用String做key有什么好处?HashMap、LinkedHashMap、TreeMap的区别?this与super之间有什么区别?乐观锁和悲观锁的实现是怎么样的?==与equals的区别Final在java中有什么作
Kivy基础教程
PoolPoolIsTryingHard
python开发语言
文章目录一、Kivy是什么?二、安装kivy1.安装kivy2.第一个kivy界面hello,kivy!二,Label三,Button四,Spinbox五,TextInput一、Kivy是什么?Tkinter是Python的图形用户界面(GUI)模块,您可以使用Python制作桌面应用程序。您可以制作窗口、按钮、显示文本和图像等。你也可以用kivy开发Android应用,或者用于iOS开发。二、安
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