- Bluetooth Mesh 入门学习干货,参考Nordic资料(更新中)
Amos zhang
MESHBLE蓝牙MESH
蓝牙网状网络(Bluetoothmesh)概念概述蓝牙MeshProfile|Bluetooth®TechnologyWebsite规范(Meshv1.1后改名MeshProtocolMeshProtocol|Bluetooth®TechnologyWebsiteMeshProtocol)是由蓝牙技术联盟(BluetoothSIG)开发和发布的,它允许一对一、一对多和多对多通信。它使用BLE协议在
- 从零开始学java web开发 iso_从零开始学习Java成为专业的java web开发者
苏小铁
从零开始学javaweb开发iso
“我怎么才能成为一个JavaWeb开发者?”对于这个问题,答案其实并不简单。成为一个JavaWeb开发人员包括很多方面。我遇到过的Java程序员,可能曾是优秀的前端开发人员,也可能以前是不错的后端开发人员。所谓“前端”,我指的是众多浏览器端技术——HTML、CSS、Javascript,以及Java模板技术,如Thymeleaf、SiteMesh,或者古老的JSPs。后端开发人员有更坚实的Java
- 零基础学java web开发_从零基础学Java成为一个专业的java web 开发者
乐舟川
零基础学javaweb开发
原标题:从零基础学Java成为一个专业的javaweb开发者“我怎么才能成为一个JavaWeb开发者?”对于这个问题,答案其实并不简单。成为一个JavaWeb开发人员包括很多方面。我遇到过的Java程序员,可能曾是优秀的前端开发人员,也可能以前是不错的后端开发人员。所谓“前端”,我指的是众多浏览器端技术——HTML、CSS、Java,以及Java模板技术,如Thymeleaf、SiteMesh,或
- Sitemesh 3 的使用及配置
短路了
1、Sitemesh3简介Sitemesh是一个网页布局和修饰的框架,基于Servlet中的Filter。官网:http://wiki.sitemesh.org/wiki/display/sitemesh/Home。2、Sitemesh3下载这里使用Maven下载,pom.xmlorg.sitemeshsitemesh3.0.03、配置Sitemesh3过滤器在web.xml中添加一下过滤器...
- Cannot load excludes configuration file "/WEB-INF/decorators.xml" as specified in "sitemesh.xml" or
行善积德_Fei
decorators.xmljavatomcat
今天启动公司的一个旧项目时,控制台报出错误:Cannotloadexcludesconfigurationfile"/WEB-INF/decorators.xml"asspecifiedin"sitemesh.xml"or"sitemesh-default.xml"本人的/web-inf目录下存在decorators.xml文件,但是无法启动。解决方法如下(idea):在设置里将workingdi
- HTML装饰器(decorator)
笑才
一、背景最近在看activemq的时候,无意看到其web操作页面的结构框架很有意思,刚开始有点懵,但仔细摸索半天并结合度娘的力量,发现它是使用了sitemesh应用Decorator模式,在进行了入门学习和几个小例子的实践之后,我趁热写了此文,以便下次回顾的时候可以复看一下二、介绍Sitemesh是由一个基于Web页面布局、装饰Decorator及与现存Web应用整合的框架。它能帮助我们在由大量页
- 因事件堵塞导致页面卡顿
概述上周星期四(2021/12/09)开始陆续有供应商反馈卖家中心页面公共模块(菜单栏)存在卡顿问题,特别是在进入商家报价页面,但是开发与测试在转测、转演、灰度阶段均未发现该性能问题。分析首先,我们需要了解页面的实现架构,卖家中心商家报价页面的公共模块ftl与右侧内容区ftl是通过Sitemesh框架整合而成的,公共模块ftl只定义了与的空架子,其元素内容通过引入执行seller-react-fr
- 组件基础
撸帝
学习完整课程请移步互联网Java全栈工程师本节视频【视频】Vue渐进式JavaScript框架-Vue-布局篇-组件基础什么是组件组件是可复用的Vue实例,说白了就是一组可以重复使用的模板,跟JSTL的自定义标签、Thymeleaf的th:fragment以及Sitemesh3框架有着异曲同工之妙。通常一个应用会以一棵嵌套的组件树的形式来组织:例如,你可能会有页头、侧边栏、内容区等组件,每个组件又
- springboot 整合 sitemesh3
PrimaryKeyEnoch
springboot整合sitemesh3步骤如下:第一步:创建WebSiteMeshFilter类importorg.sitemesh.builder.SiteMeshFilterBuilder;importorg.sitemesh.config.ConfigurableSiteMeshFilter;importorg.sitemesh.content.tagrules.html.DivExtr
- Java SiteMesh新手学习教程代码案例
官网:http://wiki.sitemesh.org/wiki/display/sitemesh/Home也可以下载官方的示例Demo参考和学习,这里我只做一个简单示例,演示最基本的使用首先就是加Jar包,我用的是sitemesh-2.4.2.jar,然后在web.xml中增加过滤器:index.jspsitemeshcom.opensymphony.module.sitemesh.filter
- SiteMesh如何结合Freemarker及velocity使用
Freemarker入门示例https://www.jb51.net/article/197670.htmFreeMarker整合Struts2示例https://www.jb51.net/article/197698.htmSiteMesh入门示例https://www.jb51.net/article/197668.htm那么如何将Freemarker与SiteMesh结合起来使用,这在官方示
- 谈谈struts2对SiteMesh的扩展,以及龌龊的ActionContextCleanUp命名
wxy_G
JAVA
早听所struts2.0对SiteMesh进行了扩展,增加了FreeMarker模板的支持,今晚有空特意去找了一些相关的资料来,希望以后在项目中可以派上用途。总结起来,它做了3个方面的扩展1、可以在SiteMesh模板中使用struts标签,这个是招牌,当然要对其扩展。2、增加了FreeMarker模板,这个是我们所迫切需要的。将com.opensymphony.module.sitemesh.f
- SiteMesh 介绍
梦科
web
这里介绍SiteMesh3.。因为这几天才接触到siteMesh,现在的版本是3.官网:http://www.sitemesh.org/index.htmlSiteMesh是什么?siteMesh用来装饰网页。使网页具有统一的布局。这对于实际项目有很大的帮助。SiteMesh是基于Java、J2EE和XML的开源框架,依赖于从Servlet2.3版本里引入的新功能——过滤器(Filters),它的
- Sitemesh 3 模板框架使用
YOU-SAY
sitemesh
1.Sitemesh3简介Sitemesh是一个网页布局和修饰的框架,基于Servlet中的Filter,类似于ASP.NET中的‘母版页’技术。参考:百度百科,相关类似技术:ApacheTiles。官网:http://wiki.sitemesh.org/wiki/display/sitemesh/Home。2.Sitemesh3下载最新版本:3.0.0-SNAPSHOT①GitHub地址:htt
- Sitemesh入门和使用笔记
11Jeffrey
框架
1.Sitemesh介绍SiteMesh是一个网页布局和修饰的框架,利用它可以将网页的内容和页面结构分离,以达到页面结构共享的目的。它不仅仅能处理动态的内容,如jsp,php,asp等产生的内容,它也能处理静态的内容,如htm的内容,使得它的内容也符合你的页面结构的要求。2.使用场景举例网站页面头部header和底部footer信息很多页面都有用到,只需要把头部和底部信息单独放在两个装饰页面中,然
- SiteMesh页面装饰器的使用步骤
时间辜负了谁
SiteMesh
SiteMesh是一个网页布局和修饰的框架,利用它可以将网页的内容和页面结构分离,以达到页面结构共享的目的SiteMesh是OpenSymphony团队开发的JEE框架之一,它是一个非常优秀的页面装饰器框架,它通过对所有的用户请求进行过滤,并对服务器向客户端响应也进行过滤,从而给原始的服务器响应加入一定的装饰,可以是header,footer等,然后将经过装饰后的页面送回浏览者.对于被装饰的页面而
- SiteMesh3配置
iteye_18039
SiteMesh3
SiteMesh3支持两种主要的配置:XML和Java,甚至两者可以共用。XMLJava容易上手配置更改时可以自动重载不需要懂得java编程更灵活的制定不需要多余的配置文件可以使用JRuby,Groovy,Scala等语言配置基于xml的配置配置文件需放置于/WEB-INF/sitemesh3.xml,如基于java的配置必须编写一个过滤器,继承org.sitemesh.config.Config
- SiteMesh和Struts2,Filter的配置顺序
杭州山不高
Servlet/JSPStruts/Spring
Sitemesh和Struts2结合时,要特别注意它们各自Filter的顺序,否则会导致双方都不能正常工作。而又由于Struts2在2.1.3之前使用的是FilterDispatcher,2.1.3之后推荐使用StrutsPrepareFilter和StrutsExecuteFilter替代FilterDispatcher,因此,配置上又会有所不同。2.1.3之前的版本,sitemesh的filt
- SiteMesh基本用法及示例
drift_away
SiteMesh是基于Servlet的filter的,即过滤流。它是通过截取reponse,并进行装饰后再交付给客户。其中涉及到两个名词:装饰页面(decoratorpage)和“被装饰页面(Contentpage)",即SiteMesh通过对ContentPage的装饰,最终得到页面布局和外观一直的页面,并返回给客户运行环境需要:servlet2.3,JDK1.4以上。正常模式下的web访问流程
- SiteMesh3简介及使用
wxainn
JavaWebJava开发经验记录
最近项目用到SiteMesh3,研究学习一段时间后决定写篇博文来记录收获。SiteMeshSiteMesh介绍工作原理配置及使用下载1添加maven依赖2webxml中添加SiteMesh过滤器3创建一个装饰页面decoratorpage4创建一个被装饰页面contentpage5配置1XML方式1Java方式6查看效果7高级配置1XML形式配置2Java形式配置自定义标签的使用装饰页面decor
- Sitemesh3中增加自定义tag
wenzi1wenzi
模板
S3相比S2感觉舒服很多,用起来确实比传统的include方便,例如之前有个项目用了之后,切换布局什么的很省事,只需要调整一下框架页面就ok了,如果是include的话就费劲了。不过S3预定义的只有几个head、body之类的tag,有时候还会希望能够增加一些自己扩展的tag,例如sidebar、footer之类的。一开始看源码后,增加了个filter的继承(http://www.oschina.
- spring-boot2整合sitemesh3加jsp 专业填坑, 让你少走弯路
江西DJ烟仔ReMix
spring-mvcjava
之前项目使用的是sitemesh2.4.2搞的走了好多弯路好了开场白就不说了1.依赖org.sitemeshsitemesh3.0.12.建立以下4个类packagecom.dance.admin.sitemesh;importorg.springframework.boot.web.servlet.FilterRegistrationBean;importorg.springframework.
- 我选择组件一览
iteye_19907
pm&plan
freemarker模板语言,用于生成页面代码guice轻量iocdb4o对象数据库,摒弃hibernate+jdbc模式miceframework,自己写的mvc框架,使用,ognl,freemarker,guicedwrajax服务器端jquery+plugins浏览器端js框架sitemesh装饰器框架oscache页面缓存框架
- webwork:Disabling the response for futher output,
茄子煸土豆
java
异常:Disablingtheresponseforfutheroutput2009-05-1513:49:56,609DEBUG[org.apache.catalina.core.ApplicationDispatcher]-TheResponseisvehiculedusingawrapper:com.opensymphony.module.sitemesh.filter.PageRespon
- 在Struts2中使用SiteMesh插件
欧米优
struts2
通过使用SiteMesh插件,就可以在Struts2应用中使用SiteMesh装饰器页面来统一应用程序所有页面的显示风格。实际上,在Struts2中使用SiteMesh非常简单,因为Struts2将所有的值都保存在StackContext或ValueStack中,因此在SiteMesh页面中使用Struts2的标准标签即可。1安装SiteMesh插件与整合其他框架类似,Struts2与SiteMe
- 总结一下用Sitemesh做网页布局的经验
SevenKyo
.K@JAVAJSPWebXMLXHTML框架
前一段时间需要用到Sitemesh做网页的布局,于是查找资料学习了一下,查到的都是入门学习一类简单的静态页面整合,而且几乎都一样。但还好在某个角落里找到了一点有用的东西,是对于sitemesh标签的介绍,不过...我忘记地址了--#先说下我的需求:一个页面分为上下两部分,一个通顶,和下面的查询列表显示,通顶和列表显示都是动态的。补述:之前用的是frame框架,但是样式上很不协调,下半部会出现滚动条
- java 的学习技能
雷一凡
1、后端WEB服务器:Weblogic、Tomcat、WebSphere、JBoss、Jetty核心框架:SpringFrameworkDubbo安全框架:ApacheShiro视图框架:SpringMVC服务端验证:Hibernate+Validator布局框架:SiteMesh工作流引擎:Activiti任务调度:SpringTask+Quartz持久层框架:MyBatis+MyBatis-P
- CMS 前台统一导航设计
danny_xcz
CMS
通过对exocmsportal,Mambo以及IBM的CMS也深入研究,我决定要取它们的长处,利用他们的思想,但是要简化它们的设计。针对cms里面非常重要的前台导航,我采用以下的设计方法/*前台内容节点设计note_type:路径=0,节点=1content_type:静态html=1,动态脚本=2use_layout:是否使用布局文件,就是类似于sitemesh一样的布局,使用它可以免去定义头,
- sitemesh&freemarker
debren
Javafreemarkermicrosoftjspcgisystemiis
AdvancedSiteMeshbySunilPatil09/22/2004Supposeyou'recreatinganenterprise-levelwebsiteandyouhavetousemorethanonetechnologyforbuildingit.Forexample,youwanttoaddsomenewcontenttoyourwebsiteusingJ2EE,butpar
- springmvc完全注解+sitemesh拦截
OnyWang
干掉web.xml基于servelet3.0,完全注解,将web.xml消灭掉。WebApplicationInitializer代替web.xml工作基于注解的方式,在应用启动之前,使用该类去注册相关拦截器和servlet。这里主要说springmvc的注册,主要是注册dispatcherservlet,初始化web的代码如下:publicclassWebInitializerimplement
- 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