- information_schema.processlist 表详解
坚定的小辣鸡在努力
其他MySQLmysqlprocesslist
information_schema.processlist表(或SHOWPROCESSLIST;命令)用于查看MySQL当前所有的连接进程,帮助管理员监控数据库活动并排查性能问题。以下是该表的字段及其具体含义:information_schema.processlist字段详解字段名数据类型含义示例IDBIGINT连接的唯一ID(线程ID)12345USERVARCHAR连接的MySQL用户ro
- 芯片中常见的缩写
yyc_audio
其他嵌入式硬件
IC(integratedcircuit):集成电路ASP(applicationspecificprocessor):在特定应用领域使用的DSPSDRAM(SynchronousDynamicRandomAccessMemory):同步动态随机存取存储器DDR(DoubleDataRateSDRAM):双倍速率同步动态随机存储器(内存的一种)DMA(DirectMemoryAccess):直接存
- 《Operating System Concepts》阅读笔记:p125-p146
操作系统
《OperatingSystemConcepts》学习第14天,p125-p146总结,总计20页。一、技术总结1.IPC(InterprocessesComunicating)(1)sharedmemory(2)messagepassing2.primitive(1)语言中的primitiveprimitive:primus("first",参考prime)+-itive(asuffixthat
- Windows 系统下,使用 PyTorch 的 DataLoader 时,如果 num_workers 参数设置为大于 0 的值,报错
张三不嚣张
pytorch人工智能python
在Windows系统下,使用PyTorch的DataLoader时,如果num_workers参数设置为大于0的值,可能会遇到以下错误:RuntimeError:Anattempthasbeenmadetostartanewprocessbeforethecurrentprocesshasfinisheditsbootstrappingphase.Thisprobablymeansthatyoua
- 关于Activiti工作流框架的多种使用维度
奕辰杰
springjava工作流Activiti
activiti是个开源免费的工作流程框架,遵循BPMN2(BusinessProcessModelingNotation-BPMN业务流程模型注解)的规范,其简约思想的设计使得activiti非常轻量级,数据库层使用MyBatis,并且能与Spring完美的集成。在笔者遇到的公司实际运用项目中,对Activiti工作流框架的使用方式,总共有三种:(1)常规的使用。通过Ideal、Eclipse等
- 探秘分布式图处理利器——PHOEBUS
杭臣磊Sibley
探秘分布式图处理利器——PHOEBUSphoebusPhoebusisadistributedframeworkforlargescalegraphprocessingwritteninErlang.项目地址:https://gitcode.com/gh_mirrors/ph/phoebus项目简介PHOEBUS是一个基于Erlang的开源项目,专为处理大规模图形数据而设计。它巧妙地实现了Goog
- Gallery2 视频静音功能 闪退 exposed beyond app through Intent.getData()
wxx2150
BUGandroidgallerymutecrash
具体的错误log如下---------beginningofcrash03-2219:19:17.950E/AndroidRuntime(5809):FATALEXCEPTION:main03-2219:19:17.950E/AndroidRuntime(5809):Process:com.android.gallery3d,PID:580903-2219:19:17.950E/AndroidRu
- Hologres 介绍
黄毛火烧雪下
数据分析
Hologres是阿里云提供的一款实时数据分析平台,它结合了数据仓库(DataWarehouse)和流式计算(StreamProcessing)的优势,专为大规模数据分析和实时数据处理而设计。Hologres基于PostgreSQL构建,提供了高性能的查询处理、强大的数据分析能力,并能够支持海量数据的实时分析。一、Hologres的核心特点和功能:1、基于PostgreSQL构建:Hologres
- 基于“桌面云+RPA”技术金融应用实施建议
风来泊
银行信息系统架构详解rpa金融
近年来,国家政策对金融科技的发展给予了高度重视。“十四五”规划和2035年远景目标纲要明确提出,要加快数字化发展,建设数字中国,并特别强调要加强金融科技应用,推动金融机构数字化转型。在这场数字化转型的浪潮中,企业正面临着前所未有的挑战与机遇,如何高效地优化业务流程、降低运营成本、提升工作效率,成为提升企业生产力的重要课题。基于此背景下,RPA(RoboticProcessAutomation,机器
- flash_attn安装出现的错误及本地安装package
flow_code
人工智能深度学习经验分享
前言flash_attn安装包是在大模型的建立过程中是一个非常重要的package,但是直接使用命令行安装会出现报错。1.报错直接安装:pipinstallflash_attn错误:Buildingwheelsforcollectedpackages:flash_attnBuildingwheelforflash_attn(setup.py)…errorerror:subprocess-exite
- python提取PDF文件
小木可菜鸟测试一枚
pythonpython开发语言
一、1importosimportpdfplumberfromcommon.logimportLogfromcommon.data_processimportFileOperatefromcommon.config_readerimportConfigReaderimportdatetimeclassBaseMethod:def__init__(self):self.log=Log()self.f
- Python进阶:详解`**kwargs`的底层原理与实战技巧,5大常见错误及解决方案
燃灯工作室
Pythonpython服务器linux
正文内容一、核心概念剖析定义:**kwargs是Python中用于接收任意数量关键字参数的特殊语法,将参数收集到字典对象中核心目的:增强函数参数处理的灵活性支持动态参数传递实现优雅的API设计基本语法:deffunction_name(**kwargs):#函数体二、语法规则详解1.标准使用范式defprocess_data(name,age=25,**info):print(f"Name:{na
- 杭州电子科技大学 online judge 1000 题 A + B Problem(蒟蒻勿喷)
深海2号
杭电OJc++
题目描述ProblemDescription:CalculateA+B.Input:EachlinewillcontaintwointegersAandB.Processtoendoffile.Output:Foreachcase,outputA+Binoneline.大致意思就是:不断输入A和B,输出它们的和。思路首先,题目要求不断输入A和B,但没有给出组数!!!!所以最好是用while函数判断
- GCC 和 G++的基本使用
cuber膜拜
汇编gnuc++
GCC和G++命令GCC和G++命令GCC(GNUC编译器)基本用法常用选项示例G++(GNUC++编译器)基本用法常用选项示例GCC与G++的区别选择使用GCC还是G++C++编译流程1.预处理(Preprocessing)2.编译(Compilation)3.汇编(Assembly)4.链接(Linking)综合示例头文件搜索路径1.引号包含的头文件(`"add.h"`)搜索路径示例2.尖括号
- linux命令.pdf,linux命令大全完整版.pdf
gjbgyuhg
linux命令.pdf
linux命令大全完整版Linux命令大全完整版目录目录I1.linux系统管理命令1adduser1chfn(changefingerinformation)1chsh(changeshell)1date2exit3finger4free5fwhois5gitps(gnuinteractivetoolsprocessstatus)5groupdel(groupdelete)6groupmod(g
- CellWriteHandler is an interface in EasyExcel, a popular Java library for reading and writing Excel
hshpy
excel
CellWriteHandlerisaninterfaceinEasyExcel,apopularJavalibraryforreadingandwritingExcelfiles.ItisusedtocustomizehowdataiswrittentocellsduringtheExcelexportprocess.PurposeItallowsdeveloperstomodifycellva
- Debezium日常分享系列之:Debezium 3.1.0.Alpha2发布
快乐骑行^_^
日常分享专栏Debezium日常分享系列Debezium3.1.0.Alpha2发布
Debezium日常分享系列之:Debezium3.1.0.Alpha2发布模式历史配置默认值的变更可能的Vitess数据丢失Oracle的ReselectColumnsPostProcessor行为变更Reselect列后处理器的错误处理模式TinyGoWASM数据类型改进Debezium平台转换UI中的谓词支持Debezium平台的每日构建容器镜像可用新的OracleLogMinerJMX指标
- 替换进程的应用场景
嵌入式园姐
linux替换进程linux
替换进程(ProcessReplacement)通常在以下场景中使用:1.程序更新场景:更新正在运行的程序。举例:操作系统或服务端应用需要在不中断服务的情况下更新,通过替换进程实现新版本替换旧版本。2.热修复场景:修复运行中程序的漏洞或错误。举例:服务器发现安全漏洞,通过替换进程应用补丁,无需重启。3.动态加载新代码场景:在程序运行时加载新功能或模块。举例:游戏服务器在运行时加载新地图或功能模块,
- Netty Reactor 线程模型
Think_Higher
Netty从入门到理解
Reactor线程模型是Netty实现高性能的核心所在,在Netty中EventLoop是Reactor线程模型的核心处理引擎,那么EventLoop到底是如何实现的呢?又是如何保证高性能和线程安全性的呢?说明:本文参考的Netty源码版本为4.1.42.Final。文章目录Reactor线程执行的主流程轮询I/O事件处理I/O事件1.processSelectedKeysPlain2.proce
- sample_osd.c程序流程
今天少内耗10点半睡觉和今天早晚运动
君正平台调试记录c语言开发语言
sample_osd.c程序流程sample_system_init(1)IMP_OSD_SetPoolSize(512*1024);IMP_OSD_SetPoolSize(512*1024);IMP_Encoder_SetMultiSectionMode(1,250,2);IMP_Encoder_MultiProcessInit();memcpy(&sensor_info[0],&Def_Sen
- What is ASIC Prototyping?
思尔芯S2C
fpga开发硬件架构嵌入式硬件人工智能arm开发硬件工程
WhatisASICPrototyping?ASICprototypingreferstotheprocessofcreatingapreliminaryphysicalversionofanApplication-SpecificIntegratedCircuit(ASIC)usingtechnologieslikeField-ProgrammableGateArrays(FPGAs)oremu
- 【功能安全】【ISO26262】指南
流动的星
汽车功能安全专栏功能安全ISO26262
目录一、前言二、ISO26262的关键概念三、故障(fault),错误(error)和失灵(failure)的解释四、可控性观念(Notionsofcontrollability)五、安全过程需求结构(Safetyprocessrequirementstructure)-安全需求的流程和序列(Flowandsequenceofthesafetyrequirements)六、产品生产,确认检测,合格
- 计算机基础之操作系统——进程与线程管理(一)
查理养殖场
计算机八股linux
1、进程、线程、协程区别与联系?进程、线程和协程是计算机程序执行的三个不同层次。进程(Process):定义:进程是操作系统进行资源分配和调度的基本单位,每个进程都有自己的内存空间、系统资源和程序计数器。特点:进程间相互独立。每个进程有自己的地址空间,无法直接访问其他进程的数据。进程之间的资源是相互隔离的,进程之间的通信需要通过进程间通信(IPC)机制,如管道、消息队列、共享内存等。开销较大,因为
- 智启未来:影刀RPA携手钉钉云文档,重塑企业办公自动化与数字化管理新高度
enter回车键
影刀RPA
影刀RPA(RoboticProcessAutomation,机器人流程自动化)与钉钉云文档的配合,能够实现企业办公自动化和数字化管理的提升。以下是影刀RPA与钉钉云文档结合后,可以实现的一些主要功能:自动化数据录入与同步:影刀RPA可以自动从各种数据源(如数据库、Excel文件等)中提取数据,并自动填充到钉钉云文档中,实现数据的快速录入和同步。流程自动化处理:通过影刀RPA,可以自动化处理一些常
- 全面汇总windows进程通信(三)
爱上解放晚晚
C++高级编程实例windowsqt开发语言c++
在Windows操作系统下,实现进程间通信(IPC,Inter-ProcessCommunication)有几种常见的方法,包括使用管道(Pipe)、共享内存(SharedMemory)、消息队列(MessageQueue)、命名管道(NamedPipe)、套接字(Socket)等。本文介绍如下几种:RPC(远程过程调用,RemoteProcedureCall)Windows注册表(Registr
- 全面汇总windows进程通信(四)
爱上解放晚晚
C++高级编程实例windowsc++
在Windows操作系统下,实现进程间通信(IPC,Inter-ProcessCommunication)有几种常见的方法,包括使用管道(Pipe)、共享内存(SharedMemory)、消息队列(MessageQueue)、命名管道(NamedPipe)、套接字(Socket)等。本文介绍如下几种:Windows共享内存(SharedMemorywithMappedFiles)Windows套接
- 全面汇总windows进程通信(五)
爱上解放晚晚
C++高级编程实例windowsc++
在Windows操作系统下,实现进程间通信(IPC,Inter-ProcessCommunication)有几种常见的方法,包括使用管道(Pipe)、共享内存(SharedMemory)、消息队列(MessageQueue)、命名管道(NamedPipe)、套接字(Socket)等。本文如下几种:Windows剪贴板(Clipboard)Windows共享资源(SharedResources)Wi
- 全面汇总windows进程通信(一)
爱上解放晚晚
C++高级编程实例windowsc++
在Windows操作系统下,实现进程间通信(IPC,Inter-ProcessCommunication)有几种常见的方法,包括使用管道(Pipe)、共享内存(SharedMemory)、消息队列(MessageQueue)、命名管道(NamedPipe)、套接字(Socket)等。本文介绍如下几种:命名管道(NamedPipe)共享内存(SharedMemory)套接字(Socket)Windo
- 将异步与多工作器ProcessPoolExecutor相结合
潮易
django
将异步与多工作器ProcessPoolExecutor相结合在Python中,我们可以使用`concurrent.futures.ThreadPoolExecutor`或者`multiprocessing.ProcessPoolExecutor`来处理异步任务,但这两种方式并不能直接与进程池结合,因为这两种都是单线程或多核心线程的并行执行。如果我们想要将异步任务与多工作器ProcessPoolEx
- Processing模块的全面应用指南:从此踏上Processing斗帝的修炼之路,接单代做不再遥远!
帅小柏
processing
Processing模块的全面应用指南在这篇文章中,我们将探索如何在Processing中使用各种模块来创建互动和视觉效果,包括麦克风输入、字体处理、音乐轮播、图片和视频播放以及粒子系统的应用。每个模块都将展示其全局变量、setup()和draw()函数的实现,并通过实例代码详细说明。processing模块Processing模块的全面应用指南1.麦克风输入全局变量`setup()``draw(
- 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