- 怎么限制某些IP访问服务器?
莱卡云(Lcayun)
tcp/ip服务器网络协议云计算linux
您可以通过多种方式限制特定IP地址访问您的服务器,以下是几种常见的方法:1.使用防火墙限制IP访问Linux系统(iptables)#阻止单个IPiptables-AINPUT-s192.168.1.100-jDROP#阻止IP段iptables-AINPUT-s192.168.1.0/24-jDROP#允许特定IP访问SSH(22端口)iptables-AINPUT-s203.0.113.5-p
- 【Java面试】10GB,1GB内存,如何排序?
用心分享技术
Java面试题java面试
一、外部排序步骤1️⃣分块排序(分割阶段)步骤:将10GB文件分割为多个内存可容纳的小块(如每个块900MB,共约11块),避免内存溢出。逐块读取到内存,使用高效排序算法(如Collections.sort()或Arrays.sort())排序。将排序后的块写入临时文件,生成11个有序子文件。关键代码:ListsplitAndSort(Fileinput)throwsIOException{Lis
- 服务器如何配置防火墙规则开放/关闭端口?
莱卡云(Lcayun)
服务器云计算linux安全
配置服务器防火墙规则(开放/关闭端口)是服务器安全管理的基础操作,不同操作系统和防火墙工具的配置方式有所不同。以下是主流系统的详细操作指南:一、Linux系统(iptables/firewalld/UFW)1.iptables(传统方式)#查看当前规则sudoiptables-L-n#开放端口(如80/TCP)sudoiptables-AINPUT-ptcp--dport80-jACCEPT#关闭
- someip工作涉及网络命令整理
1.iptables-PINPUTACCEPT//用于Android上关闭防火墙2.pfctl-d//用于QNX上关闭防火墙3.创建VLAN接口3.1iplinkiplinkaddlinkenx002432280522namefyusb.20typevlanid20ifconfigfyusb.20198.18.2.252/24up//配置VLAN接口IP并且将VLAN接口拉起来说明:iplinka
- 【华为od刷题(C++)】HJ20 密码验证合格程序
我的代码:#include//引入输入输出流#include//引入vector容器类,用于存储动态数组#include//引入string类,用于处理字符串类型#include//引入map类,尽管在这段代码中并未使用该头文件usingnamespacestd;intmain(){vectorinput;//用来存储输入的字符串vectorresult;//用来存储验证结果("OK"或"NG")
- 学习日志03 python
im_AMBER
学习
继续加油,计算器小项目还没学会!1num1=float(input("请输入第一个数字:"))//其实我觉得python里面这种句子很奇怪,因为java里面要先printf这个中文,然后再读取输入的在Python中,input()函数确实会直接显示提示信息并等待用户输入,这与Java的处理方式有所不同。Java通常需要先使用System.out.print()输出提示,再用Scanner读取输入。
- 大语言模型(LLM)按架构分类
jerwey
语言模型分类人工智能
大语言模型(LLM)按架构分类的深度解析1.仅编码器架构(Encoder-Only)原理双向注意力机制:通过Transformer编码器同时捕捉上下文所有位置的依赖关系#伪代码示例:BERT的MLM任务masked_input="The[MASK]satonthemat"output=encoder(masked_input)#预测[MASK]="cat"预训练任务:掩码语言建模(MLM):随机遮
- Java IO流知识点总结
Zonda要好好学习
javaSEjava开发语言
文章目录IO流的定义作用主要应用场景IO流的分类按照流的方向分类按照读取数据方式不同分类重要IO流讲解IO包重点掌握的16中IO包FileInputStream文件拷贝FileReader的使用FileWriter的使用带有缓冲区的字符流BufferedReader节点流和包装流带有缓冲区的字符输出流数据流DataOutputStream和DataInputStream标准输出流日志工具类的封装F
- Python脚本,音频格式转换 和 视频格式转换
一、音频格式转换完整代码frompydubimportAudioSegmentimportosdefconvert_audio(input_dir,output_dir,target_format):ifnotos.path.exists(output_dir):os.makedirs(output_dir)forfilenameinos.listdir(input_dir):iffilename
- 计算机科学导论(10)什么是BIOS
奇妙之二进制
#计算机科学与操作系统ubuntu计算机基础
文章目录**一、BIOS的核心功能****二、BIOS的历史与技术局限****三、BIOS与UEFI的对比****四、现代BIOS的现状****总结**BIOS(BasicInput/OutputSystem,基本输入/输出系统)固化在计算机内主板上一个ROM芯片上的程序,是计算机启动时运行的底层固件程序(和硬件相关的程序习惯称为固件),是连接硬件与操作系统的桥梁,主要负责初始化硬件、加载操作系统
- input 获取焦点时全选
肖肖肖丽珠
vue.js前端javascript
这样的一个状态。这样编辑的时候就直接覆盖掉原来的。在main.js里面自定义指令//input框获取焦点时全选。注意input类型是textarea时Vue.directive("select-on-focus",{inserted(el){constinput=el.querySelector('input')||el.querySelector('textarea');if(input){in
- C语言 ATM(1)
小小小新人12123
c语言算法开发语言
C语言实现ATM取款机目前前期,先做一个框架,然后后续慢慢完善,写完整的函数。C语言代码:#includeintmain(){intinput=0;printf("欢迎\n");printf("1.开始0.退出\n");printf("请输入:");scanf("%d",&input);if(input==1){printf("欢迎使用\n");while(1){inta=0;printf("请选
- 43.Textbox的数据绑定 C#例子 WPF例子
军训猫猫头
c#wpfjava
固定最简步骤,包括XAML:题头里引入命名空间标题下面引入类box和block绑定属性C#:通知的类,及对应固定的任务引入字段引入属性属性双触发,其中一个更新block的属性block=>指向box的属性从Textbox这行看binding是绑定的意思,后面的inputtext是类里的一个属性意思就是它的文本和这个属性绑定了updatesourcetrigger是一个触发,后面等号后的内容是不同的
- 使用python代码调用dify
奋斗小刘123
python前端开发语言
importreimportjsonimportrequestsdefdify_data(inputstr,num):api_url="*****************"api_key="*****************"#组装数据,num和input为输入的数据,同时在dify定义data={"inputs":{"num":num,"input":inputstr},"response_mo
- Python咒语大全(学习笔记与使用指南)
桑迪Sandy.Q
Pythonpython开发语言
目录字符串格式限制,%xd(整数),%x.yf(小数点浮点数)f“内容{变量}快速格式化案例1:股价预测INPUT语句案例2:INPUT登陆界面语句布尔类型函数基础运用案例3:比较运算符的运用IF语句基本格式案例4:IF语句+INPUT语句练习案例5:IFELSE语句案例6:IFELIFELSE语句案例7:猜数字小游戏案例8:IFELSE嵌套规则案例9:IFELSE嵌套(符合工龄的员工可享受旅游)
- lesson1:Python入门知识
你的电影很有趣
python开发语言
目录文章目录前言一、python的语言特性1、语法简练2、解释型语言2.1解释型语言特点2.2编译型语言特点2.3执行效率比较3、标准库/第三方库4、支持面向对象二、windows常用命令三、程序的基本组成1、输入input2、运算3、输出print总结前言开始学习python的第一课一、python的语言特性1、语法简练变量不需要声明类型2、解释型语言2.1解释型语言特点需要解释器通过解释器逐行
- 牛客周赛 Round 39补题
cozywinter
python
警钟长鸣,题目的名字和题目没有绝对关系B-小红不想做鸽巢原理_牛客周赛Round39(nowcoder.com)鸽巢原理是类似于三个人进两间屋子,至少有一个屋子的人至少为两人这样,和这个好像关联也不是太大,可能我太笨没想到求一下读入的数量的总数,对k取模,列表降序排列,从最大的数量开始判断能取几堆球不要忘记特判能全取光的情况n,k=map(int,input().split())li=list(m
- QNX侧触摸屏(TP)Bringup流程与源码深度解析
芯作者
DD:计算机科学领域android
——从硬件中断到虚拟化事件传递的全栈揭秘**指尖背后的复杂旅程在QNX+Android虚拟化座舱中,触摸屏是用户与系统交互的核心通道。一次简单的点击需穿越:物理层:触控芯片的I²C/SPI通信驱动层:QNX资源管理器(ResourceManager)虚拟化层:Hypervisor事件路由Android系统:Input子系统处理本文将深入剖析QNX侧TP模块的Bringup流程,结合源码揭示毫秒级响
- pdf 删除多页 python实现(已解决)
Vertira
pythonpythonpdf开发语言
首先安装第三方库pipinstallPyPDF2然后运行importPyPDF2defremove_page(input_pdf_path,output_pdf_path,page_number_to_remove):#打开PDF文件withopen(input_pdf_path,'rb')asfile:reader=PyPDF2.PdfReader(file)writer=PyPDF2.PdfW
- CppCon 2018 学习:A Semi Compile/Run-time Map with (Nearly) Zero Overhead Looup
虾球xz
CppCon学习开发语言c++
介绍一个C++和Java之间桥接(Bridge)系统的示例代码,它说明了如何在C++中调用Java类(如java.io.InputStream)的方法。下面是详细解读:一、内容来源说明《C++↔JavaBridge》目的:演示如何通过桥接层让C++直接调用Java方法(JNI背后封装)二、代码结构解读classInputStream//java.io.InputStream{public:inli
- topk------提取张量极值的关键函数
AI扶我青云志
人工智能
torch.topk()是PyTorch中用于高效提取张量极值的关键函数,可返回指定维度上最大或最小的k个元素及其索引。以下从参数、作用和应用场景三方面详解:一、核心参数详解函数签名:torch.topk(input,k,dim=None,largest=True,sorted=True,*,out=None)参数类型默认值说明inputTensor必填输入张量kint必填需返回的元素数量dimi
- 【Torch】nn.Dropout算法详解
油泼辣子多加
深度学习算法
1.定义nn.Dropout是PyTorch中用于防止神经网络过拟合的正则化层。其核心思想是在训练阶段随机“丢弃”(置零)部分神经元的输出,以减少网络对特定神经元的过度依赖;在推理阶段则保持所有神经元输出不变。2.输入与输出输入(Input)任意形状的浮点张量(如torch.float32、torch.float64等),常见于全连接层或卷积层的激活输出。输出(Output)与输入张量形状、dty
- el-cascader 设置可以手动输入也可以下拉选择
满楼、
vue.jselementuijavascript
el-cascader设置可以手动输入也可以下拉选择稍微修改一下就可食用//datastationNameInput:'',//展示输入框内容isManualInput:false,//判断用户是否在输入//methods//输入框打开CascadertoggleCascader(){constinputEl=this.$refs.cascaderAddr.$el.querySelector('i
- 同步复位、异步复位和异步复位同步释放
nananaij
fpga开发单片机嵌入式硬件
复位的基本目的是使器件进入到可以稳定工作的确定状态,避免器件在上电后进入随机状态。同步复位同步复位就是在是在时钟上升沿到来时,复位信号有效。下面是一个简单的同步复位的D触发器,代码如下:moduleSync_rst(inputclk,inputrst,//Synchronousresetinput[7:0]d,outputreg[7:0]q);always@(posedgeclk)beginif(
- python键盘输入转换为列表_Python键盘输入转换为列表的实例
云云众生w
python键盘输入转换为列表
Python键盘输入转换为列表的实例发布时间:2020-08-1912:58:38来源:脚本之家阅读:92作者:清泉影月Python输入字符串转列表是为了方便后续处理,这种操作在考试的时候比较多见。1.在Python3.0以后,键盘输入使用input函数eg1.>>>x=input>>>123123在命令行没有任何显示,输入123后直接赋值给x,并打印。eg2.>>>x=input("请输入...
- 数据结构day7——文件IO
LZA185
数据结构数据结构
一、标准IO的起源与概念标准IO(StandardInput/Output)是由DennisRitchie在1975年设计的一套IO库,后来成为C语言的标准组成部分,并被ANSIC所采纳。它是对底层文件IO的封装,提供了更便捷、可移植的文件操作接口。核心特点:设备抽象:将输入输出设备抽象为文件操作标准输入设备:默认是键盘(/dev/input)标准输出设备:默认是显示器跨平台性:任何支持标准C的系
- 使用 `pytest` 框架时,可以通过极限封装将 YAML 文件的读取、解析
小赖同学啊
pythonpytest服务器运维
在使用pytest框架时,可以通过极限封装将YAML文件的读取、解析和测试用例的通用逻辑封装成共享的方法或fixture,从而减少重复代码。以下是详细的实现步骤和示例。1.封装YAML文件读取和解析将YAML文件的读取和解析逻辑封装到一个工具函数中,供所有测试用例调用。示例YAML文件#test_data.yamltest_cases:-name:TestCase1input:5e
- 1151 LCA in a Binary Tree (30)
Thelowestcommonancestor(LCA)oftwonodesUandVinatreeisthedeepestnodethathasbothUandVasdescendants.Givenanytwonodesinabinarytree,youaresupposedtofindtheirLCA.InputSpecification:Eachinputfilecontainsonete
- Java中的I/O流
白仑色
javajavaI/O流字节流字符流
Java中的I/O流Java中的I/O流(Input/OutputStreams)是用于处理输入和输出操作的类。这些流可以用来读取或写入数据,无论是从文件、网络连接还是内存缓冲区。JavaI/OAPI位于java.io包中,并分为字节流和字符流两大类。字节流在Java中,字节流主要用于处理以字节为单位的数据输入和输出操作。它们非常适合处理二进制数据,如图像文件、音频文件等,也可以用于文本文件的读写
- LeetCode423. Reconstruct Original Digits from English
tigerhuli
LeetCode
Givenanon-emptystringcontaininganout-of-orderEnglishrepresentationofdigits0-9,outputthedigitsinascendingorder.Note:InputcontainsonlylowercaseEnglishletters.Inputisguaranteedtobevalidandcanbetransforme
- 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