题目描述样例输入3152111153样例输出FFT代码如下:#includeusingnamespacestd;longlongm,a;intmain(){cin>>m;for(inti=1;i>a;longlongt=a,n[10],cc=0,s=0;while(t!=0){//求位数与拆位n[cc]=t%10;t=t/10;cc++;}for(intj=0;j
C# 实现傅里叶变化(DFT)
大浪淘沙胡
C#c#开发语言DFT
1、DFT函数类usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceDFT_FFTApp.Utils{publicclassDFT{//////DFT/////////publicstaticList>DFTNative(
中小型生产企业工业数据采集分析平台 规划生产流程
蓝鹏测控
其他自动化制造
工业数据采集分析平台是一款优秀的工控自动化软件,可以用于数据采集、实时监测和过程控制、数据传输、系统联动、远程监控等多种应用,数据采集平台通过对设备运行状态及相关参数监视实现保证每个环节都能按照既定方案进行,同时缩短非正常停机时间并优化物料使用率。功能简述简单的用户界面,具有在线信号可视化功能。包含多台客户机的客户机/服务器架构。提供测量数据的多种显示方式,如波动图、趋势图、缺陷图、统计图、FFT
音视频入门基础:WAV专题(7)——FFmpeg源码中计算WAV音频文件每个packet的size值的实现
cuijiecheng2018
FFmpeg源码分析音视频技术音视频ffmpeg
一、引言从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以显示WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的size:这个“size”实际是AVPacket结构体中的成员变量size,为WAV音频文件中某个packet的大小(单位为字节),通过fftools/ff
2022-12-16:百度百科“尼古丁”词条
小新旅
链接地址:https://baike.baidu.com/link?url=WzUJYK8UG-FR9fTYT0YxMThf_veJ1BbD0LqYAy3ScTh1aSgFaCkLdP6WP70rNzC3ORQHENiDEWlwNUwkxMBWXTMEACRBFnZ8UH1P6rg8dL91rDHt4JDKCXXv24laFftO#reference-[5]-8064808-wrap全文复制如下:
windows下Ubuntu子系统安装lammps
yl--炼气
windowsubuntulinux
下载wsl子系统(Ubuntu),此前需要做到两步:一、系统设置开启开发者模式二、控制面板->程序->程序和功能->启动或关闭windows功能->勾选适用于Linux的Windows子系统#可参考【Linux运维系列】Windows系统下开启Ubuntu子系统_windowsubuntu子系统-CSDN博客fftw下载(提高计算速度):wgethttp://www.fftw.org/fftw-3
Git指令
五八哥
git
学习网站1.提交对策gitcommit-m“提交日志”gitcomnit-m"V1.05"2.恢复文件gitcheckout需要恢复的文件gitcheckouttest.sh3.查看文件差异gitdiff差异文件gitdifftest.sh4.查看本地改动状态gitstatusgitstatus.gitstatus-uno不显示没有追踪的文件5.查看分支gitbranch查看本地分支gitbran
分治乘法详细讲解
我有一些感想……
c++数据结构算法
我绝对不会告诉你我是因为太蒻了,不会FFT才搞这个的。我用一下别人的图没什么问题吧看得懂吧?比如X=123456,Y=987654X=123456,Y=987654X=123456,Y=987654,则n=3,A=123,B=456,C=987,D=654n=3,A=123,B=456,C=987,D=654n=3,A=123,B=456,C=987,D=654。前置知识:整数末尾添000方法(不
RBD快照灾备方案
lihanglucien
一、说明从主集群定期的导出最近两个快照之差,然后导入到备集群。二、Ceph生成差量文件的方式2.1导出某个image从创建到此刻的变化2.1.1导出快照rbdexport-difftest_pool/test_imagetestimage_now2.1.2导入快照rbdimport-difftestimage_nowtest_pool/test_image2.1.3流程图__image_____.
英语日积月累2023-06-10
抽刀断水2
miremiremire泥潭轮子在泥潭中陷得更深了。Thewheelssankdeeperintothemire.millimetremillimetremillimetre毫米他把木头削去一毫米。Heshavedamillimetreofftheblock.miraclemiraclemiracle奇迹,令人惊讶的事除非发生奇迹,否则我们输定了。Shortofamiracle,we'recert
基于 RISC-V SoC 的 1024 点 FFT 设计(10-02-05)1024 点 FFT 的 RISC-V SoC 整体架构
新芯设计
第十篇章基于RVSoC的1024点FFT设计ICFPGASoCVerilog芯片设计硬件开发RISC-V
芯片原厂必学课程-第十篇章-基于RISC-VSoC的1024点FFT设计10-02-051024点FFT的RISC-VSoC整体架构新芯设计:专注,积累,探索,挑战文章目录芯片原厂必学课程-第十篇章-基于RISC-VSoC的1024点FFT设计10-02-051024点FFT的RISC-VSoC整体架构引言一、FFT系统的架构设计二、FFT系统的总线设计三、FFT系统的资源分析与功耗分析引言 本
OFDM技术
车门焊死放音乐
OFDM正交频分复用技术能减少子载波间干扰,减少保护带宽,提高频谱利用率。OFDM系统主要功能模块:1.串并,并串转换2.FFT,IFFT转换3.加CP去CP多径效应会产生多径时延或时间色散,多径时延容易产生符号间干扰ISI.ICI是多载波间干扰OFDM系统的优势:1.频谱利用率高2.带宽配置灵活,扩展性强3.抗干扰抗衰弱能力强4.系统自适应能力强5.MIMO实现简单
2021-11-23
杨濡冰
Part11,从本单元中我学到的最重要的理念:精读:1.ThefriendIkeepinmylifereflectwhoIamanddesiretobeasaperson.2.Afriendinneedisfriendindeed,puregoldprovesitsworthinablazingfire.3.youshouldneverputofftilltomorrowwhatyoucandot
寻找身高相近的小朋友
~柠月如风~
刷题c语言华为od数据结构
题目描述小明今年升学到了小学1年级来到新班级后,发现其他小朋友身高参差不齐,然后就想基于各小朋友和自己的身高差,对他们进行排序,请帮他实现排序。输入描述第一行为正整数h和n,0#include//定义一个结构体person,包含小朋友的身高height和与小明身高的差值difftypedefstruct{intheight;intdiff;}person;//自定义排序函数cmp,用于qsort进
C语言编写FFT程序
唐维康
c语言FFT
徐士良老师编写的c语言算法程序下载链接:https://pan.baidu.com/s/1zDV6iLeYeXmZaoZlP4yRAA提取码:8opo一、什么是FFT?FFT(FastFourierTransformation)是离散傅氏变换(DFT)的快速算法。即为快速傅氏变换。它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。二、FFT的作用FFT可以用来加速多
平时积累的FPGA知识点(8)
徐丹FPGA之路
FPGAfpga开发笔记
平时在FPGA群聊等积累的FPGA知识点,第八期:21FFTIP核有遇到过FFTIP核测量频率不准确的问题吗?大部分情况下都是准的,偶尔偏差比较大,IP核输入的数据用matlab计算出的频率是对的。解释:可能是采样点数不对,如果采样率是固定的,那只有点数会影响频率了。IP不会自动处理,要根据你给的tlast和ip设置的一不一致来看。变换长度参数设置的2048,如果输入的数据长度不够20480,应该
关于FFT精华/精简详解
灵哎惹,凌沃敏
C/C++fftc算法
1.对一段离散数据(N个点,比如说AD采样值)的FFT结果就是这N个点对应的复数a+bi;画到坐标轴上x轴对应的就是频率,Y轴对应的就是该点的复数的坐标点;因此FFT是将信号从时域变换到频域就是说,将原信号X轴的时间变成了频率,Y轴的点的大小值变成了该点对应的复数的坐标点。2.假设采样频率为Fs,点数为N,则本次FFT的频率分辨率为FS/N,即FFT结果的每个点的频率间隔为FS/N,则点n对应的频
PC端微信多开代码
cai58201827
微信p2p网络协议
@echoofftaskkill/F/IMwechat.exestart"""D:\ProgramFiles\Tencent\WeChat\WeChat.exe"start"""D:\ProgramFiles\Tencent\WeChat\WeChat.exe"新建一个txt文本输入下面的代码,然后后缀名字改成bat
【RISC-V DSP设计】基于CEVA DSP架构的指令集分析(二)-函数列表
瑶光守护者
risc-v5G学习笔记网络架构
目录表3-1:定点滤波器功能表3-2:定点快速傅里叶变换(FFT)函数表3-3:定点数学函数表3-4:定点三角函数表3-5:定点向量函数表3-6:定点矩阵函数表3-7:浮点滤波器函数表3-8:浮点快速傅里叶变换(FFT)函数表3-9:浮点数学函数表3-10:浮点三角函数表3-11:浮点向量函数表3-12:浮点矩阵函数本文主要围绕数字信号处理(DSP)中的固定点滤波器函数进行了详细列表展示。这些函数
diff 工具环境搭建
cdz620
环境搭建安装BeyondCompare将bcmp软连接到/usr/local/bin,命令行可以调用:ln-s/Applications/Beyond\Compare.app/Contents/MacOS/bcomp/usr/local/bin打开sourcetree--》preference--》difftab--》设置如下参数1:$LOCAL$REMOTE参数2:$LOCAL$REMOTE$B
清空磁盘的只读属性
AmBestToday
#Windowslinux服务器ubuntu
复制代码,另存为xxx.bat文件@echoofftitle预定义命令组:head@echooff>nul2>&1"%SYSTEMROOT%\system32\cacls.exe""%SYSTEMROOT%\system32\config\system"if'%errorlevel%'NEQ'0'(gotoUACPrompt)else(gotogotAdmin):UACPromptechoSetU
基于全相位FFT算法的调相信号Matlab实现
jjzw1990
matlab数字信号处理matlab
目录一、什么是调相信号二、调相信号的频谱是什么样的?三、Matlab实现上篇文章《全相位FFT算法Matlab实现》用的是一般的复数信号,但如果是调相信号,又该怎样用Matlab仿真实现呢?一、什么是调相信号看下面这张图。二、调相信号的频谱是什么样的?调相信号不同于一般的正弦信号,频谱分析需要用到贝塞尔函数进行展开,可参看如下论文,频谱见下图:《第一类贝塞尔函数在调频信号测量中的应用》三、Matl
全相位FFT算法Matlab实现
jjzw1990
数字信号处理matlabmatlab算法fpga开发
一、参考文献王兆华,全相位FFT相位测量法[J].二、Matlab代码%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ZhengWei,2023/05/04%%%%用途:如果信号频率f不等于fs/N的整数倍,FFT就会频谱泄露,计算的相位角就不对;%%全相位FFT法
时间函数举例2
tesla_shy
java前端服务器
#include#includeintmain(){time_tstart,end;inti;start=time(NULL);for(i=0;i<300000;i++){printf("\n");//返回两个time_t型变量之间的时间间隔}end=time(NULL);//输出执行时间printf("时间间隔为%6.3f\n",difftime(end,start));}
【numpy】几种fft函数的使用
安安爸Chris
深度学习机器学习python线性代数
numpy下fft模块提供了丰富的fft函数,几种常用的在这里记录一下使用方式fft输入实数samples,如果输入的sample是带虚数部分的话,虚数部分会被默认删除。t=np.arange(12)b=np.sin(t)print(b)print("sum(b)=",np.sum(b))s=np.fft.fft(b)print(s)运行结果截图如下从图中可以看到,[0]是一个实数,实数部分是所有
rpc协议中,字段值类型改变的思考
赤子心_d709
背景今天遇到了一个场景,下游强行把某个字段的类型给改了(字段顺序没有变),上线的过程中上下游都没有出错,和我预想的不一样,我认为上游反序列化解析的时候会出错python语言,thrift协议当然这样的做法不推荐,这里只说明一下上游没有报错的原因代码框架上:用的是thrift,当然是公司封装了一层,对于我rpcclient,也就是上游,影响的代码如下eliffid==11:ifftype==TTyp
ubuntu彻底卸载cuda 重新安装cuda
irrationality
计算机应用技术linuxubuntulinux运维
sudoapt-get--purgeremove"*cublas*""*cufft*""*curand*"\"*cusolver*""*cusparse*""*npp*""*nvjpeg*""cuda*""nsight*"cuda10以上cd/usr/local/cuda-xx.x/bin/sudo./cuda-uninstallersudorm-rf/usr/local/cuda-xx.xcud
ICCV 2023 | 8篇论文看扩散模型diffusion用于图像检测任务:动作检测、目标检测、异常检测、deepfake检测...
机器学习与AI生成创作
目标检测人工智能计算机视觉
1、动作检测DiffTAD:TemporalActionDetectionwithProposalDenoisingDiffusion基于扩散方法提出一种新的时序动作检测(TAD)算法,简称DiffTAD。以随机时序proposals作为输入,可以在未修剪的长视频中准确生成动作proposals。从生成建模的视角,与先前的判别学习方法不同。首先将真实proposals从正向扩散到随机proposa
The Back-And-Forth Method (BFM) for Wasserstein Gradient Flows windows安装
73826669
数学pythonpipfastapi
本文记录了BFM算法代码在windows上的安装过程。算法原网站:https://wasserstein-gradient-flows.netlify.app/github:https://github.com/wonjunee/wgfBFMcodes文章目录FFTWwgfBFMcodesMATLABpython注FFTW官网/下载路径:https://www.fftw.org/install/w
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