- C# 零基础入门篇(19.DateTime 使用指南)
think__deeply
c#开发语言visualstudio
##一、概述`DateTime`是C#中用于表示日期和时间的结构,位于`System`命名空间中。它提供了丰富的属性和方法,用于处理日期和时间的创建、格式化、比较和计算。##二、创建DateTime对象###(一)使用默认构造函数```DateTimenow=DateTime.Now;//获取当前日期和时间DateTimetoday=DateTime.Today;//获取当前日期,时间为00:00
- arm64 ubuntu20.4 安装 mysql5.7 脚本
因你而在的梦
linuxubuntuarm64mysql5.7
1.安装依赖sudoaptupdatesudoaptinstall-ylibaio*2.下载压缩包wgethttps://obs.cn-north-4.myhuaweicloud.com/obs-mirror-ftp4/database/mysql-5.7.27-aarch64.tar.gz3.添加mysql组和mysql用户sudogroupaddmysqlsudouseradd-r-gmysq
- Node.js 包与 npm 详解:概念、作用及完整使用指南
还是鼠鼠
node.jsnode.jsnpm前端vscodeweb
目录1.Node.js包的概念与作用什么是包?包的作用2.npm(NodePackageManager)简介常用npm命令3.创建一个本地Node.js包步骤1:初始化npm项目步骤2:编写index.js步骤3:在另一个项目中使用这个包4.安装和使用第三方npm包安装lodash使用lodash5.全局安装包与命令行工具6.发布自己的npm包创建npm账号发布包7.结论在Node.js中,**包
- OSWorld:开启多模态智能体的真实计算机环境革命
几道之旅
人工智能智能体及数字员工人工智能
OSWorld:开启多模态智能体的真实计算机环境革命在人工智能技术突飞猛进的今天,多模态智能体正逐步突破实验室的限制,试图融入人类的日常工作场景。然而,如何评估这些智能体在真实计算机环境中处理开放式任务的能力,成为学术界和产业界共同关注的难题。2024年,由xlang-ai团队开发的OSWorld(Open-endedSystemWorld)应运而生,为这一领域提供了突破性的解决方案。一、从虚拟到
- ORA-12541: TNS:no listener
夜光小兔纸
运维数据库Oracle运维oracle数据库
问题描述:使用PL/SQLDeveloper连接数据库时出现ORA-12541错误。1.查询监听状态[oracle@localhostadmin]$lsnrctlstatusLSNRCTLforLinux:Version19.0.0.0.0-Productionon15-MAR-202510:47:57Copyright(c)1991,2021,Oracle.Allrightsreserved.C
- fastapi+angular实现菜鸟驿站系统
勘察加熊人
typescriptfastapiangular.js前端
说明:我计划用fastapi+angular实现菜鸟驿站系统userid和stationid暂时先写死全部写成1也就是用户1驿站1这样就可以简化流程1.新增包裹入库增加一个添加入库的按钮然后填写信息然后入库2.新增包裹取件按钮post请求,弹窗填写取件码,取件成功需要刷新包裹状态3.获取超时列表比如有些包裹严重超时我需要查看超时包裹的信息和位置4.还需要取件记录表用弹窗每次用户取件都必须有一条取件
- YARN 的任务提交流程是怎样的?思维导图 代码示例(java 架构)
用心去追梦
java架构开发语言
YARN的任务提交流程是一个复杂但有序的过程,它涉及到多个组件之间的交互。以下是详细的任务提交流程描述、思维导图结构化描述以及Java代码示例,帮助你理解如何在YARN中提交任务。YARN任务提交流程客户端提交应用程序客户端通过YARN的API向ResourceManager提交一个新应用程序。提交时需要提供ApplicationMaster的启动信息(如JAR包路径、主类名等)以及其他配置参数。
- UdpClient
呆呆敲代码的小Z
c#
Socket实现Udp的发送和接收usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Net;usingSystem.Net.Sockets;usingSystem.Text;u
- 近期docker镜像加速器被封杀,需要的请看此内容 点赞加关注
加油干sit!
dockerdocker
{“registry-mirrors”:[“https://docker.m.daocloud.io”],“insecure-registries”:[“harbor.sunya.com”],“exec-opts”:[“native.cgroupdriver=systemd”],“data-root”:“/data/docker”,“log-driver”:“json-file”,“log-opt
- LangChain使用Prompt02
科研小达人
langchain前端
1.设置提示fromlangchain.promptsimportChatPromptTemplateprompt_template=ChatPromptTemplate.from_messages([("system","你是一位专业的翻译,能够将{input_language}翻译成{output_language},并且输出文本会根据用户要求的任何语言风格进行调整。请只输出翻译后的文本,不要
- langchain多人对话
牛不才
000-大模型langchainjava前端AIGCchatgpt人工智能gpt
消息类型1.SystemMessage(系统消息)作用:设定AI的基础行为模式或对话背景,通常在对话开始时通过此消息定义角色。它对整个对话流程有指导性影响,但不会显式出现在对话历史中。特点:仅有一条生效(如多次发送会覆盖之前的设定)不参与多轮对话的内容传递2.HumanMessage(用户消息)作用:表示真实用户在对话中的输入内容,是用户与模型交互的直接信息。特点:必须按时间顺序排列内容直接影响模
- 【Python】爬取高校数据(名字,院校特色,所在地,性质)。可用于判断高校是否为双一流,本科/专科等分析
llzcxdb
Pythonpython开发语言爬虫
源网站:http://college.gaokao.com/schlist/p1利用Python的lxml库进行html解析,源代码:importrequestsfromlxmlimportetreeimportpandasaspdimportcsv#请求URLurl='http://college.gaokao.com/schlist/p'#构建请求头headers={'User-Agent':
- Java方法详解
NaclarbCSDN
java开发语言
Java方法详解方法基本概念 packagecom.arbedu.method; publicclassDemo01{ //main方法 publicstaticvoidmain(String[]args){ inta; intb; intsum=add(1,2);//实际参数,用来调用传递的参数 System.out.println(sum);
- Prometheus+Grafana监控平台搭建_grafana专业监控项
2401_89828619
prometheusgrafana
Prometheus提供多种类型的Exporter用于采集各种不同服务的运行状态。目前支持的有数据库、硬件、消息中间件、存储系统、HTTP服务器、JMX等。·alertmanager警告管理器,用来进行报警。·其他辅助性工具Prometheus系统架构图:它的服务过程是这样的Prometheusdaemon负责定时去目标上抓取metrics(指标)数据,每个抓取目标需要暴露一个http服务的接口给
- 编程提示异常就不用挨个度娘了——Python初识必备
爱码小士
Python网络爬虫机器学习web开发人工智能
相信对于很多小白,新手对一些异常提示,都不一定明白其含义,所以给大家整理了这样一份中英对照表,对大家一定有所帮助,当然最好都能熟记于心,这样就不用再去一个个度娘了,觉得这个表不错就点个赞加转发吧,文末更多福利异常名称描述BaseException所有异常的基类SystemExit解释器请求退出KeyboardInterrupt用户中断执行(通常是输入^C)Exception常规错误的基类StopI
- ### 深入解析:如何构建三角形并求解自顶向下的最小路径和 的基础—(构建三角形)
小学仔
leetcode动态规划java算法
####一、问题分析给定一个三角形`triangle`,要求找出自顶向下的最小路径和。每次移动只能到下一行相邻的节点(当前下标`i`或`i+1`)。例如,三角形如下时:```2346574183```####二、代码框架搭建#####1.输入处理与三角形构建```javaScannersc=newScanner(System.in);List>triangle=newArrayListrow=ne
- Django 发送email配置详解及各种错误类型
weixin_30496751
python
跟随DjangoBook的内容发送邮件不成功,总结一下需要配置好settings.py文件,还要注意一些细节。1、在settings文件最后添加以下内容,缺一不可!EMAIL_HOST='smtp.163.com'EMAIL_PORT=25EMAIL_HOST_USER='
[email protected]'(你有163邮箱的话)EMAIL_HOST_PASSWORD=‘xxxxxxx'EMAIL_US
- Spark集群启动与关闭
陈沐
sparksparkhadoopbigdata
Hadoop集群和Spark的启动与关闭Hadoop集群开启三台虚拟机均启动ZookeeperzkServer.shstartMaster1上面执行启动HDFSstart-dfs.shslave1上面执行开启YARNstart-yarn.shslave2上面执行开启YARN的资源管理器yarn-daemon.shstartresourcemanager(如果nodeManager没有启动(正常情况
- 数据类型和变量
墨香染城城
java
1.字面常量常量即程序运行期间,固定不变的量称为常量,比如:一个礼拜七天,一年12个月等。publicclassDemo{publicstaticvoidmain(String[]args){System.Out.println("helloworld!");System.Out.println(100);System.Out.println(3.14);System.Out.println('A
- Mmybatis xml 连接数据库的方法
墨香染城城
xml数据库
1.添加依赖(Maven项目)在pom.xml中添加MyBatis和数据库驱动的依赖(以MySQL为例):org.mybatismybatis3.5.13mysqlmysql-connector-java8.0.332.配置MyBatis核心文件在resources目录下创建mybatis-config.xml,配置数据库连接和全局设置:3.创建实体类定义与数据库表对应的实体类,例如User:pu
- goldengate sqlserver mysql_使用 Oracle GoldenGate 在 Microsoft SQL Server 和 Oracle Database 之间复制事务...
weixin_39907713
goldengatesqlservermysql
大多数关注数据复制的Oracle技术专家都熟悉OracleStreams。在2009年之前,Streams一直是推荐使用的最流行的Oracle数据分发技术。2009年7月,Oracle收购了GoldenGate这一数据库复制软件供应商。Oracle现在鼓励客户使用OracleGoldenGate(Oracle融合中间件系列的组成部分)来满足新应用中的数据复制需求。Oracle关于OracleStr
- oracle 01476,GoldenGate 常见错误分析(一)
来来来看看
oracle01476
(1)解决GoldenGate错误的一个关键点就是通过错误分析工具(包括report文件,ggserr.logdiscard文件logdump工具,GGSCI命令行)确定错误的根源是哪个组件引起的。系统或者网络?数据库报错或者应用报错?GoldenGate安装报错?GoldenGate的某个进程报错?GoldenGate的参数配置文件报错?SQL语句或者存储过程报错?然后再确定错误的原因,逐个排查
- goldengate sqlserver mysql_Oracle GoldenGate 之 SqlServer数据同步到Mysql数据库
Huawei_Germany
goldengatesqlservermysql
C:\OGG>INSTALLADDSERVICEService'GGSMGR'created.Installprogramterminatednormally.C:\OGG>配置ODBC数据源MicrosoftSQLServerODBC驱动程序版本06.01.7601数据源名称:oa_test数据源描述:服务器:WIN-UGCMTTOTKE7数据库:(Default)语言:(Default)翻译字
- Oracle GoldenGate技术
LingDong Jey
数据库技术oracle
1、概述GoldenGate现在是业内成熟的数据容灾与复制产品,被广泛地应用到金融行业及要求数据复制高效、健壮的各个行业。目前隶属于Oracle公司融合中间件(FusionMiddleware)产品线。2、产品组合OracleGoldenGate最为常见的家族成员包括GoldenGate、GoldenGateDirector(现名GoldenGateManagementPack)、GoldenGa
- Java是值传递
先睡
python开发语言
Java中的参数传递始终是值传递(passbyvalue)。无论是基本数据类型还是对象类型,传递给方法的是变量值的副本,而非变量本身。以下是对这一概念的详细解析:1.基本数据类型的值传递传递机制:传递的是变量的值副本,方法内的修改不影响原始变量。voidmodify(intnum){num=10;//修改的是副本,原变量不受影响}inta=5;modify(a);System.out.printl
- Django 自定义用户表DRF实现simple-jwt详细说明。
写不出代码的程序员
djangopython后端
一、设计自定义用户表:user/models.py这里使用uuid4对id设置。classUUIDTools(object):returnuuid.uuid4().hexclassUser(AbstractBaseUser):id=models.UUIDField(primy_key=True,auto_created=True,default=UUIDTools.uuid4_hex,editab
- Java注解
陈陈爱java
java开发语言
java基本注解注解注解与注释的区别注释:增强代码的可阅读性,并不会对程序的执行产生任何影响。注解:给编译器或运行时环境提供额外的信息,能够影响程序的编译或运行行为。常见注解@Override明确标记一个方法是覆盖(重写)了父类中的方法。classAnimal{voidmakeSound(){System.out.println("Animalmakesasound");}}classDogext
- Java、Spring、SpringBoot
陈陈爱java
springbootjavaspring
JAVA与Spring不使用Spring的程序UserService.javapublicclassUserService{publicStringgetUserName(){return"JohnDoe";}}Main.javapublicclassMain{publicstaticvoidmain(String[]args){//手动创建UserService实例UserServiceuser
- 【后端】【django】抛弃 Django 自带用户管理后,能否使用 `simple-jwt`?
患得患失949
django知识djangosqlite数据库
抛弃Django自带用户管理后,能否使用simple-jwt?一、结论是的,即使抛弃了Django自带的用户管理(AbstractUser或AbstractBaseUser),仍然可以使用django-rest-framework-simplejwt(简称simple-jwt)来进行JWT认证。但需要进行额外配置,确保simple-jwt能识别和处理你的自定义用户模型。二、Django用户管理的作
- docker下载(HEL 8)
耀,,
dockereureka容器
在RedHatEnterpriseLinux(RHEL)8上安装DockerCE的步骤与CentOS略有不同,以下是针对RHEL8的完整指南:---###**1.准备工作:启用必要仓库**####**1.1启用RedHat订阅(如有必要)**如果您的RHEL8系统已注册订阅,确保启用了以下仓库:sudosubscription-managerrepos--enable=rhel-8-for-x86
- 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