- Docker端口映射后,外机访问不了的问题
K.wuean
dockerjavalinuxcentosiptables
可能问题:ip不通——外机需与宿主机在同一网段对映docker容器没启动——dockerstart容器名称/容器ID防火墙隔离了查看防火墙状态firewall-cmd--state关闭防火墙systemctlstopfirewalld.service禁止防火墙开机启动systemctldisablefirewalld.service防火墙开机启动systemctlstartfirewalld防火墙
- LVS负载均衡群集——DR模式
wys_jj
lvs负载均衡运维
一、直接路由1.1.直接路由1.2.DR模式的特点1.3.部署DR模式192168.52.140调度服务器关闭防火墙与selinux,下载ipvsadm[root@localhost~]#systemctlstopfirewalld.service[root@localhost~]#setenforce0[root@localhost~]#yuminstallipvsadm-y192.168.52
- MATH4068 R code - raw code
W_X_99515681
数据库
MATH3030:Coursework,Spring202517/03/2025•IfyouareaMATH4068student,pleasestopreadingandgoandfindthecourseworkforMATH4068.ThisassessmentisforMATH3030studentsonly.•ThiscourseworkisASSESSEDandisworth20%of
- 【学Rust写CAD】19 颜色渐变定义(gradient_stop.rs)
Source.Liu
学Rust写CADrustCAD
源码//color/gradient_stop.rsusesuper::argb::Color;#[derive(Clone,Copy,Debug)]pubstructGradientStop{pubposition:f32,pubcolor:Color,}代码分析这段代码是一个结构体(struct),并为其派生(derive)了几个trait。我来逐步解释:结构体定义pubstructGradi
- Docker 完整卸载教程
不太会编程的IT男
Dockerdocker容器linux
简介Docker是一种轻量级的容器化平台,可以帮助开发人员将应用程序及其依赖项打包成一个可移植的容器。但有时我们可能需要完整卸载Docker,卸载旧版本安装新版本,或者不再需要Docker环境。方法一1、停止Docker服务首先停止正在运行的Docker服务。执行以下命令:sudosystemctlstopdocker2、删除Docker安装包接下来删除已经安装的Docker软件包。执行以下命令:
- ElementUI dropdown触发显示时阻止事件冒泡
了不起的码农
elementuivue.js前端
我们设法一个场景:如果el-tree自定义节点包含el-dropdown,为了防止点击el-dropdown的触发按钮而执行el-tree的node-click事件。实现:最外层添加div,给div绑定事件并添加事件修饰符(stop)图片中的代码,可以复制下来去用。好了,今天的文章就到这里了,还有疑问的话可以留言一起探讨哦~
- CAPL函数-10网络与总线函数
正当少年
CAPLCAPL
CAPL提供了丰富的网络和总线控制函数,用于管理CAN、LIN、FlexRay等总线通信。以下是主要功能的分类和详细说明:一、总线通信控制函数1.总线启停控制startBus()-启动指定总线startBus("CAN",1);//启动CAN1总线stopBus()-停止指定总线stopBus("LIN",2);//停止LIN2总线resetBus()-复位总线控制器resetBus("FlexR
- Linux命令之fg详解
uuuuu1711644
linux
在Linux中,fg是一个用于管理作业(jobs)的命令。它用于将后台中止(stopped)的作业调回前台运行。下面对fg命令进行详细解释:fg命令:fg是foreground的缩写,用于将一个在后台运行的作业切换到前台运行。作业是在终端中运行的命令或命令序列。当一个作业在后台运行时,它不会在终端上显示输出,而是在后台默默地执行。使用fg命令可以将其切换到前台,使其输出在终端上显示,并可以与其进行
- 蓝易云 - linux如何关闭防火墙
蓝易云
linux服务器网络c++开发语言数据库运维
要关闭Linux防火墙,可以使用以下步骤:检查防火墙状态:使用以下命令检查防火墙状态,确保你需要关闭的是哪个防火墙。sudosystemctlstatusfirewalld#Forfirewalldsudosystemctlstatusiptables#Foriptables关闭防火墙服务:如果你使用的是firewalld,可以使用以下命令关闭防火墙服务。sudosystemctlstopfir
- failed to start daemon: Error initializing network controller: error obtaining controller
Roc-xb
dockerUbuntu
INFO[2000-01-01T08:24:25.420202728+08:00][graphdriver]usingpriorstoragedriver:overlay2INFO[2000-01-01T08:24:25.420825581+08:00]Loadingcontainers:start.INFO[2000-01-01T08:24:25.628581180+08:00]stopping
- Ubuntu 系统上完全卸载 CasaOS
曼岛_
k8s实战ubuntulinux运维
以下是在Ubuntu系统上完全卸载CasaOS的详细步骤一.卸载验证二.卸载步骤1.停止并禁用CasaOS服务#停止CasaOS核心服务sudosystemctlstopcasaos.service#禁用开机自启sudosystemctldisablecasaos.service#确认服务状态(应显示inactive)sudosystemctlstatuscasaos.service2.卸载Cas
- 【Mysql】忘记Root密码后如何不影响数据进行重置密码
wei_work@
mysqladb数据库
方法一:通用方法--启动时跳过权限表1>停止数据库以管理员方式打开cmd!!C:\Users\Administrator>netstopmysqlMySQL服务正在停止..MySQL服务已成功停止。2>启动时跳过权限表mysqld--console--skip-grant-tables--shared-memoryC:\Users\Administrator>mysqld--console--sk
- 什么时候用到 JVM 调优,调优哪些参数
Aaron Fang
面试专题jvmjava开发语言
以下是针对JVM调优场景及核心参数的整理:什么时候需要JVM调优?性能显著下降应用响应变慢,吞吐量降低,且通过代码优化无法解决时。例如:频繁FullGC导致长时间停顿(Stop-The-World)。内存异常问题频繁出现OutOfMemoryError(内存溢出)或StackOverflowError(栈溢出)。堆/元空间内存持续增长,存在内存泄漏风险。资源利用率不合理堆内存分配过大导致系统资源浪
- Linux主域名服务器一键部署
YX141
服务器linux运维
#!/bin/bash#DNS主域名服务#userli20250325#检查是否为root用户if["$USER"!="root"]thenecho"错误:非root用户,权限不足!"exit0fi#防火墙与高级权限systemctlstopfirewalld&&systemctldisablefirewalld&&echo"防火墙已经关闭"sed-i's/SELINUX=*/SELINUX=di
- Vue学习记录之二十 postcss自定义插件及Unocss的使用
LvManBa
vue.js学习postcss
一、实例1使用postCss自定义px转vw插件编写css插件:一、在项目根目录下建立一个plugins文件夹,然后建立一个postcss-px-to-viewport.ts文件。//vite内置了postCss无需安装import{Plugin}from'postcss'//定义一个变量constOptions={viewportWidth:375,//UI设计稿上的宽度,这里我们默认的视口宽度
- STM32C011 进入停止模式和待机模式
qq_42949957
stm32嵌入式硬件单片机
对于STM32C011J4M3微控制器,你可以使用HAL库来实现进入停止模式(StopMode)和待机模式(StandbyMode)。下面是进入停止模式和待机模式的示例代码:进入停止模式代码示例:#include"stm32c0xx_hal.h"voidEnterStopMode(void){//进入Sleep模式//HAL_PWR_EnterSTOPMode(PWR_MAINREGULATOR_
- 论文翻译:EMNLP-2023.CCF-A.Alon Jacovi.Stop Uploading Test Data in Plain Text: Practical Strategies for
CSPhD-winston-杨帆
论文翻译LLMs-数据污染人工智能
StopUploadingTestDatainPlainText:PracticalStrategiesforMitigatingDataContaminationbyEvaluationBenchmarkshttps://arxiv.org/pdf/2305.10160停止上传明文测试数据:实用的策略以减轻评估基准造成的数据污染文章目录停止上传明文测试数据:实用的策略以减轻评估基准造成的数据污染
- Vue基础
爱编程的王小美
vue.js前端
目录-Vue基础-1、插值表达式{{}}2、Vue核心特性:响应式3、开发者工具VueDevtools(极简插件下载)4、Vue指令v-textv-htmlv-bindv-onv-ifv-showv-forv-model5、Vue指令修饰符.stop.prevent.capture.self.once.enter、.tab、.delete、.esc等.ctrl、.alt、.shift、.meta.
- Docker镜像迁移方案
Java小白笔记
DockerLinuxdockereureka容器
Docker镜像迁移方案文章目录Docker镜像迁移方案一:背景二:操作方式三:异常原因参考:一:背景比如机器上已经有先有的容器,但是dockerpull的时候是失败的二:操作方式1、停止正在运行的容器比如showdocdockerstopshowdoc2、保存当前镜像showdoc为showdoc_new的新镜像dockercommitshowdocshowdoc_new3、将刚刚保存的新镜像s
- K8S-集群添加worker节点脚本
卡亦克
kubernetes容器云原生
挂载磁盘可能已经有/export了那就先停止docker:1、systemctlrestartdocker2、systemctlstopdockersystemctlstatusdocker4、执行下面的查看磁盘使用情况#df-hFilesystemSizeUsedAvailUse%Mountedon/dev/vdb2.0T81M1.9T1%/export如果磁盘没挂载,需要挂载/exportDI
- 【Rust日报】Linux 6.14: Rust 构建内核里程碑
Rust语言中文社区
rustlinux开发语言后端运维
ChristophHellwig离开LinuxDMA维护组自从Linus接受Rust语言编写Linux内核之后,一直是讨论甚至争吵的焦点。在LinusTorvalds表明会接受一组用于内核DMA映射层的Rust抽象代码合并后,相关讨论逐渐平息。但这一决定导致ChristophHellwig悄然辞去DMA映射代码的维护工作,MarekSzyprowski将接任DMA维护者。有人认为Hellwig离职
- SpringBoot万能启停脚本
You Only Live Once_2
springboot
startup.sh#!/bin/bashmkdir-plogmkdir-puploadPathrm-rflog/*shstop.shCUR_DIR="$(cd"$(dirname"$0")"&&pwd)"echo"CUR_DIR=$CUR_DIR"cd$CUR_DIRAPP_NAME=exampleAPP_JAR_NAME="$APP_NAME.jar"nohupjava-jar-Xms128m
- Python中range()函数的用法是什么?
让你五行代码
Pythonpython开发语言range函数
在Python中,range()函数用于生成一个整数序列,它可以帮助你在循环中生成一系列连续的整数。range()函数有多种用法,下面是一些常见的示例:1.基本用法:range(stop)。生成从0到stop-1的整数序列。foriinrange(5):print(i)输出:012342.指定起始值和终止值:range(start,stop)。生成从start到stop-1的整数序列。foriin
- Python中range函数的用法及示例代码
编码实践
python开发语言Python
range函数是Python中常用的内置函数之一,用于生成一个整数序列。它的基本语法如下:range(start,stop,step)其中,start表示序列的起始值(默认为0),stop表示序列的终止值(不包含在序列中),step表示序列中相邻两个元素的间隔(默认为1)。range函数返回一个可迭代对象,可以通过循环或者转换为列表等形式来使用。下面是一些示例代码,帮助理解range函数的用法:示
- Python中常用的range函数及其用途
uote_e
python开发语言
Python中常用的range函数及其用途在Python编程中,经常需要对某个区间进行迭代操作。此时range函数可以派上用场,range函数是Python内置函数之一,用于创建一个整数列表,常用来进行循环操作。range函数语法如下:range(start,stop[,step])其中start表示区间的起始值(可以省略,默认为0),stop表示区间的终止值(不包括该值),step表示步长(可以
- 设置 Ollama 模型下载位置
技术流 Gavin
工具&环境linux运维服务器
Ollama默认会把模型现在到系统分区,容易造成系统分区空间不足,可以用如下方法快捷的将其模型存储位置设置到其他空间比较大的分区操作方法使用以下命令来设置Ollama的模型下载位置并重启服务:sudosystemctlset-environmentOLLAMA_MODELS=/home/yourusername/.ollama/ollama&&\sudosystemctlstopollama&&s
- Ubuntu 重装docker
不求人€
ubuntudockerlinux
1.卸载旧版本Docker首先,确保完全卸载任何已安装的Docker版本及其依赖项。这包括DockerCE、DockerEE以及旧版的Docker(如docker-engine、docker.io等)。以下是通用的卸载命令:#需要先停掉docker服务systemctlstopdocker.socketsystemctlstopdocker.service#卸载dockersudoapt-getp
- Springboot生命周期和事件处理
whoisqqq
javaspringbootjava后端
Spring应用上下文生命周期表示类publicinterfaceLifecycle{/***启动当前组件*/voidstart();/***停止该组件*/voidstop();/***检查此组件是否正在运行false时,start方法执行,true时,stop方法执行。*/booleanisRunning();}当ApplicationContext启动和停止时,spring容器将找出所有实现了
- CentOS7.9 安装python3.12
kingdom826
linux运维服务器
解决configer报错:checkingforopenssl/ssl.hin/usr/local...nocheckingwhethercompilingandlinkingagainstOpenSSLworks...nocheckingfor--with-openssl-rpath...autocheckingwhetherOpenSSLprovidesrequiredsslmoduleAPI
- Redis数据结构详解--列表
八股文领域大手子
javamybatisbootstrapredismysql数据库数据结构
Redis列表是简单的字符串列表,按照插入顺序排序,常用命令:LPUSHkeyvalue1[value2...]在列表头部插入一个或多个值RPUSHkeyvalue1[value2...]在列表尾部插入一个或多个值LPOPkey移除并获取列表头部第一个元素RPOPkey移除并获取列表尾部最后一个元素LRANGEkeystartstop获取列表指定索引范围内的元素(0表示第一个元素,-1表示最后一个
- 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 "xxxxx@xxxxx.com"生成公钥,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