- python编译Edge-tts: Edge tts Player
浩读语音朗读
edge-ttspython自然语言处理edge前端
Edge-TTS是Python库,通过微软AzureCognitiveServices转化文本为自然语音,Edge-TTS支持40多种语言和300种声音,提供优质的语音输出,这给学习外语的学生和老师很大的福利。下面,尝试着用python来编写一个简单的TTS转MP3。EdgeTTSfromtkinterimport*fromtkinterimportttkfromtkinter.filedialo
- 基于OpenCV-python的人脸识别系统
transuperb
完整代码opencvpython人工智能
importsysimportosimporttkinterastkfromtkinter.ttkimportStyleimportnumpyasnpimportcv2fromPILimportImageTk,ImageDraw,ImageFontfrompanel.models.tabulatorimportthemefromModelimport*fromtkinterimportttk,fi
- zipgateway-2.61.0 移植到MTK openwrt-3.10.14
飞越丛林
openwrtralinkIOTZWAVEzipgatewayopenwrt
zipgateway-2.61.0移植到MTKopenwrt-3.10.14过程中可能遇到的问题:一)编译大致步骤1)解压zipgateway-2.61.0源码2)在openwrt源码的package目录中创建zipgateway-2.61.0-Source目录;3)参考zipgateway-2.61.0-Source\usr\local\WRTpackage\README文件拷贝zipgatew
- Python 设计一款计算器
niuliting
python开发语言
功能:代码:fromtkinterimport*defcalculate():"""计算结果并显示"""try:result=eval(equ.get())#计算表达式equ.set(equ.get()+"=\n"+str(result))#显示结果exceptExceptionase:equ.set("错误")#如果计算失败,显示“错误”defshow(buttonString):"""显示按钮
- Camera相机人脸识别系列专题分析之七:MTK ISP6S平台FDNode流程FdNodeImp.cpp调试手段及客制化dump,跳帧,开关,使能,异步控制等等
一起搞IT吧
数码相机人工智能图像处理android
【关注我,后续持续新增专题博文,谢谢!!!】上一篇我们讲了:Camera相机人脸识别系列专题分析之六:MTKISP6S平台人脸识别fdnode流程FdNodeImp.cpp详解这一篇我们开始讲:Camera相机人脸识别系列专题分析之七:MTKISP6S平台FDNode流程FdNodeImp.cpp调试手段及客制化dump,跳帧,开关,使能,异步控制等等目录一、背景二、:FDNode客制化2.1:F
- postgreSQL 数据库字典导出工具
为满足项目验收文档需求,开发了一个基于Python的PostgreSQL数据字典导出工具。废话不多说,先分享一下软件截图数据字典文件样式,文件格式为docx软件源码基于python开发,importtkinterastkfromtkinterimportttk,messageboxfromPILimportImage,ImageTkimportpsycopg2fromdocximportDocum
- Android Go 系统下的轻量化相机架构裁剪策略:性能与资源双优化实战
观熵
影像技术全景图谱:架构调优与实战androidgolang数码相机影像Camera
AndroidGo系统下的轻量化相机架构裁剪策略:性能与资源双优化实战关键词:AndroidGo、CameraLite、HAL裁剪、内存优化、资源隔离、入门级设备、预览优化、流压缩摘要:在AndroidGo系统中,由于设备普遍配置较低(RAM(15,30));实际效果:降低ISP负载缓冲区释放更及时,防止ImageReader阻塞兼容更多低端平台(特别是MTKGo机型)3.降低Surface/Bu
- tkinter —— Tcl/Tk 的 Python 接口
知识的宝藏
python
源代码:Lib/tkinter/__init__.pytkinter包("Tk接口")是针对Tcl/TkGUI工具包的标准Python接口。Tk和tkinter在大多数Unix平台,包括macOS,以及Windows系统上均可使用。若在命令行执行python-mtkinter,应会弹出一个简单的Tk界面窗口,表明tkinter包已安装完成,还会显示当前安装的Tcl/Tk版本,以便阅读对应版本的Tc
- MTK zephyr平台:系统休眠流程
不秃头的程序猿Gabriel
RTOS驱动/应用开发驱动开发ZephyrMTK
一、概述:当内核没有需要调度的东西时,就会进入空闲状态。CONFIG_PM=y时允许内核调用PMsubsys,将空闲系统置于支持的电源状态之一。Application负责设置唤醒事件,该事件通常是由SoC外围模块触发的中断,例如:SysTick、RTC、计数器、GPIO并非所有外设在所有电源模式下都处于活动状态,因此不是所有唤醒源都可以在任何电源模式下对系统进行唤醒相关代码目录如下,主要关注TFA
- 数独游戏代码
钰清雅
游戏
importrandomimporttkinterastkfromtkinterimportmessagebox,ttk#新增ttk导入defprint_board(board):#保留原有逻辑用于调试"""打印当前数独棋盘"""foriinrange(9):ifi%3==0andi!=0:print("-----------")forjinrange(9):ifj%3==0andj!=0:pri
- 基于CA-CFAR算法得到其检测门限及检测概率曲线
ytttr873
算法
实现了CA-CFAR算法仿真,得到其检测门限及检测概率曲线。并使用基于蒙特卡洛仿真方法得到检测门限及检测概率曲线,与传统的CA-CFAR算法进行了比较。CA-CFAR_mtkl/CA_pd_vt_onlynoise.m,2848CA-CFAR_mtkl/CA_vt_onlynoise.m,1459CA-CFAR_mtkl/mtkl_pd_vt_onlynoise_draw3.m,3975CA-CF
- 手机modem开发---MTK modem开发
checkchen99
原文链接:https://blog.csdn.net/zhangbijun1230/article/details/79935008?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-5&utm_source=distribute.pc_relevant.none-task-blog-Blog
- python动态重叠爱心图
胡乱编胡乱赢
人工智能
importrandomfrommathimportsin,cos,pi,logfromtkinterimportTk,Canvas#画布参数CANVAS_WIDTH=800CANVAS_HEIGHT=600CANVAS_CENTER_X=CANVAS_WIDTH/2CANVAS_CENTER_Y=CANVAS_HEIGHT/2IMAGE_ENLARGE=16#放大倍数EPSILON=1e-8#避
- python放大代码放大_Python中的放大缩小功能
weixin_39865277
python放大代码放大
有两个问题。首先,当您将Button-1和Double-1事件都添加到按钮小部件中时,双击将同时触发这两个事件。最后他们互相取消了,所以只有按一下键才能正常工作。在其次,正如我在thisSOanswer中指出的,某些元素,如文本,不会缩放,它们将保持不变。您需要手动缩放字体以模拟文本缩放。在下面是对您的代码按照上面的行进行的一次重做。我改变了它,使左键和右键单击按钮可以放大或缩小画布:fromtk
- 摩尔斯电码转换python编码_python-摩尔斯电码查询器
weixin_39902608
摩尔斯电码转换python编码
#-*-coding:UTF-8-*-__author__='007'__date__='2016/4/5'fromTkinterimport*classmorse2char():char_morse={}morse_char={}morse_num={}char_num={}def__init__(self):self.root=Tk()self.root.title("MORSE码查询器")s
- 使用python读取dxf文件特定图层的多段线长度
m0_58453956
python
1.导入库importezdxffromezdxf.mathimportVec3importpandasaspdimporttkinterastkfromtkinterimportfiledialog2.读取DXF文件root=tk.Tk()root.withdraw()#打开文件选择对话框,让用户选择文件file_path=filedialog.askopenfilename(title="Se
- DCMTK三大安全漏洞曝光!中科固源Wisdom模糊自定义漏洞挖掘产品推动医疗信息安全升级
中科固源
网络安全
在医疗信息化的浪潮中,DICOM(医学数字成像和通信)协议作为医疗影像领域的国际标准,扮演着至关重要的角色。而DCMTK,作为由德国OFFIS公司开发的开源项目,几乎实现了完整的DICOM协议,是全球三大DICOM开源库之一,广泛应用于医院、研究机构和商业产品中。然而,近日中科固源安全研究团队利用自研的Wisdom模糊自定义漏洞挖掘平台在DCMTK中发现了三个重大安全漏洞,分别为:-CVE-202
- pytorch之猫狗识别项目
mkijhwert
pytorch人工智能python深度学习机器学习opencv神经网络
1.导入资源包资源包:importtorchvision:PyTorch提供的视觉库,包含了常用的计算机视觉模型架构、数据集以及图像转换工具。fromtorchvisionimportdatasets,models:导入torchvision中的datasets和models模块,用于加载常用的数据集和模型。importsubprocess:用于调用系统子进程执行命令。fromtkinterimp
- 相机camera开发之差异对比核查一:测试机和对比机的硬件配置差异对比
一起搞IT吧
数码相机图像处理android
【关注我,后续持续新增专题博文,谢谢!!!】上一篇我们讲了:这一篇我们开始讲:目录一、背景二、:Camera硬件配置差异2.1:硬件配置差异核查项2.2:核查方式2.3:高通camx平台核查2.4:MTK平台核查
- MTK添加充电(快充)
2201_75918415
android
1.在添加充电之前,看准原理图弄清楚,你的充电是通过还是走pmic的线性充电还是外置充电IC我用我项目情况mt6370芯片(支持快充)举例子$(LINUX_KERNEL_VERSION)/arch/arm/boot/dts/mt6370.dtsimt6370,intr_gpio_num=;/*directdefinedGPIOnum*/mt6370,intr_gpio=;/*GPIO*/最好还同步
- python简单的病毒编程代码,如何用python做恶搞病毒
小狗AI
百度文库AI助手
大家好,给大家分享一下python简单的病毒编程代码,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!首先,整个代码不会有太多伤害其次,蓝屏不是真蓝屏如果喜欢的话,点个关注吧!谢!谢!上代码:#导入所需软件importioimportrandomimportlocalefromtkinterimport*fromosimportsystemimporttkinterimportosfro
- Vi~sion + Robot New Style
资深设备全生命周期管理
pythonRC+Python
3rdUpdate简洁风code#11:06:57Current_POS_is:X:77Y:471Z:0U:-2C:\Log\V55.txtimporttimeimporttkinterastkfromtkinterimportmessageboxfromPILimportImage,ImageTkimportsocketimportthreadingfromdatetimeimportdatet
- mtk上电开机记录
目前发量还行
linux驱动开发
1.preloadera.vendor/mediatek/proprietary/bootable/bootloader/preloader/custom/k65v1_64_bsp/inc/cust_rtc.h---a/vendor/mediatek/proprietary/bootable/bootloader/preloader/custom/k65v1_64_bsp/inc/cust_rtc
- BLE蓝牙gatt协议的server端发布服务的UUID不全问题
尕尕Lula
Android
最近项目使用BLE蓝牙的gatt协议进行通讯,在mtk平台上遇见一个问题:server端发布服务的uuid总是获取不全,有时候甚至获取不到,特别频繁。我之前是这样添加多个service的,以三个为例://马达服务BluetoothGattServicegattService=newBluetoothGattService(Constant.UUID_SERVER_MOVE,BluetoothGat
- Sante DICOM Viewer CD/DVD患者读取器
SEO-狼术
sdk控件SanteDICOMViewerSanteDICOM
SanteDICOMViewerCD/DVD患者读取器SanteDICOMViewer是用于恢复、观察、存储、书目、管理和医学阅读的最佳软件工具之一。该程序是DICOM、切换器、PACS客户端、小型PACS服务器、CD/DVD患者读取器和其他设备的专业执行者。SanteDICOMViewer不是一个普通的DICOM查看器,它由dcmtk、itk和vtk等免费库组成,就像数百个其他DICOM查看器一
- Python爱心代码
stormsha
Pythonpython开发语言
爱心效果图:完整代码:importrandomfrommathimportsin,cos,pi,logfromtkinterimport*#定义画布尺寸和颜色CANVAS_WIDTH=640CANVAS_HEIGHT=480CANVAS_CENTER_X=CANVAS_WIDTH/2CANVAS_CENTER_Y=CANVAS_HEIGHT/2IMAGE_ENLARGE_FACTOR=11HEAR
- MTK(Android)开关机、重启时间优化
MTK大师
android
开关机、重启时间优化:开机性能优化:是用功能和其它因素多方面平衡的结果,片面追求单方面的性能没有太大意义;有些产品设计开机动画非常酷炫,动画图片过多、高帧率会影响开机速度,这时就需要看是开机速度优先还是体验优先;[SOLUTION]1.zygote,预加载class、resources;加载的多了,会影响开机时间;/sdcard/mtklog/bootprof12450.516490:860-sy
- 手机端Python多波形频率蜂鸣简谱播放器带随机谱曲功能程序代码新
EYYLTV
python开发语言
importnumpyasnpimportpygameimporttkinterastkfromtkinterimportmessagebox,Menu,ttkimportrandom#添加随机模块导入#初始化音频系统pygame.init()pygame.mixer.init()#你的标准简谱音符频率字典NOTES={'1..':130.81,'2..':146.83,'3..':164.81,
- 手机端Python语言mido简谱生成mid音频文件程序代码QZQ
EYYLTV
python开发语言
importtkinterastkfromtkinterimportmessagebox,Menuimportmidoimportre#音符映射保持不变(同原代码)note_map={#超低音区(3个点)'1...':24,'2...':26,'3...':28,'4...':29,'5...':31,'6...':33,'7...':35,#低2音区(2个点)'1..':36,'2..':38,
- 文件树提取脚本2.0(增加了对matlab script的支持)
Yu_Mao_Cat
前端javascript数据库
importosimportastimportreimporttkinterastkfromtkinterimportfiledialog,messagebox,scrolledtext#定义一个函数来提取Python文件中的主要框架defextract_python_framework(file_path):#defextract_python_framework(file_path):#定义名
- 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