- 【Springboot知识】开发属于自己的中间件健康监测HealthIndicate
问道飞鱼
微服务相关技术springboot中间件后端HealthIndicate
文章目录**一、技术栈****二、项目结构****三、依赖配置(pom.xml)****四、配置文件(application.yml)****五、自定义健康检查实现****1.Redis健康检查****2.Elasticsearch健康检查****3.Kafka健康检查****4.MySQL健康检查****六、自定义健康检查接口(可选)****七、测试与验证****八、高级功能扩展****九、部署
- pipenv install -r requirements.txt
总是幸福的老豌豆
日常工作总结python
前言最近部署python项目时本地通过虚拟环境进行运行项目报错:错误如下PSC:\Users\Administrator\Desktop\desktop_health_sdk\desktop_health_sdk>pipenvinstall-rrequirements.txtWarning:Python2.7wasnotfoundonyoursystem..
- 【微代码】在Mellanox驱动中有哪些work?以及有哪些workqueue?
北冥的备忘录
网络服务器Mellanox
work比如常见的几个work:ib_cq_poll_work用来pollcq的health_recover_work用来fw健康恢复的mlx5e_tx_timeout_worktxtimeout的cma_work_handler用来管理rdmacm的事件的workqueueworkarp_repath->workipoib_repath_ahassoc->del_worknvmet_fc_del
- Docker基础入门(三) - 构建Dockerfile详解
GODLIKENESS
Dockerdocker人工智能容器运维微服务
文章目录构建Dockerfile详解1.简介2.基本结构3.指令详解3.1FROM3.2MAINTAINER3.3LABEL3.4RUN3.5CMD3.6ENTRYPOINT3.7EXPOSE3.8ENV3.9ADD3.10COPY3.11VOLUME3.12WORKDIR3.13USER3.14ARG3.15ONBUILD3.16STOPSIGNAL3.17HEALTHCHECK3.18SHEL
- Ollama原生Api接口
小码农吗
AI人工智能deepseek
这里写目录标题1.**生成文本(GenerateText)**2.**流式生成文本(StreamingGenerateText)**3.**列出可用模型(ListModels)**4.**拉取模型(PullModel)**5.**删除模型(DeleteModel)**6.**模型信息(ModelInfo)**7.**聊天模式(ChatMode)**8.**健康检查(HealthCheck)**9.
- 戴尔服务器bios修改风扇,BIOS风扇调整
已退乎
戴尔服务器bios修改风扇
BIOS风扇调整的选项:第一种情况:HardwareHealthConfigurationCPUFanModeSetting(CPU风扇设置)可选1:FullOnmode2:PWMManuallymode3:Automaticmode选择1,CPU风扇将全速运转,风扇声音最大选择2,将有CPUFanPWMControl项,此项可更改数值0-127,对应风扇转速的128个等级,数值越大,风扇转速越高
- java2025springboot面试题第二弹
WangYaolove1314
javajavaspringboot
1.如何在SpringBoot中实现自定义的健康检查指标?答案:SpringBootActuator提供了健康检查功能,可以通过实现HealthIndicator接口来自定义健康检查指标。@ComponentpublicclassCustomHealthIndicatorimplementsHealthIndicator{@OverridepublicHealthhealth(){interror
- 开机出现fixing(c:) stage...问题解决方案
QuartusII7
KMJ公司运维
1.使用官方提供的疑难解答程序后并更新系统https://aka.ms/wudiag2.修复系统文件要检查和修复系统文件,请执行以下操作:请您启动管理员模式的命令提示符,依次输入以下命令并回车,之后重新启动计算机。sfc/scannowDism/Online/Cleanup-Image/ScanHealthDism/Online/Cleanup-Image/CheckHealthDISM/Onli
- 4.Ceph监控
yongbang_yan
ceph集群运维
Ceph监控演示如何监控一个Ceph集群。我们将学习如何用ceph的命令行工具进行监控。监控集群的整体状态健康状态ceph命令的health选项查看集群的健康状态。#cephhealthdetailHEALTH_WARNclockskewdetectedonmon.ceph-node2;Monitorclockskewdetectedmon.ceph-node2addr192.168.1.121:
- ceph HEALTH_WARN clock skew detected on mon.f, mon.o, mon.p, mon.q
时空无限
cephceph
问题cephhealthdetail[WRN]MON_CLOCK_SKEW:clockskewdetectedonmon.f,mon.o,mon.p,mon.qmon.fclockskew0.243128s>max0.05s(latency0.000836159s)mon.oclockskew16.249s>max0.05s(latency0<
- RAG-Driven Enhancement of Multimodal Electronic Health Records Analysis via Large Language Models
UnknownBody
RAGforLLMMultimodal语言模型机器学习人工智能
本文是LLM系列文章,针对《REALM:RAG-DrivenEnhancementofMultimodalElectronicHealthRecordsAnalysisviaLargeLanguageModels》的翻译。REALM:RAG驱动的通过大语言模型增强多模态电子健康记录分析摘要1引言2相关工作3问题定义4方法5实验设置6实验结果7结论摘要多模态电子健康记录(EHR)数据的集成显著提高了
- Elasticsearch(ES)集群监控
有风听风有雨看雨
elasticsearch大数据
Elasticsearch(ES)集群监控在Elasticsearch中,监控集群的健康状况、性能和运行指标是至关重要的。以下是一些常用的Elasticsearch监控工具和API的例子:使用Elasticsearch自带的API来获取集群健康状态、节点信息和统计信息。#获取集群健康状况curl-XGET"localhost:9200/_cluster/health?pretty"#获取集群节点信
- Win10强制升级Win11方法(无视配置和TPM)
m0_70960708
笔记笔记
Win11正式版马上就要推出了,目前每周微软都会推动预览版更新,不过有些配置不达标的电脑是不能升级Win11,下面为大家带来Win10强制升级Win11的方法,无视配置和TPM,而且老机器也一样可以通过下面的方法升级成功。升级之前我们先检测一下自己的电脑适不适合升级。PCHealthCheck(PC健康状态检查)下载
- Win10专业版升级Win11正式版图文教程
2401_88800025
笔记运维
Win10专业版怎么升级Win11专业版?目前Win10专业版的用户数是最多的,等到Win11正式发布后,这部分用户就可以直接升级到Win11专业版了,那么该如何升级呢?一、安装Win11之前的检测工作下载【pchealthcheck】检测软件,看一看我们是否满足win11的升级要求。Windows11最低配置要求:1、处理器:1GHz或更快的支持64位的处理器(双核或多核)或系统单芯片(SoC)
- 使用 Elastic Cloud Hosted 优化长期数据保留:确保政府合规性和效率
Elastic 中国社区官方博客
ElasticsearchObservabilityElasticelasticsearch大数据搜索引擎全文检索数据库
作者:来自ElasticJennieDavidowitz在数字时代,州和地方政府越来越多地承担着管理大量数据的任务,同时确保遵守严格的监管要求。这些法规可能因司法管辖区而异,通常要求将数据保留较长时间——有时从一年到七年不等。遵守刑事司法信息服务(CriminalJusticeInformationServices-CJIS)、健康保险流通与责任法案(HealthInsurancePortabil
- Eureka引入依赖后无法启动,Error processing condition on org.springframework.cloud.client.CommonsClientAutoCon
展翅双飞
eurekajavaspringcloud
Erueka配置之后无法正常启动。Errorprocessingconditiononorg.springframework.cloud.client.CommonsClientAutoConfiguration$DiscoveryLoadBalancerConfiguration.discoveryCompositeHealthContributor,这个错误是因为父项目的spring-boot
- 基于QT框架的开发——飞机大战
facker_Lap
C/C++----数据结构qt开发语言
基于QT框架的开发——飞机大战概述场景设置创建Player添加Enemy添加Bullet添加碰撞添加Score添加Health游戏的结束与重启添加音效一.概述由于笔者也是一个初学者,所以文章写的很拙劣,还请读者多多包含,这里呢,我推荐一个哔站up主关于飞机大战的学习教程,笔者也是跟着up主学习制作的,飞机大战教程QT是一个跨平台的C++框架,主要是用于图形用户界面(GUI)的程序开发,当然也可以用
- 番茄西红柿叶子病害分类数据集12882张11类别
futureflsl
数据集分类数据挖掘人工智能
数据集类型:图像分类用,不可用于目标检测无标注文件数据集格式:仅仅包含jpg图片,每个类别文件夹下面存放着对应图片图片数量(jpg文件个数):12882分类类别数:11类别名称:["Bacterial_Spot_Bacteria","Early_Blight_Fungus","Healthy","Late_Blight_Water_Mold","Leaf_Mold_Fungus","Powdery
- 3286、穿越网格图的安全路径
Lenyiin
题解c++算法leetcode
3286、[中等]穿越网格图的安全路径1、题目描述给你一个mxn的二进制矩形grid和一个整数health表示你的健康值。你开始于矩形的左上角(0,0),你的目标是矩形的右下角(m-1,n-1)。你可以在矩形中往上下左右相邻格子移动,但前提是你的健康值始终是正数。对于格子(i,j),如果grid[i][j]=1,那么这个格子视为不安全的,会使你的健康值减少1。如果你可以到达最终的格子,请你返回tr
- Leetcode 3286. Find a Safe Walk Through a Grid
Espresso Macchiato
leetcode笔记leetcode3286leetcodemeidumleetcode双周赛139bfs最优路径
Leetcode3286.FindaSafeWalkThroughaGrid1.解题思路2.代码实现题目链接:3286.FindaSafeWalkThroughaGrid1.解题思路这一题的话思路上就是一个宽度优先遍历,我们按照health进行排序进行宽度优先遍历,看看在health被消耗完之前是否可能走到终点即可。2.代码实现给出python代码实现如下:classSolution:deffin
- 【目标检测数据集】番茄叶片病害数据集13940张9类VOC+YOLO格式
熬夜写代码的平头哥∰
数据集目标检测YOLO目标跟踪
数据集格式:PascalVOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)图片数量(jpg文件个数):13946标注数量(xml文件个数):13946标注数量(txt文件个数):13946标注类别数:9标注类别名称:["EarlyBlight","Healthy","LateBlight","LeafMiner","Le
- 外泌体多组学11-血浆中胞外囊泡miRNA有效数据
信你个鬼
血液中循环的细胞外囊泡被描述为癌症生物标志物的宝库文章信息文献标题:PlasmaextracellularRNAprofilesinhealthyandcancerpatientsDoi:10.18632/oncotarget.8124发表时间:20January2016ScientificReports通讯作者:LiangWang威斯康星医学院病理学和MCW癌症中心学系数据情况来自192个样本的
- healthy body
何不问明月
Ihopemysonhaveaheathybody.Ihopemyfamilyheathy.Dontgotohospitalforever.Ilovethemforever.
- 敏感信息泄露总结_rabbitmq漏洞
2301_82056337
rabbitmq分布式
/env获取全部环境属性,数据库账户密码泄露,可获取mysql,managodb数据库的用户名和密码/configprops描述配置属性(包含默认值)如何注入Bean/dump获取线程活动的快照/health报告应用程序的健康指标,这些值由HealthIndicator的实现类提供,git项目地址泄露,可获取git项目的地址/info获取应用程序的定制信息,这些信息由info打头的属性提供/map
- 7.ArchR的整合(1)
武艺晴小朋友你好
ArchR表观遗传scATAC-seqr语言聚类
愿武艺晴小朋友一定得每天都开心>HowMPAL样本ontohealthy样本?即projection即作者的Fig2b中的部分7.1去读入MPAL的样本>##################1.读取Fragments信息文件###################>#input文件路径,ArchR只需传入样本的atac_fragments.tsv.gz文件>input.file.list#设置样本名
- 6.ArchR的可视化(4):TF的Footprint
武艺晴小朋友你好
ArchR表观遗传scATAC-seq前端javascript服务器
愿武艺晴小朋友一定得每天都开心在greenleaf团队的这篇发表文章的图表信息中,并没有Footprint的内容;但是呢:我还是蛮想基于现在拿到的celltype;看看在HealthyBM造血环境下的B细胞系的TFs它们的Footprint的情况步骤如下:##B细胞系的FootprintmotifPositionsunique(projHeme2$celltype)[1]"CLP1""Erythr
- 存储集群消除pg数量过多的告警
大 大金
ceph
[root@xxxxxxxxxxxxxx~]#ceph-scluster334cfe7e-9ccc-483d-8d2c-218fde3a5fdehealthHEALTH_WARNtoomanyPGsperOSD(307>max300)nodeep-scrubflag(s)setmonmape1:3monsat{node1=100.88.28.11:6789/0,node2=100.88.28.12
- 面向可信和节能的雾计算医疗决策支持系统的优化微型机器学习与可解释人工智能
神一样的老师
论文阅读分享人工智能
这篇论文的标题为《OptimizedTinyMachineLearningandExplainableAIforTrustableandEnergy-EfficientFog-EnabledHealthcareDecisionSupportSystem》,发表在《InternationalJournalofComputationalIntelligenceSystems》2024年第17卷,由R.
- 2018-05-01
我是不会赚钱的三姑娘
Don'tsmokewhiletherearechildrenandwomenEveryoneknowssmokingisbadforhealth,butstillalotofpeopleliketosmoke.Howeversomeonenotonlysmokeathomebutalsothepublicwheretherearebabyandwomenwhocan'tendurethesmel
- 禁止吸烟
Cup no bug !
蓝桥杯c++算法
题目描述学校设计了很多的标语,但是中间很多地方都把No_smoking写成了Ban_smoking。请你找到这些错误并将他们替换成正确的结果。保证每个标语中至多包含一个Ban_smoking。输入输入第一行为N表示总共的标语数量。之后的N行每行有一个待处理的标语。每个标语中不带有任何的空格。输出输出为N行,为经过处理后的所有的标语。输出顺序与输入时保持一致。样例输入4Ban_smoking_is_
- 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