- 讨论视频系统架构
Robin-LV
MVCJDBC
今天接到一个业务,领导让我搭建一个视频系统架构。架构采用MVC的模式这个大家都知道,技术采用Sping,hibernate3,数据层采用Sping提供的的jdbc模板。我知道要提供一些公共的的类和接口。还有一些封装好的方法。这个架构要考虑现在老系统的数据,等新系统完成要把数据导过去,还要考虑多平台融合的问题。由于我们公司有多套系统,领导想做底层统一以后好管理。现在晕晕的,请高手谈谈如何搭建一个好的
- java 持久化
老螺丝
java-eejava-eejpa
名词大作战什么是JPAJPA(JavaPersistenceAPI)中文名Java持久层API,JPA通过注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。Sun引入新的JPAORM规范出于两个原因:其一,简化现有JavaEE和JavaSE应用开发工作;其二,Sun希望整合ORM技术,实现天下归一。Hibernate3.2+、TopLink10.1.3以及OpenJPA
- 代码生成器自动生成实体类,Mapper接口和Mapper xml代码
beiback
JavaSpringjava
目录1.MyBatisPlus2.JPA/Hibernate3.IntelliJIDEAMyBatis插件4.其他代码生成工具5.总结在Java开发中,除了使用MyBatisGenerator自动生成实体类、Mapper接口和MapperXML代码之外,还有一些其他工具和插件可以帮助开发者以更简单快捷的方式完成这些任务。下面是一些常见的替代方案:1.MyBatisPlusMyBatisPlus是一
- hibernate4与3使用annotation在配置文件中的区别
千奇百怪的漫长旅行
java
让hibernate4与3在配置文件中的区别有几点:1、获取sessionfactory的方式:在hibernate3中获取sessionfactory的方式:在hibernate4中则是使用这种方式:2、事物的使用:hibernate3:hibernate4:3、使用缓存机制:hibernate3:threadhibernate4:org.springframework.orm.hibernat
- 记录一次hibernate3.1 方言问题
沉醉东风0001
oracle数据库
错误:com.sun.proxy.$Proxy553cannotbecasttojava.lang.string我们项目上,将mysql数据库迁移到达梦数据库,这样会造成数据库类型上在java查询下,会有不兼容的问题,比如clob,text等,可能都有问题,这就需要用方言去解决了。之前text就出现了报错,找了半天也没能解决,后来改成了varchar(8000),虽然改了不报错了,感觉可能会有隐患
- 基于SSH三大框架的员工管理系统
magi617
sshjava
基于SSH三大框架的员工管理系统摘要本系统为本人学习SSH三大框架时所做的整合实例,系统角色包括普通用户和管理员两种,首页有管理员登录入口链接。系统功能主要包括管理员对用户的基本增、删、改、查和分页显示用户信息等。系统环境本系统使用eclipse+mysql+jdk1.8+tomcat8进行开发框架使用struts2+hibernate3+spring3页面展示首页一开始没考虑屏幕分辨率和比例问题
- Linux 学习 笔记
song969songgxh
LinuxEclipse配置管理应用服务器vim
2月23日Linux1Linux2Hibernate3Spring4设计模式3--4周时间学完复习,项目Linux:RHCE课程体系RedHat论证的工程师--特点:基于实践系统,网络,安全60小时+1--2小时的练习--通过RHCT--RHCE--RHCARHCH基础1什么是OS(操作系统):1.1Application1.2SystemCalls(API)1.3Kernel(内核)1.4硬件(
- 添加配置解决Could not locate ordinal parameter [0], expecting one of [1]
码的
javahibernate
项目hibernate3.2.16升级hibernate5.5.7时,HQL语句使用"?"参数占位符运行报错,国内查到的都是这样改(基本都是改HQL语句参数,使用起来也没问题):第一种Stringhql="fromUserFormwheresex=?";//定义查询HQL语句Queryquery=session.createQuery(hql);//执行查询语句,获取Query对象query.se
- java项目源码分享网_分享二十套Java项目源码
下大垅
java项目源码分享网
分享二十套Java项目源码资源目录:1、BBS论坛系统(jsp+sql)2、ERP管理系统(jsp+servlet)3、OA办公自动化管理系统(Struts1.2+Hibernate3.0+Spring2+DWR)4、博客系统(struts+hibernate+spring)5、车辆管理系统(struts+hibernate+spring+oracle)6、家庭理财系统(java+applet)7
- ssh简单入门级案例教程
会做饭的技术男
前端javaweb学习之路ssh整合案例
准备工作:struts2.3.34spring4.2.2hibernate3.3.2导入需要的开发包:struts开发包---注意:javassist-3.18.1-GA.jar包与hibernate中的重复(只保留高版本即可)hibernate开发包此外还需要在hibernate解压包中找到lib/optional/c3p0文件夹,然后将c3p0-0.9.2.1.jar和mchange-comm
- JPA 配置装载
pingdan168
JPAHibernateSpringStrutsMySQL
在你开始加包的时候无比要仔细阅读上面的矩阵,hiberantecore3.3和有的包是不兼容的!昨天试了spring2.0+hibernatecore3.3+struts2..0.9没有成功,今天调试成功的版本为struts2.0.9+spring2.0+hibernate3.2.1+tomcat5.5.17+eclipse3.2wtpallinone本指南演示了如何在Eclipse中配置Stru
- SpringMVC框架搭建及详解
ProfeSir
Web开发Web框架JavaSpringMVC
现在主流的WebMVC框架除了Struts这个主力外,其次就是SpringMVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了。不过要想灵活运用SpringMVC来应对大多数的Web开发,就必须要掌握它的配置及原理。一、SpringMVC环境搭建:(Spring2.5.6+Hibernate3.2.0)1.jar包引入Spring2.5
- mavn打包时如何把外部依赖加进去?
tebukaopu148
maven
一、添加依赖:com.dmDmJdbcDriver18system${project.basedir}/lib/DmJdbcDriver18.jarcom.dmDmDialect-for-hibernate3.0system${project.basedir}/lib/DmDialect-for-hibernate3.0.jar二、添加maven配置//SpringBoot插件org.spring
- @Transactional未添加就报错:No Hibernate Session bound to thread, and configuration does not allow creation
恬毅
java技术学习ssh之旅工作笔记hibernatethreadsession单元测试
我的事务是通过hibernateFilterorg.springframework.orm.hibernate3.support.OpenSessionInViewFilterhibernateFilter*.do我给加上就行了,不过这种情况对于单元测试可能就有问题了
- ssh(Spring+Struts+Hibernate)开发框架实现图书在线推荐系统newbookscfrs 基于用户、项目的协同过滤推荐算法
74b3a3e489d4
ssh(Spring+Struts+Hibernate)开发框架实现图书在线推荐系统newbookscfrs一、项目简介1、首页:http://localhost:8080/newbookscfrs/2、项目采用ssh框架(spring3.0,struts2.1,hibernate3.3),并使用html5、javascript、qjuery、layer、webuploader、bootstrap
- @Transient 不起作用!
laryad
原因:Hibernate3-@Transient必须写在get部分上面package.........;import.........@Entity@Table(name="PMS_PROD_BILL")publicclassBillimplementsSerializable{//联合主键时,必须继承Serializable,自动生产serialVersionUID【固定写法】privatest
- HIbernate的hibernateTemplate.findByCriteria用法
b7410852963
HIbernatemvchibernate
packagecom.dao.impl;importjava.util.List;importjavax.annotation.Resource;importorg.hibernate.criterion.DetachedCriteria;importorg.springframework.orm.hibernate3.HibernateTemplate;importorg.springframe
- 详解Spring中涉及的技术
Mr.VK
SpringBootSpring后端springjava后端
注解介绍:注解(Annotation)很重要,未来的开发模式都是基于注解的,JPA是基于注解的,Spring2.5以上都是基于注解的,Hibernate3.x以后也是基于注解的,现在的Struts2有一部分也是基于注解的了,注解是一种趋势注解(Annotation)相当于一种标记,在程序中加入注解就等于为程序打上某种标记,没有加,则等于没有任何标记,以后,javac编译器、开发工具和其他程序可以通
- ssh最新整合配置(struts2.2.1+ hibernate3.6+spring3.0.5)
hwq_1987
strutsspringhibernatesshmyeclipse数据库连接池
ssh整合配置(struts2.2.1+hibernate3.6+spring3.0.5)博客分类:webJavaSpringHibernateSSHAOP今天给大家介绍一下最新版本的SSH(struts2.2.1+hibernate3.6+spring3.0.5)组合。注意本讲解为手工搭建!一、为SSH做好准备struts2-2.2.1-all.ziphibernate-distribution
- JAVA程序员不可不留意的编码规范
Java_苏先生
最近经常看一些朋友写的源代码,总是感觉编码规范题目还没有成为大家的关注点,导致代码的通用可读性相对比较差;所以在此唠叨几句编码规范(以struts2+spring2+hibernate3架构的项目为例),大家各取所需,欢迎拍砖!一、规范存在的意义应用编码规范对于软件本身和软件开发职员而言尤为重要,有以下几个原因:好的编码规范可以尽可能的减少一个软件的维护本钱,并且几乎没有任何一个软件,在其整个生命
- SSH配置(Struts2.2.1+Hibernate3.6+Spring3.0.5)
廖俊才
SSH框架应用SSHStrutsHibernateSpring
今天给大家介绍一下最新版本的SSH(struts2.2.1+hibernate3.6+spring3.0.5)组合。注意本讲解为手工搭建!一、为SSH做好准备struts2-2.2.1-all.ziphibernate-distribution-3.6.0.Final-dist.zipspring-framework-3.0.5.RELEASE.zipspring-framework-2.5.6-
- JavaWeb概述
逐梦苍穹
JavaWebservletjava开发语言web
目录1、简介2、技术栈3、各技术栈说明3.1、JavaServlet3.2、JavaServerPages(JSP)3.3、JavaServerFaces(JSF)3.4、JavaPersistenceAPI(JPA)3.5、Hibernate3.6、Spring3.7、Struts3.8、ApacheMaven3.9、ApacheTomcat1、简介JavaWeb是一种使用Java语言开发Web
- Spring 事务
请叫我王老魔
Springspring事务
Spring事务spring针对不同的dao层框架,提供接口不同的实现类,常用的有两个事务管理器使用场景jdbc.datasource.datasourceTransactionManager用于Spring对于JDBC的抽象的支持,也可以适用于mybatis进行持久化的场景orm.hibernate3.HibernateTransactionManager用于hibernate3进行持久化一、事
- 源代码解读Spring只读事务与读写事务的性能的差别
miaoao611
springspring
前言:如果大家使用过Spring事务管理,会发现Spring提供的事务分为“只读”和“读写”事务两类。这不免就会疑问这两种事务会有什么不同?本文则通过对Spring和Hibernate源代码的剖析来找出这两种事务的区别。特别是运行性能方面的区别。解读的源代码版本为Spring2.5.6.SEC01,Hibernate3.3.2.GA。Spring对事务的支持也分编程式和声明式,本文以基于Annot
- Hibernate3.1.1+Struts2.0+Spring3.0+ibatis
一眼万年的星空
零零碎碎整理了Hibernate+Struts+Spring+ibatis希望对大家有用Hibernate总结xmlhibernate的annotation需要的jar包:hibernate-annotation.jarejb3-persistence.jarhibernate-commons-annotaion.jar一对一双向外键关联Annotaion:@oneTone@JoinColumnh
- 数据库连接池C3P0学习
潍一
数据库数据库连接池c3p0
c3p0连接池的优势 DBCP的bug非常多,在某些种情况会产生很多空连接不能释放。因此Hibernate3已经不再支持DBCP连接池,而推荐使用C3PO。C3P0是Hibernate3.0默认的自带数据库连接池,DBCP是Apache开发的数据库连接池。我们对这两种连接池进行压力测试对比,发现在并发300个用户以下时,DBCP比C3P0平均时间快1秒左右。但在并发400个用户时,两者差不多。速度
- Java Web 三层架构详解
吾枫
eclipseweb开发web框架三层结构
java三层架构ssh一个spring2.5+hibernate3.2+struts2.0组合框架,使用spring的IoC来管理应用的所有bean,包括struts2的action,充分发挥了spring轻量级框架的优势。摘要:针对当前Web应用程序开发面临的问题,结合目前比较流行的开源框架Spring、Struts和Hibernate,提出了一种开发J2EEWeb应用的轻量级解决方案,以帮助开
- [Hibernate]如何针对查询缓存失效的情况,仍同步使缓存数据跟数据库数据保持一致?...
FrozenSorrow
HibernateSQLCacheCC++
如标题所说这个问题该如何解决呢?或者存在比较好的方案使数据增删改后使缓存和跟数据库数据保持一致?还有个问题如果针对不是基于主键为条件的查询(loadget)是否就一定无法使用二级缓存?还有网上有种说法:说get无法使用二级缓存这个应该是错误的吧至少应该Hibernate3.0.5是可以的
- 孙卫琴的《精通JPA与Hibernate》读书笔记:对象-关系的映射概念
编程小李飞刀
JPA与Hibernate会通过各种各样的映射注解来建立对象对数据库中记录的映射。以前Hibernate3以下的版本流行用XML格式的映射文件来建立映射,现在这个方式不那么流行了。更为普遍的是用注解进行映射。以下是用JPA映射注解对Customer类与CUSTOMERS表进行映射。@Entity@Table(name="CUSTOMERS")//Customer类和CUSTOMERS表映射publ
- spring3与hibernate4的整合
TonySong111073
java
首先,spring与hibernate3整合时有三种方式:1、直接使用SessionFactory(该SessionFactory由spring管理并注入)的方式:@ResourcepublicvoidsetSessionFactory(SessionFactorysessionFactory){this.sessionFactory=sessionFactory;}protectedSessio
- 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