- java替换特殊字符,如何替换字符串中的特殊字符?
大禹昆仑
那取决于你的意思。如果您只是想摆脱它们,请执行以下操作:(更新:显然您也想保留数字,在这种情况下,请使用第二行)StringalphaOnly=input.replaceAll("[^a-zA-Z]+","");StringalphaAndDigits=input.replaceAll("[^a-zA-Z0-9]+","");或等效的:StringalphaOnly=input.replaceAl
- oracle常用函数
小辉煌
oracle
1、replace()含义:替换字符串,用法:replace(原字段,“原字段旧内容“,“原字段新内容“)2、greatest(expr_1,expr_2,...expr_n)含义:从表达式(列、常量、计算值)expr_1,expr_2,...expr_n等中找出最大的数返回用法:SELECTGREATEST(2,5,12,3,16,8,9)AFROMDUAL;--结果为163、nvl()含义:如
- MySQL--group by--聚合函数--内置函数--0415 22
Gosolo!
MySQLsql数据库
目录1.聚合函数1.1count1.2sum1.3avg1.4max和min2.groupby2.1groupby的条件筛选——having2.2总结3.日期函数4.字符串函数concatreplacesubstring以首字母大写,其余字母小写的方式显示员工的姓名5.数学函数formatrand()6.其他函数user()md5ifnull1.聚合函数函数说明count([DISTINCT]参数
- python 替换字符串
Aa123456789_55
pandaspython数据库开发语言
在Python中,替换字符串可以通过多种方式实现,具体取决于您的需求和上下文。以下是几种常见的方法:1.使用str.replace()方法str.replace(old,new[,count])是最常用的字符串替换方法。它会将字符串中的所有匹配项替换为新的字符串。old:要被替换的子字符串。new:用来替换的新字符串。count(可选):替换的最大次数。如果未指定,则替换所有匹配项。示例代码:or
- 训练数据重复采样,让正负样本比例1:1
kimi-222
机器学习人工智能深度学习
详细解释resample函数:resample函数来自sklearn.utils,用于从数据集中重新抽样。replace=True表示允许重复抽样,即同一个样本可以被多次选中。n_samples指定抽样的数量。确保训练集数量相同:通过resample函数,你可以确保正训练集和负训练集的数量相同,即使其中一个集的数量小于另一个集的数量。如果n_train_num小于max_train_num,res
- Hive SQL 精进系列:REGEXP_REPLACE 函数的用法
进一步有进一步的欢喜
HiveSQL精进系列hivesqlhadoop
目录一、引言二、REGEXP_REPLACE函数基础2.1基本语法参数详解2.2简单示例三、REGEXP_REPLACE函数的应用场景3.1去除特殊字符3.2统一字符串格式四、REGEXP_REPLACE与REPLACE函数的对比4.1功能差异4.2适用场景五、REGEXP_REPLACE与REGEXP函数的对比5.1功能差异5.2适用场景六、总结一、引言字符串处理是数据处理中的常见需求,Hive
- adobe软件提示This non-genuine Adobe app will be disabled soon
刘登辉
adobe
Thisnon-genuineAdobeappwillbedisabledsoonNon-genuineappsmaycontainmalwarethatexposesyourorganisationanditsfilestosecurityrisks.Adobeprovidesa10-daygraceperiodtoresolvethisissuewithreplacementapps.修改电脑
- Python 实现海康机器人工业相机 MV-CS050-10GC 的实时显示视频流及拍照功能(实时显示视频流同时可以进行拍照)
恋上钢琴的虫
数码相机
参考链接:https://www.cnblogs.com/HanYork/p/17388506.htmlhttps://www.cnblogs.com/miracle-luna/p/16960556.html#5138211Flask搭建流媒体服务器:使用Flask搭建一个流媒体服务器_multipart/x-mixed-replace;boundary=frame-CSDN博客
- python脚本使用Bash指令的一种方式
xz1308579340
python
print(name)print(read_content(name))infos.append(read_content(name))xml=os.path.join(dir,name)new_xml=new_dir+'/'+str(count)+'.xml'img=xml.replace('xml','png')new_img=new_dir+'/'+str(count)+'.png'wd='
- strtr和str_replace效率探索
hello_simon
php
今天写代码用到字符串规制,就上网查了下strtr与str_replace的效率如何,网上一些地方说strtr比str_replace快四倍。半信半疑,自己就做了下测试。strtr比较怪异,用法这里不提。只做两种这两个函数可以替换用的测试例子。第一种list($usec,$sec)=explode('',microtime());$star=$usec+$sec;$string='paocaiasd
- SeaTunnel社区「Demo方舟计划」第2期活动上线—— MySQL同步至MySQL数据合并场景实战
数据库
引言凌晨3点,某金融公司的数据工程师老王盯着屏幕上的报错信息陷入绝望——从32个分库同步的用户交易数据,在合并至中心MySQL表时,因主键冲突导致每天近10万条数据丢失。业务方投诉不断,而他能找到的解决方案,要么是REPLACEINTO性能低下,要么是INSERTIGNORE无法追溯冲突数据。这并非孤例,可能大部分新接触数据同步的工程师都会遇到以下情况:72%在分库分表合并场景中遭遇过主键冲突导致
- java字符串练习题_java练习题——字符串
阿呆java
java
一.动手动脑之String.equals()方法:判断s1和s2的内容相同s1.equals(s2)。判断s1和s2的地址相同s1==s2。二.整理String类的Length()、charAt()、getChars()、replace()、toUpperCase()、toLowerCase()、trim()、toCharArray()使用说明1、length()字符串的长度2、charAt()截
- vue和django接口联调
变形金刚卖人寿保险还是汽车保险
前端javascriptvue.js
vue访问服务端接口配置跨域前端跨域打开vite.config.js,在和resolve同级的地方添加配置。proxy代表代理的意思"/api"是以/api开头的路径走这个配置target代表目标changeOrigin:true,是开启跨域请求rewrite是编辑路径。(path)=>path.replace(/^\/api/,"")是去掉/api这样一个路径进来就会被处理,如下:"/api/c
- python字符串练习题
DDD小小小宇宙
python例题pythonjavawindows
python字符串练习题:1.有变量name="aleXleNb"完成如下操作:移除name变量对应的值两边的空格,并输出处理结果name="aleXleNb"s1=name.strip()print(s1)将name变量对应的值中所有的空格去除掉,并输出处理结果name="aleXleNb"s1=name.replace('','')print(s1)判断name变量是否以“al”开头,并输出结
- 替换word模板内容 Java实现
一头酸奶牛_
工具类java
文章目录第一步:准备文件第二步:将word文件另存为.xml格式第三步:放到idea中的一个目录下第四步:修改占位符第五步:代码示例第六步:效果图1第六步:效果图2第一步:准备文件这里以这个文件为例,在要替换的地方用占位符$replaceXX@替换。第二步:将word文件另存为.xml格式第三步:放到idea中的一个目录下这里已src目录为例第四步:修改占位符第五步:代码示例packagecom.
- TDengine SQL 函数
TDengine (老段)
SQL手册tdenginesql数据库时序数据库大数据物联网
单行函数数学函数ABSACOSASINATANCEILCOSDEGREESEXPFLOORGREATESTLEASTLNLOGMODPIPOWRADIANSRANDROUNDSIGNSINSQRTTANTRUNCATE字符串函数ASCIICHARCHAR_LENGTHCONCATCONCAT_WSLENGTHLOWERLTRIMPOSITIONREPEATREPLACERTRIMSUBSTRING
- Stata操作
晓破云天
计量经济学学习方法
sscinstall:下载未储存到电脑的指令。一、定义面板数据xtset:定义面板数据,将变量按照个体、年份的顺序纵向排列,非平衡面板数据会自动删去不平衡部分。sum:后接变量,会出均值、方差及最大最小值等信息。logout,save(Describe)wordreplace:sum+变量名:logout是输出到文档,save括号中是输出文件名称,word是文件类型。pwcorr_a:变量之间线性
- 重构:封装记录
Allenonlywork
重构
曾用名:以数据类取代记录(ReplaceRecordwithDataClass)//重构前organization={name:"AcmeGooseberries",country:"GB"};//重构后classOrganization{constructor(data){this.name=data.name;this._country=data.country;}getname(){retu
- 如何获取headers
EmoGP
爬虫爬虫
首先复制目标url这里以https://www.51job.com/为例关闭浏览器,重新打开,然后打开f12粘贴目标url并进入,找到第一个请求粘贴RequestHeaders使用正则进行替换:Find:(.*?):(.*)Replace:"$1":"$2",
- el-table 表格新增一行合计
是小潘啊!
javascript前端
el-table表格下面新增一行合计计算表格的数值前言:根据产品需求要求计算出当前页面的总合计金额和点击复选框显示复选框里的计算金额。1.自己搭建的页面结构合计应付款金额{{totalComputedMoney.toFixed(2).replace(/
- JS字符串匹配正则表达式
匹配所有网址(二级域名、多级域名)str.replace(/(http:\\/\\/|https:\\/\\/|\[A-Za-z0-9\]+\[\\-\]?\[A-Za-z0-9\]+\\.|\[A-Za-z0-9\]+\\.)((\\w|=|\\?|\\.|\\/|&|-)*)/g,'$1$2');匹配手机号码(适应所有条件)str.replace(/(1[3|4|5|7|8]\d{9})(((
- 爬取5:将口吃表达换成正常表达
宝耶
java
publicstaticvoidmain(String[]args){Strings="我我我要要学学学编程程";Stringss=s.replaceAll("(.)\\1+","$1");//replaceAll里有循环,$1在正则表达式外用,表示把第一组的内容再拿出来用//(.)表示把重复内容的第一个字看作一组//\\1表示把第一组的内容重复一次//+表示重复一次或多次//$1表示把第一组的内
- MySql常用命令
程序缘拉皮
MySQLsqlmysql
目录前言SQL通用语法SQL分类 1.DDLDDL语句对数据库进行操作 2.DMLDML语句对数据库表中的数据进行增删改 3.DQLDQL语句基本查询 4.DCLDCL语句管理用户常用函数CONCATREPLACEUPPER和LOWERSUBSTR、LEFT和RIGHTINSTRLENGTHIFNUL数学函数日期函数约束主键约束(PRIMARYKEY)简写PK自增约束(AOTU_INCRE
- uniapp开发踩坑兼容问题【第一弹!!】,血泪史o(╥﹏╥)o,一次学习终生避雷!!!
庸俗今天不摸鱼
uni-app学习
1.移动端适配与兼容性问题1)newDate()在IOS上出现值为NAN的问题但在IOS下,这是使用获取到的值是NAN。原因:因为IOS下的newDate()不支持"-“这个字符解决方法:把”-“改成‘”/"就可以了newDate("2017-08-1112:00:00".replace(/-/g,"/"));2)Android部分机型使用height和line-height等值设置垂直居中,但会
- Vue 过滤器
JSON_L
前端#Vue前端vue.js
Vue渐进式JavaScript框架基于Vue2的学习笔记-Vue使用-过滤器目录过滤器优化图片路径处理定义过滤器使用多个过滤器总结过滤器优化图片路径处理文件路径经过管道过滤器处理后,返回给图片路径,示例如下:ajax-axios{{item.title}}定义过滤器在vue中定义过滤器。示例如下:Vue.filter("imgFilter",(url)=>{returnurl.replace("
- Python的标准库heapq模块的介绍和简单应用
新时代先锋
理论知识python算法开发语言数据结构
文章目录1.堆的基本概念2.`heapq`模块的基本使用2.1创建堆2.2插入元素2.3弹出元素3.其他重要函数3.1`heappushpop`3.2`heapreplace`3.3`nlargest`和`nsmallest`3.4`merge`4.堆的应用场景4.1优先队列4.2堆排序5.结论heapq是Python标准库中一个非常有用的模块,主要用于实现堆(Heap)数据结构,特别是最小堆(M
- 【HarmonyOS】HMRouter使用详解(二)
路由跳转HMRouter中使用HMRouterMgr的静态方法push()和replace()来实现路由跳转。使用pop()方法来实现页面返回push:目标页面不会替换当前页,而是插入页面栈。可以使用pop实现页面的返回操作。replace:目标页面会替换当前页,并销毁当前页。这样可以释放当前页的资源,并且无法返回到当前页。pop:返回页面栈的上一个页面,skipedLayerNumber页面返回
- 【2025年华为OD机试】 (E卷,100分) - 计算最接近的数(JavaScript&Java & Python&C/C++)
妄北y
华为odjavascriptjavapythonc语言
一、问题描述题目解析:寻找最接近中位数的下标题目描述给定一个数组X和一个正整数K,请找出使表达式X[i]-X[i+1]-...-X[i+K-1]的结果最接近于数组中位数的下标i。如果有多个i满足条件,请返回最大的i。补充说明数组X的元素均为正整数。数组的长度n取值范围:2{//移除输入字符串中的方括号input_str=input_str.replace("[","").replace("]","
- oracle 返回表函数
woshilys
ORACLEoracle返回表函数
--首先创建一个类型createorreplacetypet_testasobject(empnonumber(4),enamevarchar2(20),jobvarchar2(20),salnumber(7,2));---创建一个对象,引用上面的类型t_testcreateorreplacetypet_test_tableastableoft_test;--然后创建一个返回表的函数createo
- Hive之正则表达式
三生暮雨渡瀟瀟
hivehive正则表达式
Hive版本:hive-3.1.2目录一、Hive的正则表达式概述1.1字符集合1.2边界集合1.3量词(重复次数)集合1.4转义操作符1.5运算符优先级二、Hive正则表达式案例2.1like2.2rlike2.3regexp2.4regexp_replace正则替换2.5regexp_extract正则提取2.6、hive实现Oracle中的REGEXP_SUBSTR三、完整代码示例场景:清洗
- 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