- Java01计算机基础
三行一路
一、计算机两种基本的概念1、图灵机(图灵提出的):软件和硬件分开,用软件运行软件2、冯诺依曼体系:计算机应该由计算器,运算器,存储设备,输入设备,输出设备组成二、dos命令1、d:回车盘符切换2、dir(directory):列出当前目录下的文件以及文件夹3、md(makedirectory):创建目录4、rd(removedirectory):删除目录不予许删除非空的文件夹5、typenul>文
- 【Java01】基本数据类型和引用数据类型
工科狗Niko
Javajavajvm开发语言
基本概念基本数据类型是指能够直接存储数据值的数据类型,如整数、浮点数、布尔值等。而引用数据类型是指存储的是指向实际数据所在位置的引用,如数组、字符串、对象等。基本数据类型在内存中占用固定大小的空间,而引用数据类型则根据实际数据的大小动态分配内存空间。涉及语言几乎所有编程语言都有基本数据类型和引用数据类型的概念,如Java、C++、Python、JavaScript等。不同语言对于基本数据类型和引用
- Java01 169-184
hlllllllhhhhh
java开发语言
数组添加importjava.util.Scanner;publicclassArrayAdd02{publicstaticvoidmain(String[]args){ScannermyScanner=newScanner(System.in);//数组一旦定义,不可以增加,必须增加新的数组int[]arr={1,2,3};do{int[]arrNew=newint[arr.length+1];
- Java常识
宣布无人罪
Javasejavapython开发语言
初识Java01特点面向对象的跨平台的02核心机制java虚拟机(JVM)。java垃圾回收(GC):c语言中由程序员负责回收无用的内存链,java垃圾回收在java程序运行的过程中自动进行。03命名原则(一)由26个英文字母大小写,数字0-9,下划线_或者金钱标识$组成不能使用数字开头可以包含关键字、保留字,但不能直接使用java中严格区分大小写,命名没有长度限制注意:命名时不要包含空格关键字和
- 【代码训练营】day41 | 01背包问题 & 416. 分割等和子集
starstarzz
代码训练营算法leetcode动态规划java数据结构
所用代码java01背包理论背包最大重量为:4重量价值物品0115物品1320物品2430暴力:O(2^n)动态规划:1、二维dp数组dp[i][j]dp数组含义:[0,i]物品,任取放进容量为j的背包里的最大价值递推公式:不放物品i:dp[i-1][j]放物品i:dp[i-1][j-weight[i]]+value[i]dp[i][j]=Math.max(dp[i-1][j],dp[i-1][j
- Sdut PTA练习 2021级-JAVA01 Java入门
CRAEN
PTA山东理工大学小白java开发语言
目录7-1模仿练习分数10输入格式:输出格式:输入样例:输出样例:7-2HelloWorld!分数10输入格式:输出格式:7-3sdut-入门-交换两个整数的值分数10输入格式:输出格式:输入样例:输出样例:7-4sdut-入门-转换字母分数10输入格式:输出格式:输入样例:输出样例:7-5球的表面积和体积分数107-6华氏温度转化为摄氏温度分数10输入格式:输出格式:输入样例:输出样例:7-7s
- 【学习笔记】韩顺平零基础学习JAVA01
今天小迪敲代码了吗
学习javajvm
2023.03.07学习笔记学习JAVA三个阶段JAVA语言概述JAVA故事JAVA重要特点安装SublimeJAVA运行机制及运行过程JAMJDKJREJDK、JRE和JVM的关系JAVA快速入门Java开发快速入门JAVA开发细节快速掌握知识点转义字符学习JAVA三个阶段第一阶段:建立编程思想第二阶段:提升编程能力第三阶段:分析需求,代码实现能力JAVA语言概述程序是有序指令集合。例如://完
- Java01(基础)
鱼翅大魔王
自学java时的那些想法(一)随着蓝桥杯boom的一声爆炸,终于下定了决心要认真学习了,回来也不看C了,捡起java从头开始。今天是18年4月4日花一下午看完了《java基础(一)》,内心丝毫没有波动,觉得只是大体上和C有点不同罢了,比如单词什么的......然后觉得很有意思的一件事就是C里的函数在java里被叫做方法,有参方法无参方法……首先接触到的就是Arrays类,看完其中的sort()bi
- 【Java01】第一章 Java语言概述-‘配置java环境-javac’不是内部或外部命令,也不是可运行的程序-错误:编码GBK的不可映射字符
_esther_
Javaintellij-idea
java入门-第一章Java语言概述1基础常识软件开发人机交互方式常用的DOS命令(win系统,有一些直接通过命令执行的)2Java语言概述什么是计算机语言关于面向对象和面向过程Java特性Java技术体系平台Java在各领域中的应用3Java程序运行机制及运行过程Java语言的特点Java两种运行机制Java语言的特点:跨平台性核心机制--Java虚拟机核心机制--垃圾回收4Java语言环境的搭
- ArrayList
menmo_O
底层的数据结构使用的是数组结构。特点:查询速度很快。但是增删稍慢。线程不同步。publicstaticvoidmethod_2(){ArrayListal1=newArrayList();al1.add("java01");al1.add("java02");al1.add("java03");al1.add("java04");ArrayListal2=newArrayList();al2.ad
- JAVA01
张大坏
1、win+rcmd就可以进入控制台,或者按住shift+鼠标右键,直接进入(有权限之分的_)2、内容辅助键:alt+/------main方法:main,然后alt+/,回车------输出语句:syso,然后alt+/,回车单行注释:Ctrl+/-->取消的话,重复操作即可多行注释:Ctrl+Shift+/->取消的操作,Ctrl+Shift+\格式化快捷键:Ctrl+Shift+F向下复制一
- java面向对象中多态的向上转型和向下转型
我是一个像素
Java
重拾java01:面向对象中多态的向上转型和向下转型1.概念多态,是指把类中具有相似功能的不同方法使用同一个方法名来实现,从而可以使用相同的方式来调用这些具有不同功能的同名方法。2.前提和特点多态实现的前提是:(1)继承、重写与父类指针指向子类对象。(2)方法重载多态的特点:具有灵活、抽象、行为共享、代码共享的优势,很好地解决了应用程序方法同名问题。多态,简而言之就是同一个行为具有多个不同表现形式
- Java01
dingdunzeng9939
Java安装4号晚上在我学Java朋友的帮助下还费了一晚上的时间没安好气到胸闷感谢:https://www.runoob.com/w3cnote/windows10-java-setup.html和https://blog.csdn.net/weixin_40575457/article/details/81625169我顺着默认路径安装的之后剪切到了D盘之后在环境配置里将Java的路径往上移了J
- Java01
weixin_34194379
1Java的概述1.1Java语言发展史詹姆斯·高斯林(JamesGosling)1977年获得了加拿大卡尔加里大学计算机科学学士学位,1983年获得了美国卡内基梅隆大学计算机科学博士学位,毕业后到IBM工作,设计IBM第一代工作站NeWS系统,但不受重视。后来转至Sun公司,1990年,与Patrick,Naughton和MikeSheridan等人合作“绿色计划”,后来发展一套语言叫做“Oak
- 小白学Java01:Java基础
乌拉乌拉哩乌拉乌拉乌拉哩巴扎嘿!
学习笔记java
小白学Java01:Java基础基础数据类型整数数据类型byte(字节型)short(短整型)int(默认型)long(长整型)浮点数据类型float(单精度)double(双精度)逻辑数据类型boolean(布尔类型)字符型char(单字符类型)知识点数据类型的转换显示转换隐式转换小知识运算符算数运算符赋值运算符:复合赋值运算符逻辑运算符与短路与:&&非短路与:&或短路或:||非短路或:|非!位
- java01
chen18677338530
Java基础java
数据类型和变量数组:固定长度的同种数据类型的多条记录,这些数据在内存中连续存放。对象:对象是有基本数据类型、数组和其他对象组合而成的一个东西。变量申明之后,就已经在内存中分配已一个位置,但是这个位置的内容是未知的。==是判断的内存地址的值是否相等&:连个都是true才是true,只要有一个false就是false|:只要有一个true就是true,都是false才是false!:取反^:两个相同为
- 大数据 java01 hive udf函数(手机号码脱敏)
weixin_41734687
hivebigdata
HiveUDFHiveUDF函数1POM文件2.UDF函数3利用idea打包4添加hiveudf函数4.1上传jar包到集群4.2修改集群hdfs文件权限4.3注册UDF4.4使用UDFHiveUDF函数1POM文件4.0.0填写自己的组织名称udf1.0-SNAPSHOTUTF82.6.0-cdh5.13.31.1.0-cdh5.13.3ApacheHadoopApacheHadoophttps
- java01 准备工作
Day_and_Night_2017
再学JAVA
一次编写代码,到处运行。java代码是跨平台的,其实现跨平台的方式通过不同的平台上的虚拟机实现的。第一行java代码classMyFirstJava{publicstaticvoidmain(String[]args){System.out.println("HelloJava!");}}注意,类名和文件要一致,文件扩展名必须是java编译你的代码在MyFirstJava.java文件所在的目录打
- 零基础学Java01 - 编程基础
请叫我子鱼
编程语言Java语言
零基础学Java01.编程基础01|课程介绍02|内容综述03|开发环境搭建(macOS)04|HelloWorld程序编译和运行(macOS)05|开发环境搭建(Windows)06|HelloWorld程序编译和运行(Windows)07|详解HelloWorld程序类名必须要与文件名一致,文件名后缀必须是小写的javaMain方法是Java程序的入口class是Java语言中的一等公民,Ja
- java01
星空梦想
八种几本类型的声明publicclassBaseDataTypes{publicstaticvoidmain(String[]args){//声明变量的三种格式booleanflag;//声明一个boolean类型的变量intage=28;//声明一个int类型的变量并副值flag=true;//给已声明过的变量副值//变量名的首字㭌小写,多个单词之间首字母大写byteb=100;shorts=1
- prometheus 监控jvm-tomcat
weixin_30565327
1.prometheus的配置-job_name:'java01'#按照这个来分组scrape_interval:10sstatic_configs:-targets:['192.168.1.44:6060']labels:instance:jvm442.jmx-exporter/simple-config.yml#tomcat的启动参数文件[root@k8sprom-jvm-demo]#cats
- Vector中的枚举
menmo_O
枚举就是Vector特有的取出方式。发现枚举和迭代器很像。其实枚举和迭代是一样的。因为枚举的名称以及方法的名称都过长。所以被迭代器取代了。classVectorDemo{publicstaticvoidmain(String[]args){Vectorv=newVector();v.add("java01");v.add("java02");v.add("java03");v.add("java0
- java 集合类
hongxiao2020
集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象。Collection的子类对象ArrayList演示Collection的使用。添加元素:ArrayListarrayList=newArrayList();//添加元素arrayList.add("java01");arrayList.add("java02");arrayList.add("java03");arrayList.
- Java01 (20150416)
橘子是怪兽
碎碎念:刚跑步回来,いよいよ今日になった~终于是到了今天。早上其实六点多就醒了,但是实在是太瞌睡了,到最后还是八点左右起的,等坐上车都8点50多了,在车上还吃着早饭。结果到小商品市场的时候,居然晕车了,超级想吐,最后一直站到西苑,终于挺过来了。到教室的时候,大家都在了。赶在九点半前,过了一会儿老师就来了。简单的自我介绍后,今天的课程就开始了。今日总结:一开始老师提到Javase,Javaee,Ja
- JAVA01筆記
马克码卡农
JAVA名言1.簡單的2.萬般皆物件3.要什麼給甚麼物件導向:封裝、繼承、多型。一、前言JAVA是高階語言的一種,接近人類語言的程式語言。由於高階語言的內容全是接近人類的語言程式語言。由於高階語言的內容全是以英文字母及數字所組合而成,所以電腦沒有辦法看得懂編成oop源於1980年代初期,是一種符合人性化的程式設計•java的垃圾收集機制使寫程式不太需要擔心記憶體的部分•系統當機的問題(例外處理)二
- Java01
你来听我说
一课程体系介绍Java基础JavaWeb大数据二基础知识1常见操作系统Windows、Mac、Linux2常见软件开发语言C、C++、Java、C#、Objective-C、Swift、JavaScript、Python3人机交互可视化界面命令行三window操作系统介绍1常用设置2常用快捷键显示桌面:Window键+d打开“计算机”:window键+e锁定:window键+l运行窗体:windo
- 第一个Java程序HelloWorld
dws8848
JAVA
@TOC第一个Java程序HelloWorld(2007-03-2216:39:49)转载▼分类:Java技术代码如下://一个文件中只能有一个共有的类,并且与文件名称一致,大小写注意publicclassHelloWorld{//程序的入口publicstaticvoidmain(Stringargs[]){//向控制台输出信息System.out.println(“欢迎java01班的同学”)
- java01:java英文日期格式化为Date
Arvan91
java日期格式化
java英文日期格式化为Date在编写爬虫网站抓取新闻资讯的日期字段时,遇到了“November272018”格式的日期,需要统一转换为“ThuJan2400:00:00CST2019”的Date类型日期,所以在网上找了好久转换方法,看不是很懂,后面自己综合看到的java日期格式化例子总结如下,做个笔记;此乃开山之作--------第一篇博客,不到之处,多多指教!step1:代码如下package
- ArrayList特有方法
dingjingchao
基础知识
importjava.util.*;classArrayListDemo{publicstaticvoidmain(String[]args){ArrayListal=newArrayList();al.add("java01");al.add("java02");al.add("java03");al.add("java04");sop("源集合:"+al);//al.add(1,"java09
- Set集合中的——TreeSet的使用
梦的彼岸花
Java内容
一、使用TreeSet添加一个String类型的值://使用TreeSet添加指定元素publicstaticvoidTreeSet01(){TreeSettreeSet=newTreeSet();treeSet.add("java001");treeSet.add("java01");treeSet.add("java1");treeSet.add("java015");treeSet.add(
- 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