- 【玄机】流量特征分析-小王公司收到的钓鱼邮件
2401_84302796
网络
Content-Length:85834x-powered-by:PHP/7.4.33content-description:FileTransfercontent-disposition:attachment;filename=TD.zipcontent-transfer-encoding:binaryexpires:0cache-control:must-revalidate,post-che
- ecmascript标准
周盛欢
ecmascript
一、什么是ECMAScriptECMAScript是一种脚本语言的标准,由EcmaInternational组织制定。简单来说,它就是JavaScript的“官方规范”,规定了JavaScript语言的语法和行为。就像英语有语法一样,JavaScript也有自己的“语法书”,而ECMAScript就是这本“语法书”。二、为什么需要ECMAScript以前,不同的浏览器(比如Chrome、Firef
- 2025蛇年喜庆HTML5代码
学习&实践爱好者
HTML5与CSS3JavaScrip技术编程实践系列html5前端html
2025蛇年喜庆HTML5代码以下是一个简单的HTML5+CSS+JavaScript代码示例,用于庆祝2025年蛇年。先看效果图:源码如下:2025年蛇年快乐!body{font-family:'Arial',sans-serif;background-color:#0a0a23;/*深蓝色背景*/color:#ffffff;/*白色文字*/text-align:center;margin:0;
- 【Python】Python 虚拟环境与依赖管理全指南
丶2136
python#pippython开发语言pip
目录引言一、什么是虚拟环境?1.1定义与功能1.2为什么需要虚拟环境?1.3工作原理1.4虚拟环境与全局环境的隔离关系图二、pip和虚拟环境的关系2.1`pip`在虚拟环境中的工作2.2`pip`和虚拟环境结合的优势三、虚拟环境基本操作3.1创建虚拟环境3.2激活与退出虚拟环境四、在虚拟环境中安装包4.1使用`pip`安装包4.2查看已安装包五、常用命令六、管理依赖与包6.1`requiremen
- 【openwrt】openwrt21.02 dhcpv6 Stateless Vs Stateful Vs Stateless & Stateful配置说明
wellnw
Openwrtopenwrtodhcpd
odhcpddhcpConfigurationforDHCPv4,DHCPv6,RAandNDPservices.NameTypeRequiredDefaultDescriptioninterfacestringLogicalOpenWrtinterface.ifnamestringPhysicalnetworkinterface.networkidstringAliasofifnameforco
- Python-基于mediapipe,pyautogui,cv2和numpy的电脑手势截屏工具(进阶版)
闪云-微星
计算机视觉python开发语言opencvpycharm计算机视觉windowsnumpy
前言:在我们的日常生活中,手机已经成为我们每天工作,学习,生活的一个不可或缺的部分。众所周知:为了我们的使用方便,手机里面的很多功能非常人性化,既便捷又高效,其中就有手机的截屏方式,它们花样繁多,如三指截屏,手势截屏等。那么怎么在电脑里面也实现这个功能呢?(虽然我们知到电脑也有快捷的截屏方式-Ctrl+Shift+S。但是很明显,这依然不够快捷,因为这至少需要用户的两次手动操作)。那么废话不多说,
- Mac系统安装 deepxde +VS code + pytorch
积分酱
pytorchpython人工智能机器学习
deepxde在Mac系统安装和学习笔记系列因为换了苹果电脑MacBookPro,所以软件都需要重新安装,记录一下安装过程。我的配置是python+VSCode。打开终端,直接按住command+空格键,输入终端就可以打开了。1.deepxde安装首先输入python3--version查看python版本,我的是Python3.9.13然后输入python3-mpip-V查看自己的pip版本,我
- Android 图片高斯模糊
又双㕛叕、
Android
1.RenderScript/***将传入的图片进行高斯模糊**@parammContext上下文*@parambitmap图片对象*@paramradius高斯模糊半径*@return模糊之后的对象*/publicstaticBitmapblur(ContextmContext,Bitmapbitmap,floatradius){longtime=System.currentTimeMillis
- android 高斯模糊和毛玻璃效果的实现
王虫虫就爱吃
java
一:Glide实现高斯模糊:(还有一种由RenderScript实现的高斯模糊,但在我的实际使用时候会报错,因此弃用了)Glide是一个比较强大也是比较常用的一个图片加载库,Glide中的Transformations用于在图片显示前对图片进行处理,glide-transformations这个库为Glide提供了多种多样的Transformations实现,其中就包括高斯模糊的实现BlurTra
- 刷题前必学!链表!用JavaScript学数据结构与算法
JavaScript数据结构与算法-HowieCong务必要熟悉JavaScript使用再来学!一、链表的基本形态链表和数组都是有序的列表,都是线性结构(有且仅有一个前驱,有且仅有一个后续);不同点在于,链表中,数据单位的名称叫做“结点”,而结点和结点的分布,在内存中都是离散的1.数组的“连续”在内存中最为关键的一个特征,就是对应一段位于自身上界和下界之间的,一段连续的内存空间。元素与元素之间,
- ambari-server页面错位问题解决
王木头
ambarihadoop大数据
背景:项目新安装的ambari集群页面错位如下解决办法(临时):修改ambari-server的前端文件:/usr/lib/ambari-server/web/javascripts/app.js原代码:initNavigationBar:function(){if(App.get('router.mainController.isClusterDataLoaded')){$('body').on
- 前端的核心技术
善良的小乔
前端
前端开发的核心技术主要围绕HTML、CSS、JavaScript三大基础语言展开,同时结合现代前端开发的需求,还包括前端框架、构建工具、前端安全和性能优化等内容。下面,我们详细解析前端开发中的核心技术。一.HTML(超文本标记语言)详解HTML(HyperTextMarkupLanguage)是前端开发的基础,用于构建网页的结构。HTML由各种标签(Tag)组成,每个标签都有不同的作用,主要用于定
- Python爬虫与窗口实现翻译小工具(仅限学习交流)
纵码奔腾
python
Python爬虫与窗口实现翻译小工具(仅限学习交流)在工作中,遇到一个不懂的单词时,就会去网页找对应的翻译,我们可以用Python爬虫与窗口配合,制作一个简易的翻译小工具,不需要打开网页,自动把翻译结果显示出来。整个过程比较简单。#ThisisasamplePythonscript.#PressShift+F10toexecuteitorreplaceitwithyourcode.#PressDo
- CSS3网页加载进度条特效:13种炫酷实现
laforet
本文还有配套的精品资源,点击获取简介:本文深入探讨CSS3在网页加载进度条设计中的应用,包括动画、选择器、边框半径、过渡和阴影等新特性。通过介绍13种不同的进度条特效代码,指导开发者如何结合JavaScript实现丰富的进度显示效果,提升用户体验。详细描述了进度条的外观设计和动态效果,如计数器进度条、顶部进度条、背景进度条,并展示了利用Flexbox、Grid布局、Transforms、阴影和渐变
- 联想Y7000+RTX4060+i7+Ubuntu22.04运行DeepSeek开源多模态大模型Janus-Pro-1B+本地部署
铮铭
深度学习deepseekJanus-Pro文生图图像理解
直接上手搓了:condacreate-nmyenvpython=3.10-ygitclonehttps://github.com/deepseek-ai/Janus.gitcdJanuspipinstall-e.pipinstallwebencodingsbeautifulsoup4tinycss2pipinstall-e.[gradio]pipinstall'pexpect>4.3'python
- 使用CSS实现一个加载的进度条
eqa11
css前端进度条
文章目录使用CSS实现一个加载的进度条一、引言二、步骤一:HTML结构与CSS基础样式1、HTML结构2、CSS基础样式三、步骤二:添加动画效果1、使用CSS动画2、结合JavaScript控制动画四、使用示例五、总结使用CSS实现一个加载的进度条一、引言在现代网页设计中,加载速度对用户体验至关重要。为了提升用户体验,加载进度条成为了一个常见的交互元素。它不仅能告知用户页面加载的进度,还能减少用户
- python对文件加密解密模块
ustczhng2012
Python相关博文cryptoAES加密解密
安装Crypto:pip3installpycryptodome封装一个可用的模块#!/usr/bin/python#-*-coding:UTF-8-*-fromCrypto.CipherimportAESimporthashlibclassAescrypt():def__init__(self,key,model=AES.MODE_CBC,iv='1234567812345678'):self.
- 探索MVIKotlin:多平台MVI架构的强大框架
朱龙阔Philippa
探索MVIKotlin:多平台MVI架构的强大框架MVIKotlinExtendableMVIframeworkforKotlinMultiplatformwithpowerfuldebuggingtools(loggingandtimetravel),inspiredbyBadooMVICorelibrary项目地址:https://gitcode.com/gh_mirrors/mv/MVIKo
- Python: 配置清华源
Dark_Y3
Pythonpython开发语言
pipconfigsetglobal.index-urlhttps://pypi.tuna.tsinghua.edu.cn/simple
- 深入了解 React:从入门到高级应用
╰つ゛木槿
web前端react.js前端前端框架
深入了解React:从入门到高级应用React是由Facebook开发并维护的一个开源JavaScript库,用于构建用户界面。自2013年发布以来,React在前端开发领域迅速崛起,成为最受欢迎的UI构建工具之一。无论是小型的单页应用(SPA)还是复杂的大型企业级应用,React都能提供高效、灵活的解决方案。本文将全面、详细地介绍React,包括其核心概念、工作原理、最佳实践以及生态系统。目录:
- kubenetes配置vip的一些问题处理
warrah
岁月云——运维kuberneteskubeadminvip
按照kubeadm部署k8s高可用集群,执行kubeadminit--configkubeadm-config.yaml--v=5,初始化失败,添加--v=5是为了看更详细的日志信息kubernetes之kubeadm安装kubernetes高可用集群根据指示,跟进日志Unfortunately,anerrorhasoccurred:timedoutwaitingfortheconditionTh
- C++进程间通信共享内存
喵先生!
linux服务器运维
目录一、共享内存概述二、共享内存操作一、共享内存概述共享内存是一种允许两个或多个进程共享一个给定存储区域的进程间通信(IPC)方法。它是实现进程间数据交换的最快方法之一,因为数据不需要在进程间复制,只需映射到共享内存即可。共享内存的优点包括:高效:由于不需要通过内核传送数据,因此共享内存是一种非常高效的数据交换方式。实时性:避免了数据复制的步骤,可以为需要快速响应的应用程序提供实时的数据共享。灵活
- python中pywt库安装
吟风忆柳
python
python中pywt库安装pipinstallPyWaveletscondainstallPyWavelets
- 数据结构与算法之字符串: LeetCode 43. 字符串相乘 (Ts版)
Wang's Blog
DataStructureandAlgorithmsleetcode算法
字符串相乘https://leetcode.cn/problems/multiply-strings/description/描述给定两个以字符串形式表示的非负整数num1和num2,返回num1和num2的乘积,它们的乘积也表示为字符串形式注意:不能使用任何内置的BigInteger库或直接将输入转换为整数示例1输入:num1="2",num2="3"输出:"6"示例2输入:num1="123"
- TypeScript进阶实战:构建可维护的企业级应用
技术出海录
人工智能前端React
"这代码太难维护了!"接手一个海外客户的项目后,我不禁感叹道。虽然项目用了TypeScript,但类型定义混乱,代码提示基本失效,测试写起来也很痛苦。作为一个有着多年TypeScript开发经验的工程师,我深知一个项目的可维护性有多重要。最近三个月,我带领团队对这个项目进行了一次彻底的改造,不仅让代码变得更加健壮,还建立了一套完整的TypeScript最佳实践。今天就来分享这个过程中的实战经验。项
- Python清华镜像源使用方法(python 安装包)
程序 代码狂人
linux运维服务器
pipinstallpandas-ihttps://pypi.tuna.tsinghua.edu.cn/simple/把红字用要下载的包名替换掉即可pip:这是Python的包管理工具,用于安装和管理Python包。pip允许你从Python包索引(PythonPackageIndex,简称PyPI)下载和安装库。install:这是pip的一个子命令,用于安装包。当你指定install时,pip
- 构建企业级React应用的进阶实践
python算法(魔法师版)
react.js
构建企业级React应用的进阶实践在当今前端开发领域,React凭借其组件化架构和声明式编程范式,已成为构建复杂用户界面的首选方案。本文将深入探讨React的高级应用场景,通过一系列精心设计的代码示例,展示如何打造高性能、可维护的现代化前端应用。一、状态管理的艺术1.1原子化状态管理typescript复制//lib/recoil/atoms.tsimport{atom,selector}from
- JavaScript简介、如何在HTML中使用JavaScript以及JavaScript基本概念
v.15889726201
javascripthtmludp
一、JavaScript简介一个完整的JavaScript实现应该由ECMAScript(核心)、DOM(文档对象模型)、BOM(浏览器对象模型)三个不同的部分组成;ECMAScript提供核心语言;DOM(DocumentObjectModel)把整个页面映射为一个多层节点结构,是针对XML但经过扩展用于HTML的应用程序编程接口(API),借助DOM提供的API,开发人员可以轻松自如地删除、添
- 【Elasticsearch】脚本查询需要字段时使用的docValues结构吗?
risc123456
Elasticsearchelasticsearch
是的,在Elasticsearch中,当您在脚本查询(ScriptQuery)中访问字段值时,默认情况下会使用`docvalues`。这是因为`docvalues`是一种列式存储结构,专门为排序、聚合以及脚本中的字段访问等操作优化设计的。它们在索引时间生成,并存储在磁盘上,这使得它们非常适合于需要高效访问字段值但不需要全文搜索功能的场景。###脚本查询与DocValues1.**默认行为**:-当
- PYTHON UI自动化,selenium第一节,登录
测试小白2951
python开发语言
'''1/安装Selenium库:使用pip工具来安装Selenium库。在命令行中输入以下命令:pipinstallselenium/requestspip常用基础命令查看已经安装的第三方库:piplist直接安装库:pipinstall库名指定版本安装:pipinstallrobotframework==2.8.7卸载已安装的库:pipuninstallrequests更新某个库:pipins
- 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