- Quarkus 2.8.0引入了细粒度的Transaction API
魏铁锤爱摸鱼
java开发语言
升级概览Quarkus2.8.0.Final发布,特性包括:将RESTEasyReactive作为默认REST层;将GraalVM22.0作为默认版本;新的QuarkusTransactionAPI;以及ElasticsearchDevServices(可以自动启动dev和test模式的Elasticsearch容器)。此外,由于存在二进制兼容性不可靠问题,AssertJ被从QuarkusBOM中
- 偶遇的dubbox小坑
DomYY
公司新做的项目,用了一个让人又爱又恨dubbox,引用dubbox的简介:支持REST风格远程调用(HTTP+JSON/XML):基于非常成熟的JBossRestEasy框架,在dubbo中实现了REST风格(HTTP+JSON/XML)的远程调用,以显著简化企业内部的跨语言交互,同时显著简化企业对外的OpenAPI、无线API甚至AJAX服务端等等的开发。事实上,这个REST调用也使得Dubbo
- 自定义过滤器(Filter), 获取返回值
生命有所坚持而生存可以随遇而安
Java
写这篇博文是想记录以下的业务场景。笔者就职一家传统的软件公司,公司大部分的项目架构都是spring、springMVC、springJdbc、restEasy等技术。当时的需求是用户通过前段页面创建数据采集任务,数据采集任务在后台执行爬取流经中心交换机流量。然后通过流量比对我方提供的威胁情报生成告警信息。拿到需求的第一反应就想到了springMVC的拦截器,拦截用户创建的数据采集任务,在拦截了数据
- rest服务中通过resteasy方式上传文件
杨小依
uploadrest-apiresteasy
resteasy服务器代码Control:importcom.mochasoft.latte.commons.log.BaseLogger;importorg.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInput;importorg.springframework.beans.factory.annotation.Aut
- Java开发分析 JProfiler 14中文 for Mac
xiaoyubulubulu
java开发语言
JProfilerMac版新增功能已添加用于传出请求的HTTP探测。同步和异步调用都是测量的。支持的HTTP客户端是:java.net.URLConnection中JavaHTTP客户端(Java11+)ApacheHttpClient4.xApacheAsyncHttpClient4.xOkHttp3.9+Jersey(JAX-RS)AsyncClient2.x.RestEasyAsyncCli
- java9放弃,RESTEasy在WF9上放弃了泼溅
深井冰323
java9放弃
我们正在使用RESTEasy和jettison提供程序(不是jackson,因为它不支持我们真正喜欢的Atom链接)并尝试使用Swagger创建有效的API文档.然而,jettison生成json与“xmlRootElement”,而swagger假设“正常”,Jackson样json.因此,生成的文档无效,使用swagger客户端生成器生成的客户端不起作用.例:Java类:@Mapped(nam
- 使用RESTEasy + Jackson的JSON示例
cyan20115
jsonweb.xml
Jettison作为JSON提供程序您可能也有兴趣阅读此RESTEasy+Jettison+JAXB示例。许多人喜欢JacksonJSON处理器,它在RESTEasy中受支持。在本教程中,我们向您展示如何将对象转换为JSON格式并将其返回给客户端。1.RESTEasy+杰克逊要将Jackson与RESTEasy集成,您只需包含“resteasy-jackson-provider.jar”。注意当R
- RESTful和RESTEasy
编程喵喵
概述RESTEasy是JBoss的一个开源项目,提供各种框架帮助你构建RESTfulWebServices和RESTfulJava应用程序。它是JAX-RS规范的一个完整实现并通过JCP认证。JAX-RS提供了一些标注将一个资源类,一个POJOJava类,封装为Web资源。标注包括:@Path,标注资源类或方法的相对路径;@GET,@PUT,@POST,@DELETE,标注方法是用的HTTP请求的
- org.apache.http.conn.ssl.X509HostnameVerifier错误解决
花开一度
mavenspringbootjava
最初的错误是:java.lang.RuntimeException:java.lang.ClassNotFoundException:org.glassfish.jersey.client.JerseyClientBuilder添加以下依赖项解决了初始错误org.jboss.resteasyresteasy-clientprovided然后我们收到了第二个错误:java.lang.NoClassD
- META-INF下的Service 到底有何用
igool
最近在使用motan把业务服务发布成RPC之后,同时还支持restful的调用方式,相当于支持两种协议的发布。当程序直接通过MAIN入口启动,客户端发起restful调用,解析一切正常。但当打包成独立运行的JAR,请求的返回解析就会失败。初步定位以JAR方式运行,WS相关服务类加载被另外第三方替换。这个文件里面正常内容是这样的:org.jboss.resteasy.plugins.provider
- Quarkus - 发布JSON Restful服务
Redick01
Quarkusjsonrestfuljava
目标基于实现第一个HelloWorld发布一个JSON的Restful服务,该服务提供GET,POST,DELETE三个接口,分别是获取水果列表,添加水果,根据水果名字删除水果。发布Rest服务POM配置添加jackson扩展的依赖io.quarkusquarkus-resteasy-reactive-jacksonQuarkus也支持JSON-B,如果你喜欢JSON-B而不是Jackson,可以
- RestEasy的入门与使用
JackSparrow414
JavaEErestfuljavajava-eespringrestfulservlet
文章目录RestEasy的入门与使用背景传统ServletJAX-RS和JSR为什么要看规范?简单解读JSR370ApplicationsResourcesProvidersRestEasy的基本使用建立Restful风格的JavaEE应用RestEasy是如何接管了应用呢?接受Restful风格的HTTP请求基本使用进阶使用全局异常的处理备注更新日志RestEasy的入门与使用对于Restful
- maven运行的JRE版本低导致报低于1.8
带着猪散步
org/jboss/resteasy/plugins/server/servlet/ResteasyBootstrap:UnsupportedmaFatalerrorcompiling:无效的目标发行版:1.8
- springboot整合cxf-rt-transports-http-jetty发布jax-rs服务
屎壳郎推球球
springbootjax-rsjava
一、JAX-RS是什么?JAX-RS,全称为JavaAPIforRESTfulWebServices,具体的指支持REST架构风格创建Web服务的规范,具体的实现有ApacheCXF、Jersey、RESTEasy等,本文是由的是apache的实现cxf。二、阅读本片博客你将掌握:1、如何使用springboot发布jax-rs服务。2、如何在jax-rs服务中配置拦截器并实现基于token的权限
- Quarkus中RESTEasy Reactive集成合并master分支
目录前言它是什么?为什么非常重要?还有什么其他好处?新的请求/响应过滤器设计新*Param注解更简单的参数和上下文注入新的最佳消息正文阅读器/编写器默认内容类型CDI整合每类异常映射器其他扩展程序也可以使用吗?该如何尝试?应该注意什么?缺少哪些JAX-RS功能?下一步计划是什么?前言Quarkus和RESTEasy团队非常高兴地宣布了Quarkus中的RESTEasyReactive集成已进入ma
- Quarkus中filter过滤器跨域cors问题解决方案
目录前言web依赖过滤器filter开发resteasy的filtervertx的filterQuarkus中的跨域前言Quarkus中的web模块是基于java标准web规范jax-rs构建的,实现则选用了jboss的resteasy。这部分只是请求路由转发部分实现。真正的请求接收则使用了eclipse开源的vert.x框架,底层也是基于netty的一个响应式开发框架。Quarkus将vert.
- Quarkus中实现Resteasy的文件上传下载操作
目录前言文件上传文件下载前言做javaweb开发,文件的上传和下载是一个非常常见的需求场景。在spring生态下的文件上传下载非常简单,记得五年前,我刚写博的时候也写过spring的上传和下载《SpringMvc实现文件上传与下载》,以及Struts2的文件上传和下载《javaStruts2实现文件上传下载》。今天来看看Quarkus框架中是如何实现的,因为Quarkus的JAX-RS采用Rest
- Dubbo中的那些坑(四)HTTP调用
DonneyYoung
Dubbo的HTTP调用Dubbo实现了HTTP调用,但只是走了HTTP协议而已,并没有使用诸如REST的调用方式。换句话说,其他语言不能直接调用Dubbo的HTTP协议。而如今异构的系统的REST调用都比较常见,也出现了对Dubbo的REST协议的各种实现。基于RESTEasy的REST调用实现当当网改进的Dubbox,用了JBOSS的RESTEasy实现REST功能,比Jersey、Restl
- resteasy 银联获取得到html脚本的代码直接浏览器中打开,跳像新页面
一颗小韭菜
web技术类
resteasy银联获取得到html脚本的代码直接浏览器中打开,跳像新页面。@GET@Path("/bindCardHtml")@Produces("text/html;charset=utf-8")@ApiOperation(value="")publicStringbindCardHtml(@ContextHttpServletResponseresponse)throwsIOExceptio
- dubbo源码解析(三十)远程调用——rest协议
weixin_34392906
javajavascriptnetty
远程调用——rest协议目标:介绍rest协议的设计和实现,介绍dubbo-rpc-rest的源码。前言REST的英文名是RepresentationalStateTransfer,它是一种开发风格,关于REST不清楚的朋友可以了解一下。在dubbo中利用的是红帽子RedHat公司的Resteasy来使dubbo支持REST风格的开发使用。在本文中主要讲解的是基于Resteasy来实现rest协议
- RESTEasy:@FormParam、@PathParam、@QueryParam、@HeaderParam、@CookieParam、@MatrixParam说明
zzhongcy
RestEasy
介绍:InthefirstRESTEasytutorialwehavelearntthebasicsaboutRESTWebservicesandwehavetestedasimpleRESTfulWebservice.Inthistutorialwewillshowhowtoinjectwebapplicationelements(formparameters,queryparametersan
- RestEasy用户指南---第6章.@QueryParam
程静涛
WebService翻译
@QueryParam的声明允许将一个uri的查询字符串参数,或者url编码形式的参数映射到你的方法调用中。GET/books?num=5@GETpublicStringgetBooks(@QueryParam("num")intnum){...}(意思大概是说你通过查询字符串传递的参数可以通过@QueryParam来传递获取)目前,resteasy实在Servlet的基础之上运行的,它并不区分U
- 一个简单的Quarkus web服务入门
未完成交响曲-KyleWang
java后端技术实践quarkus
一个简单的Quarkusweb服务Demo介绍Quarkus是一个由RedHat开源的Java微服务框架,其特性包括:容器优先:最小的Java应用程序,最适合在容器中运行云原生:在Kubernetes等环境中采用12要素原则。统一命令式与反应式:在一个编程模型下带来非阻塞和命令式开发风格。基于标准:基于一些标准和框架(RESTEasy、Hibernate、Netty、EclipseVert.x、A
- RESTEasy实现上传下载文件
zhangzhuang1127
RESTEasyRESTEasyGuice
近期,使用RESTEasy实现了上传下载文件。这次我是使用guice来注册服务,要想使用guice来注册服务,需要修改web.xml:将:resteasy.scantrueorg.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap修改成:resteasy.guice.modulesorg.oliver.module.FileModuleo
- Dubbox现在的主要功能简介
坦GA
本文来自Dubbx官方文档,拷贝过来方便查看。支持REST风格远程调用(HTTP+JSON/XML):基于非常成熟的JBossRestEasy框架,在dubbo中实现了REST风格(HTTP+JSON/XML)的远程调用,以显著简化企业内部的跨语言交互,同时显著简化企业对外的OpenAPI、无线API甚至AJAX服务端等等的开发。事实上,这个REST调用也使得Dubbo可以对当今特别流行的“微服务
- Dubbox 当前的主要功能
IT_搬运工
dubbo
支持REST风格远程调用(HTTP+JSON/XML):基于非常成熟的JBossRestEasy框架,在dubbo中实现了REST风格(HTTP+JSON/XML)的远程调用,以显著简化企业内部的跨语言交互,同时显著简化企业对外的OpenAPI、无线API甚至AJAX服务端等等的开发。事实上,这个REST调用也使得Dubbo可以对当今特别流行的“微服务”架构提供基础性支持。另外,REST调用也达到
- resteasy问题集
潦倒神仙
1.静态文件访问作为servlet进行资源的注册,你会发现不能将静态文件(html,images)注册为资源,因为那样的请求会被当作一个service路径来处理。同时如果指定路径下没有相应的service对应,RESTEasy还能委派一个基础的service来处理。所以resteasy还提供了filter进行资源的注册,不妨碍其获取静态文件。Resteasyorg.jboss.resteasy.p
- Spring boot 与RestEasy结合
华-哥
spring-boot
Springboot与RestEasy结合SpringBoot官方并没有出于RestEasy结合的jar包,估计是应为RestEasy用的比较少吧,但是paypal团队出了一个jar(传送门1),估计他们那边有RestEasy用的比较多吧,PayPal是国际版本的支付宝(传送门2)首先导包com.paypal.springbootresteasy-spring-boot-starter2.3.3-
- spring和resteasy整合的注意事项
大师兄吖
springmvc
1、如果restful服务不要前缀那么这种方式只有和springmvc整合后才可以,springbean配置文件要添加这个就是和springmvc进行整合。且要使用servlet初始化器org.jboss.resteasyresteasy-servlet-initializer${resteasy-version}2、如果restful服务,有前缀,那么和springmvc整合或不整合(sprin
- spring和resteasy集成,构建restful风格服务
大师兄吖
springmvc
spring和resteasy集成,三种主要的方式,对于和jbossas7的集成不需要做任何工作,jboss默认集成了resteasy,只需要对业务pojo做一些jax-rs的注解标注即可。这里不是本帖的话题。我们这里讲的servlet容器是tomcat。开始前,先做一些准备工作,引入jar包,我使用的是maven。jar包版本,添加到属性文件里去:2.2.33.0.4.Final4.2.5下面是
- 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