- 对table中有图片的情况进行处理,将图片提取出来,删除table,解决图片带有边框问题
Java-请多指教
java开发语言
/***对table中有图片的情况进行处理,将图片提取出来,删除table,解决图片带有边框问题*@paramresult*@return*/privateStringdealTableContainImg(Stringresult){//解析HTML字符串Documentdoc=Jsoup.parse(result);ElementstableElements=doc.select("table
- 鸿蒙HarmonyOS NEXT开发:鸿蒙应用中图片上传流程解析,从图库中、用户拍照(拉起相机)获取照片
淡 忘
ArkTSharmonyos华为算法交互网络
一、总体流程概述无论采用哪种方式上传图片,都需要先把用户选择的图片放到应用的沙箱中,再进行上传操作。不同方式的主要区别在于选择照片的形式。二、不同方式选择照片(一)拍照拿取照片代码实现constpickerResult:cameraPicker.PickerResult=awaitcameraPicker.pick(getContext(this),[cameraPicker.PickerMedi
- C++:有序关联容器的插入与删除
愚戏师
C++c++java算法
遇到的问题,都有解决方案,希望我的博客能为您提供一点帮助。一、插入操作1.基本插入方法insert()方法:set和map:insert方法返回一个pair,其中first是指向插入元素的迭代器,second是一个布尔值,若插入成功则为true,若元素已存在则为false。单个元素插入:std::sets;autoresult=s.insert(42);//返回pairif(result.seco
- Rust从入门到精通之进阶篇:13.错误处理进阶
aimmon
Rust从入门到精通系列rust算法开发语言区块链
错误处理进阶错误处理是编写健壮软件的关键部分。Rust提供了一套强大的错误处理机制,使开发者能够编写安全、可靠的代码。在本章中,我们将深入探讨Rust的错误处理模式和最佳实践。回顾:Rust的错误处理哲学Rust将错误分为两大类:可恢复错误:程序可以处理并继续执行的错误,如文件未找到不可恢复错误:严重问题导致程序必须终止,如数组越界访问Rust使用Result类型处理可恢复错误,使用panic!机
- leetcode560.和为k的子数组
ゞ 正在缓冲99%…
前缀和哈希表leetcode
前缀和+哈希表classSolution{public:intsubarraySum(vector&nums,intk){intresult=0;intpre=0;unordered_mapmap;map[0]=1;//模拟测试用例1[1,1,1],k=2可知for(constint&num:nums){pre+=num;if(map.find(pre-k)!=map.end())result+=
- springboot请求响应——响应
Hellyc
springboot后端java
packagecom.hxy.springboot.springbootdemo01.demo01;importcom.hxy.springboot.springbootdemo01.pojo.Result;importcom.hxy.springboot.springbootdemo01.pojo.User;importorg.springframework.format.annotation.
- javascript 力扣leetcode hot100题解
大踩踩
javascriptleetcode开发语言
1、两数之和点评:最初的梦想vartwoSum=function(nums,target){letmap=newMap();letresult=[];for(leti=0;ia-b);letlen=1;letmax=1;letdp=nums[0];for(leti=1;ia-b);letresult=[];for(leti=0;iheight[st[st.length-1]]){//注意这里是wh
- mysql中mapping标签的作用_Mybatis中Mapper标签总结大全
文清的男友
一、标签分类定义SQL语句insertdeleteupdateselect配置关联关系collectionassociation配置java对象属性与查询结果集中列名的对应关系resultMap控制动态SQL拼接foreachifchoose格式化输出wheresettrim定义常量sql其他include二、标签总结1.基础SQL标签1.1查询select标签属性id唯一的名称,对应dao中ma
- 常用的 MyBatis 标签及其作用
huingymm
面试学习使用mybatis
MyBatis是一个优秀的持久层框架,它通过XML或注解的方式将Java对象与数据库操作进行映射。在MyBatis的XML映射文件中,可以使用多种标签来定义SQL语句、参数映射、结果映射等。以下是一些常用的MyBatis标签及其作用:1.基本标签1.1用于定义查询语句。SELECT*FROMuserWHEREid=#{id}id:唯一标识符,用于在Java代码中调用。resultType:返回结果
- 为什么大厂工程师偏爱位运算符?解析&和|的高效编程之道
CppPlayer-程序员阿杜
C++大厂高频面试题拆解c++位运算C/C++面试
位运算符是计算机编程中用于直接操作二进制位的工具。它们通常用于底层编程、性能优化以及处理特定的数据格式。1.位运算符的基本概念1.1按位与(&)按位与运算符&对两个二进制数的每一位进行比较,如果两个对应的位都为1,则结果位为1,否则为0。示例:a=5#二进制:0101b=3#二进制:0011result=a&b#二进制:0001(十进制:1)print(result)#输出:11.2按位或(|)按
- 代码随想录算法训练营day24: 122.买卖股票的最佳时机II & 55. 跳跃游戏 & 45.跳跃游戏II & 1005.K次取反后最大化的数组和
胡某在路上
贪心算法数据结构
122.买卖股票的最佳时机II122.买卖股票的最佳时机II-力扣(LeetCode)这道题需要仔细思考后就能想到我们需要收集每天的正利润就可以,收集正利润的区间,就是股票买卖的区间,而我们只需要关注最终利润,不需要记录区间。classSolution{public:intmaxProfit(vector&prices){intresult=0;for(inti=1;i&nums){intcove
- Leetcode84. 柱状图中最大的矩形 -hot100
meeiuliuus
#leetcode---hard算法
题目:代码(首刷看解析2024年3月9日):classSolution{public:intlargestRectangleArea(vector&heights){intresult=0;vectorst;//存放柱子下标heights.insert(heights.begin(),0);//哨兵heights.push_back(0);//哨兵for(inti=0;i&heights){int
- LeetCode Hot100【回溯-39. 组合总和】
_Yeps
LeetCodeHot100【个人学习】leetcode算法职场和发展
题目:39.组合总和代码实现classSolution{public:vector>result;//存储所有满足条件的组合vectorpath;//当前正在构建的组合//回溯函数:尝试从当前数字开始组合voidbacktracking(vector&candidates,inttarget,intsum,intstartIndex){if(sum>target)return;//当前和大于目标,
- 全排列|| 分发饼干 摆动序列
默默修炼的小趴菜
c++算法开发语言
1.给定一个可包含重复数字的序列nums,按任意顺序返回所有不重复的全排列。示例1:输入:nums=[1,1,2]输出:[[1,1,2],[1,2,1],[2,1,1]]示例2:输入:nums=[1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]提示:1usingnamespacestd;vector>result;vectorpa
- 算法训练 | 图论Part1 | 98.所有可达路径
Orionova
数据结构算法训练算法图论深度优先
目录98.所有可达路径深度搜索法98.所有可达路径题目链接:98.所有可达路径文章讲解:代码随想录深度搜索法代码一:邻接矩阵写法#include#includeusingnamespacestd;vector>result;//收集符合条件的路径vectorpath;//1节点到终点的路径voiddfs(constvector>&graph,intx,intn){//当前遍历的节点x到达节点nif
- 使用go实现导入Rxcel数据到数据库并渲染到页面上
远游客0713
golang数据库开发语言
github.com/360EntSecGroup-Skylar/excelizegithub.com/tealeg/xlsx可以使用以上两个库代码如下://jsonResult返回JSON格式的结果func(c*TemplateController)jsonResult(codeint,msgstring,datainterface{}){c.Data["json"]=map[string]in
- 【Java开发学习路线图】从入门到项目实战全攻略
小小鸭程序员
springjavaspringboot后端intellij-idea
本文提供清晰的Java学习路径规划,附带关键知识点代码示例,适合零基础到进阶的开发者!一、Java基础核心(1-2个月)1.基础语法(建议配合IDE练习)//变量与运算符intage=25;doublescore=89.5;booleanisPass=score>=60;//true//条件判断Stringresult=(score>90)?"优秀":"合格";//循环示例for(inti=1;i
- Android复习资料——常见面试算法题汇总(一)
2401_84413032
程序员android面试算法
//层次遍历(DFS)publicstaticListlevelOrder(TreeNoderoot){Listres=newArrayListres,intlevel){if(root==null){return;}if(level==res.size()){res.add(newArrayListlevelOrder(TreeNoderoot){Listresult=newArrayList(
- 子集 宏观+微观 python 思路
努力的小巴掌
算法
力扣子集宏观:递、归(回溯)+收集结果res微观:怎么一层一层往下递,怎么往上归(回溯)先写宏观:递归三部曲:1def函数,确定传参,传的参数就是原始的nums2一个path存每条路的小答案,res收集最后回溯回来的总结果3一个实现回溯的函数defsubsets(self,nums):result=[]path=[]self.backtracking()#不知道回溯的传参是啥,先空着,,等下面回溯
- mybatis-plus使用聚合函数查询平均分
moxiaoran5753
mybatis
mybatis-plus使用聚合函数Avg查询平均分时,返回值是BigDecimal,这一点需要注意,不能直接使用Double或float来接收返回值,下面是使用示例:publicDoublegetAvgStore(Listids){QueryWrapperqueryWrapper=newQueryWrapper>resultList=baseMapper.selectMaps(queryWrap
- 【操作系统概念】【恐龙书】笔记六——第六章 进程同步
我岂是非人哉
计算机操作系统
Chapter6:ProcessSynchronization问题的提出:彼此合作的进程之间可以用共享逻辑地址空间的方式来实现,共享逻辑地址空间,也就是共享代码区和数据区,会导致数据不一致,所以介绍一些避免数据不一致的机制。6.1BackgroundConcurrentaccesstoshareddatamayresultindatainconsistencyMaintainingdatacons
- C# 技术使用笔记:Asp.Net Core MVC 中控制器 Controllers 中返回数据使用详解
caifox菜狐狸
C#技术使用笔记c#笔记asp.netcoreViewResultJsonResultRedirect控制器
本文将深入探讨ASP.NETCoreMVC控制器中返回数据的多种方式,从基础的ViewResult到灵活的IActionResult,再到强大的ActionResult,我们将逐一剖析它们的使用场景、优缺点以及最佳实践。通过丰富的代码示例和详细的解释,帮助读者全面掌握控制器返回数据的技巧,从而提升开发效率,构建更加健壮和高效的Web应用程序。无论你是初学者还是有一定经验的开发者,本文都将为你提供有
- 代码随想录算法训练营DAY59|110.字符串接龙、105.有向图的完全可达性、106. 岛屿的周长
阿緑
代码随想录打卡算法
110.字符串接龙fromcollectionsimportdequedeffindshortestpath(strlist,beginstr,endstr):que=deque()visited={}que.append(beginstr)visited[beginstr]=1result=0whileque:cur=que.popleft()result=visited[cur]foriinr
- hive相关命令
Wang·Br
bigdata笔记hive
hive相关命令1.hive-helphive-e:不进入hive交互窗口,执行sql语句hive-e"select*users"hive-f:执行脚本中sql语句#创建文件hqlfile1.sql,内容:select*fromusers#执行文件中的SQL语句hive-fhqlfile1.sql#执行文件中的SQL语句,将结果写入文件hive-fhqlfile1.sql>>result1.log
- DAY33 贪心算法Ⅱ
Useee
贪心算法算法
122.买卖股票的最佳时机II-力扣(LeetCode)想到把整体利润分解为每天的利润,就豁然开朗了。classSolution{public:intmaxProfit(vector&prices){intresult=0;for(inti=1;i&nums){intcover=0;if(nums.size()==1)returntrue;for(inti=0;i=nums.size()-1)re
- sql2019安装重启计算机失败,SQL SERVER 2019安装失败
小蛋子儿哦
Detailedresults:Feature:全文和语义提取搜索Status:失败Reasonforfailure:该功能的某个依赖项出错,导致该功能的安装过程失败。NextStep:使用以下信息解决错误,卸载此功能,然后再次运行安装过程。Componentname:SQLServer数据库引擎服务实例功能Componenterrorcode:0x80004005Errordescription
- 4(四) Jmeter自动化报表html生成
夜晚打字声
工具jmeter自动化运维
从JMeter3.0开始已支持自动生成动态报告,我们可以更容易根据生成的报告来完成我们的性能测试报告。如何生成html测试报告如果未生成结果文件(.jtl),可运行如下命令生成报告:jmeter-n-ttest.jmx-lresult.jtl-e-o/tmp/ResultReport参数:-n:以非GUI形式运行Jmeter-t:source.jmx脚本路径-l:运行结果保存路径(.jtl),此文
- Python从入门到精通的系统性学习路径
niuTaylor
编程区python学习开发语言
Python从入门到精通的系统性学习路径一、基础语法快速突破1.变量与基础操作#动态类型演示a=10#整型a=3.14#浮点型a="Python"#字符串a=[1,2,3]#列表#格式化输出进阶name="Alice"print(f"{name:*^20}")#居中填充输出:******Alice*******2.运算符优先级实战#常见运算符优先级练习result=5+3*2**2//(4%3)p
- Flutter异步编程详解
2401_84121663
程序员flutter
//耗时操作的方法:bigComputeFuturebigCompute(intinitalNumber)async{inttotal=initalNumber;for(vari=0;i<1000000000;i++){total+=i;}returntotal;}//点击按钮调用的方法:calculatorvoidcalculator()async{intresult=awaitbigCompu
- Js 获取url的参数值
程序猿老罗
前端前端javascript
Js获取url的参数值,支持获取中文的值。//获取url中的参数值functiongetUrlParam(name){name=name.replace(/[\[\]]/g,"\\$&");varregex=newRegExp("[?&]"+name+"(=([^]*)|&|#|$)");varresults=regex.exec(window.location.href);if(!resul
- 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