- unblock with ‘mysqladmin flush-hosts‘ 解决方法
祈祷平安,加油
数据库常见问题oracle数据库
MySqlHostisblockedbecauseofmanyconnectionerrors;unblockwith'mysqladminflush-hosts'解决方法环境:linux,mysql5.5.21错误:Hostisblockedbecauseofmanyconnectionerrors;unblockwith'mysqladminflush-hosts'原因:同一个ip在短时间内产
- springboot集成logback-spring.xml文件
RT_0114
SpringBootspringbootspringlogback
彩色日志日志分debug和error文件输出,方便开发人员运维日志限制最大保管天数日志限制总量大小占用量GB日志限制单个文件大小MB日志显示最大保留天数屏蔽没用的日志${CONSOLE_LOG_PATTERN}${log.path}/debug.log${log.path}/%d{yyyy-MM-dd,aux}/debug.%d{yyyy-MM-dd}.%i.log.gz1024MB50GB365
- 用XMLHttpRequest发送和接收JSON数据
潭池先生
jsonXMLHttpRequest前端
百度的AI回答了一个案例:varxhr=newXMLHttpRequest();varurl="your_endpoint_url";//替换为你的API端点vardata=JSON.stringify({key1:"value1",key2:"value2"});xhr.open("POST",url,true);xhr.setRequestHeader("Content-Type","appl
- Golang标准库fmt深入解析与应用技巧
walkskyer
golang标准库golangjava数据库
Golang标准库fmt深入解析与应用技巧前言fmt包的基本使用打印与格式化输出函数Print系列函数格式化字符串格式化输入函数小结字符串格式化基本类型的格式化输出自定义类型的格式化输出控制格式化输出的宽度和精度小结错误处理与fmt使用fmt.Errorf生成错误信息fmt包与错误处理的最佳实践小结日志记录与fmtfmt包在日志记录中的应用结合log包使用fmt进行高级日志处理小结fmt与IOfm
- python转码
Desamond
python开发语言
转码在许多场景中都有应用,以下是一些常见的场景:网页开发:当用户在网页上输入文本时,可能需要将特殊字符(如空格、引号、特殊符号等)进行转码,以防止这些字符对URL或HTML代码产生干扰。文件名处理:在处理文件名时,可能需要将特殊字符进行转码,以避免文件名被错误地解析或显示。数据传输:在数据传输过程中,为了确保数据的完整性和正确性,可能需要将数据中的特殊字符进行转码。数据存储:在数据库或数据存储中,
- go-zero处理本地事务
年少~年
golanggolang后端
go-zero处理本地事务,sqlx.SqlConn提供了基础的事务机制,官方代码varconnsqlx.SqlConnerr:=conn.TransactCtx(context.Background(),func(ctxcontext.Context,sessionsqlx.Session)error{r,err:=session.ExecCtx(ctx,"insertintouser(id,n
- Python+Requests模拟发送GET请求
爱学习的执念
自动化测试软件测试技术分享python开发语言
模拟发送GET请求前置条件:导入requests库一、发送不带参数的get请求代码如下:以百度首页为例importrequests#发送get请求response=requests.get(url="http://www.baidu.com")print(response.content.decode("utf-8"))#以utf-8的编码输出内容二、发送带参数的get请求发送带参数的get请求有
- 电商打单ERP必备API列表-API调用指南
懂电商API接口的Jennifer
淘宝API接口springjava后端爬虫数据挖掘网络爬虫
1、打开淘宝开放平台API文档,查看API参数。2、选择需要的API,进行测试对接。注册账号获取APIkey3、进入API测试页,开始测试taobao.customcustom-自定义API操作公共参数名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括在请求地址中)[item_sear
- php 快速入门(六)
王依硕
PHPphp开发语言
一、前后台交互1.1$_GET用来获取浏览器通过GET方法提交的数据GET方法它是通过把参数数据加在提交表单的action属性所指的URL中,值和表单内每个字段一一对应,然后在URL中可以看到,但是有如下缺点1.安全性不好,在URL中可以看得到2.传送数据量较小,不能大于2KB1.2$_POST用来获取浏览器通过POST方法提交的数据。POST方法它是通过HTTPPOST机制,将表单的各个字段放置
- 【Python】成功解决ModuleNotFoundError: No module named ‘torchinfo‘
高斯小哥
BUG解决方案合集pythonpytorch新手入门学习debug
【Python】成功解决ModuleNotFoundError:Nomodulenamed‘torchinfo’个人主页:高斯小哥高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程希望得到您的订阅和支持~创作高质量博文(平均质量分92+),分享更多关于深度学习、PyTorch、Python领域的优质内容!(希望得到您的关注~)文
- opencv “未声明的标识符:SurfFeatureDetector”问题解决办法
adsdriver
Opencv学习点滴opencv特征点检测未声明的标识符SurfFeaturDetector
在VS中使用opencv2.4.X版本的时候,如果使用SurfFeatureDetector(或者SiftFeatureDetector)做特征点检测的时候,按照官方文档上的示例代码include头文件为:opencv2/features2d/features2d.hpp,则会出现如下报错:errorC2065:“SurfFeatureDetector”:未声明的标识符。1、实际上2.4.X版本的
- git删除之前所有的commit信息
fightingwy
gitgithub
拉取代码gitclone-bmasterurlgitcheckout--orphanorphan创建一个无父节点的branchgitmerge合并主分支的目前在孤儿分支上接着gitadd.gitcommit-m“xxx”gitswitchmastergitreset--hardorphan将masterreset到跟new一样的位置gitpush--force-with-leaseoriginma
- Websocket服务监听收发消息
beiback
Java服务器问题websocket网络协议网络
目录1.pom依赖坐标2.项目配置端口和项目包名2.创建处理器3.注册处理器4.前端页面1.pom依赖坐标org.springframework.bootspring-boot-starter-websocket2.项目配置端口和项目包名application.propertiesserver.port=8088//路径规范:为应用的所有servlet提供一个统一的前缀,使URL结构更加清晰和一致
- python在ui自动化中的一些常见用法
loveyena
http://cn.python-requests.org/zh_CN/latest可以查看requests库的说明,pprint(res.json(),width=30)可以对请求的返回值按照json格式化形式进行打印。常见的content-type有application/x-www-form-urlencoded、application/json、application/xml。自动化测试操
- IndexError: string index out of range什么原因?怎样解决?
2301_79698214
数据库
这个错误通常是由于尝试访问字符串中不存在的索引或超出了字符串的长度导致的。要解决此问题,可以采取以下步骤:检查你的索引是不是超出字符串的范围。确保索引从0开始,并且不超过字符串长度减1。确保字符串不是空的。如果字符串是空的,尝试访问索引将引发此错误。如果你使用了循环,确保循环条件适当。循环应该在正确的范围内进行迭代,以避免引发索引错误。如果你在访问字符串索引之前对字符串进行了修改(例如剪切、连接或
- pp.task.task_del 任务-删除
小二郎_Ejun
URLpp.task.task_del请求方式POST请求参数参数名类型必填说明token[string]是无task_id[string]是任务id返回结果参数说明参数名类型必含说明status[int]是返回数据状态1:成功,0:失败msg[string]是返回提示信息data[json]是结果对象包括下述字段:{"status":1,"data":"","msg":"成功"}
- Webpack打包
爱敲代码小黑
webpack前端node.js
Webpack打包目录Webpack打包打包图片资源模块类型(**assetmoduletype**)url-loader的limit效果打包图片我们当前使用的webpack版本是webpack5:在webpack5之前,加载这些资源我们需要使用一些loader,比如raw-loader、url-loader、file-loader;在webpack5开始,我们可以直接使用资源模块类型(ass
- 解决sqlalchemy执行语句提示Not an executable object
娜年花开666
#Pythonandroid
问题:fromsqlalchemyimportcreate_engine#数据库的变量HOST='127.0.0.1'PORT=3306DATA_BASE='itbz'USER='root'PWD='123456'#DB_URL=f'数据库的名+驱动名://{USER}:{PWD}@{HOST}:{PORT}/{DATA_BASE}'DB_URL=f'mysql+pymysql://{USER}:
- idea中常见快捷键及插件操作
程序员老石
intellij-ideajavaide
1、双击shift【万能】(1)输入pull,回车可以更新代码(2)输入commit,回车可以提交代码(3)输入history,可以查看提交记录(4)输入break,回车可以查看所有断点(5)输入类名,方法名,url地址都可以检索到2、安装EasyJavadoc插件(1)在方法上ctrl+\,自动生成方法的注释信息;(2)在类上ctrl+shift+\,自动生成类相关的注释信息3、安装Mybati
- git切换分支时,如何保存当前分支的修改(暂时不想提交)
旅行者xy
有时候我们在一个分支中修改了部分文件,这时候,有个新的紧急任务,需要马上修改。一个好的想法是切换到一个新的分支,在新的分支上进行修改提交。可是这时候你使用gitcheckoutnew_branch时会提示错误信息:*error:Yourlocalchangestothefollowingfileswouldbeoverwrittenbycheckout:config/database.phpPle
- Reviewing a fastq_mergepairs report to check for problems 信息搬运
代号北极能
信息来源https://www.drive5.com/usearch/manual/merge_report.htmlBelowisanexamplereportproducedbythe-reportoptionoffastq_mergepairs.Thisinformationisalsoshownontheterminal(standarderroroutputstream).Theopti
- 2021-11-13
cd93761a1cef
本文并不完全遵循原文翻译,对部分内容自己也做了解释补充。Narrowing试想我们有这样一个函数,函数名为padLeft:functionpadLeft(padding:number|string,input:string):string{thrownewError("Notimplementedyet!");}该函数实现的功能是:如果参数padding是一个数字,我们就在input前面添加同等数
- mac 安装 mongoDB的若干坑 --原mac bash环境中和(item2 + oh-my-zsh 环境中)安装mongo
Kurtice
mac安装mongoDB的若干坑--原macbash环境中和(item2+oh-my-zsh环境中)安装mongo本文链接:https://blog.csdn.net/weixin_38080573/article/details/88817869imageMongoDBmac安装mongoDB有挺多种方式,操作的过程中有一些坑,记录下来,供参考。这里采用的是curl的方式来安装。1、安装先打开m
- XML语言的学习记录5- XSD
time
前端项目xml学习前端
XSD(XMLSchemaDefinition),定义XML文档的合法构建模块,分为简易元素(仅包含文本的元素,不会包含任何其他的元素或属性)和复合元素(包含其他元素及/或属性的XML元素)。1.内建的数据类型:xs:stringxs:decimalxs:integerxs:booleanxs:datexs:time2.示例:“xs:”XSD命名控件前缀;xmlns:xs="url"指定XMLSc
- 关于uniapp上使用websocket在H5能用,在真机不能用的问题
木公176
uni-appwebsocket网络协议
不要用本地电脑开的websocket来连接,真机(手机端)连不到本地websocket。uni.connectSocket({url:'ws://localhost:3000/chat'});解决办法:部署到服务器上面,用一个公网的websocket地址,真机上面可以正常使用。部署到服务器的时候记得开放3000端口,不然也不行。uni.connectSocket({url:'ws://8.13X.
- 解释 RESTful API,以及如何使用它构建 web 应用程序
Snailmi
java
RESTfulAPI是一种基于HTTP协议的软件架构风格,用于构建可伸缩和可扩展的网络服务。它通常用于构建Web应用程序和移动应用程序。RESTfulAPI遵循一组约定,以实现资源的标识、状态和操作的分离。它使用HTTP方法(GET、POST、PUT、DELETE等)来表示不同的操作,并使用URL来标识资源。数据通常以JSON或XML格式进行传输。使用RESTfulAPI构建Web应用程序的过程如
- 浅谈前端路由history和hash的理解
怂怂敲代码
前端哈希算法算法
hash和history在前端面试中是很常考的一道题目,可能很多人对于history和hash的理解差异性就是,他们两者的url字段一个没有#号一个有#号,但是有没有想过为什么这样呢,有无#号又有什么差异呢,这篇文章谈一谈我对前端路由history和hash的理解。hash和history都可以用于前后端分离项目,且两者有各自的特点和各自的使用场景。一、前端路由原理1、SPASPA,即单页面应用(
- vue项目报错,npm install 报错
m87里的光
vue.jsnpm前端
1.报错问题:npmERR!cb()nevercalled!npmERR!Thisisanerrorwithnpmitself.Pleasereportthiserrorat:npmERR!9npmERR!Acompletelogofthisruncanbefoundin:npmERR!C:\Users\AdministratorAppDataRoamingnpm-cachelogs2020-12
- uniapp:wx.switchTab: url 不支持 queryString
你的代码我的心
uni-app
场景:从首页跳到列表页,并将参数传过去,用于搜索,而首页和列表页都是tabbar页面,添加query参数时无法获取,也⚠️;怎么办?方案一:vuex方案二:pinia上面两种代码自行处理,下面提供一种更为简单的方案方案三:使用ref或是reative配合watchEffect【推荐】在相同目录创建一个data.ts/***搜索参数*/exportconstparams=reactive({city
- 常见HTTP状态码总结
Gv_ee
http网络协议网络
常见HTTP状态码总结2XX表示请求被正常处理了3XX表示浏览器需要执行某些特殊处理来正确处理请求4XX表示客户端错误5XX表示服务器本身出现错误2XX表示请求被正常处理了200:正常返回204:请求成功,但是没有数据返回206:表示客户端进行了范围请求,服务器执行了这部分的请求3XX表示浏览器需要执行某些特殊处理来正确处理请求301:永久重定向,表明请求得资源已经分配了新的URL,以后使用新的U
- 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