- 我不想再当知识的搬运工
楚煜楚尧
因为学校课题研究的需要,这个暑假我依然需要完成一本书的阅读笔记。我选的是管建刚老师的《习课堂十讲》。这本书,之前我读过,所以重读的时候,感到很亲切,摘抄起来更是非常得心应手。20页,40面,抄了十天,终于在今天大功告成了。这对之前什么事都要一拖再拖的我来说,是破天荒的改变。我发现至从认识小尘老师以后,我的确发生了很大的改变。遇到必须做却总是犹豫不去做的事,我学会了按照小尘老师说的那样,在心里默默数
- 运算符重载
紫诺不离
+、-、*、/、++、--、==、!=、*->、&&、||...对于内置数据类型,编译器知道如何做运算,编译器不知道如何让两个类进行运算如果向让自定义数据类型进行+法运算,就需要重载+运算符在成员函数或者全局函数里,重写一个+法运算符的函数函数名operator+(){}运算符重载也可以提供多个版本加法运算符类名+operator+(){};例:成员函数classPerson{public:Per
- 商务英语level5 unit1 part3 Dialogue Seeking advice.
Alexandear
Himark,youlookstressedoutrecently.How'slife?Hisharon.I'mfindingithardtobalanceworkandlife.IfeellikeI'malwaysworkinglatewithnotimeforanythingbutthejob.Butyoualwaysseemtohavetimeforyourpersonallife.What
- 阅读笔记 让对方主导谈话
涛梅
人们总是喋喋不休,期望对此改变对方的观点。请给对方一点说话的时间,听听他们的所思所想。再知心的朋友也更愿意在我们面前谈论他们的成就,而不是听我们自吹自擂。若想树敌,就胜于你的朋友,若想交友,请让朋友胜于你。多倾听,少开口。
- 周总结 9.17-9.23
蔚兰
本周情况:1.运动2次2.码字4篇,抱佛脚……3.学习:素描书籍阅读进程一半因为没有练习阅读不下去了,开通了微信阅读卡,坚持使用。4.听音频:无5.阅读坚持:4天下周计划:1.运动:运动4次,跑步,每次3公里以上2.输入:a.学习素描课程5集b.每天书籍阅读20分钟c.每天亲子阅读15分钟3.输出:a.为了养成每日写文的习惯,暂定每天写一个字,内容:阅读笔记等b.绘画,每天中午午休时间来画,每天绘
- 【早安心语】
壹典心理咨询
【2021-4-23】早安春夏秋冬Therearealwayssomanyunsatisfactorythingsinaperson'slife.Noonecanavoidit.Happyorunhappy,troubles,everyonewillhavethem.Ifyouarealwaysstuckandannoyed,hesitating,losingtroubles,meaningles
- Golang不能发送udp广播
大地缸
title:"Golang不能发送udp广播"date:2021-01-29T20:55:16+08:00draft:truetags:['go','udp']author:"dadigang"author_cn:"大地缸"personal:"http://www.real007.cn"关于作者http://www.real007.cn/aboutgo不能发送udp广播,这算不算是一个bug?ne
- JavaScript对象与Math对象完全指南
hui函数
Javascriptjavascript前端开发语言
JavaScript对象与Math对象完全指南对象基础概念与操作对象是什么?数据集合:包含相关数据和功能的容器结构组成:属性:描述对象特征的变量(名词性)方法:对象可执行的操作(动词性,本质是函数)对象创建与访问//创建对象letperson={ //属性 name:"张三", age:28, profession:"软件工程师", //方法 introduce(){ return`大家好,我
- 要成为更优秀的程序员,先在脑中推演小段逻辑
CtrlZ学习录
英文资讯算法网络linux
要成为更优秀的程序员,先在脑中推演小段逻辑本系列是我个人翻译的英文阅读笔记,既为巩固所学,也为分享知识(如有侵权请联系删除)下面是正文原文链接:https://the-nerve-blog.ghost.io/to-be-a-better-programmer-write-little-proofs-in-your-head/这是一篇关于我偶然学到的编程技巧的短文,它能帮助我更快速、更准确地编写代码
- Place
JillionZ
PLACE是美国的JayMcSwain提出的开发子女才能的工具。PLACE是指在五个领域发现子女的才能。P(Personalitydiscovery)性格类型L(Learningspiritualgifts)天生的才能A(AbilitiesAwareness)能力C(Connectingpassionwithministry)热情E(Experiencesoflife)人生经历作为父母,要充分了解
- Educoder–Java 第1关:Object类 第2关:JAVA基础类型包装类-练习 第3关:String&StringBuilder&StringBuffer类-练习 第4关:Random类
文章目录第1关:Object类编程要求答案第2关:JAVA基础类型包装类-练习任务描述编程要求测试说明答案第3关:String&StringBuilder&StringBuffer类-练习任务描述测试说明答案第4关:Random类测试说明答案第1关:Object类编程要求请仔细阅读右侧代码,根据方法内的提示,在Begin-End区域内进行代码补充,具体任务如下:Demo类和Person类已经写好,
- 第五周总结
远方_ed5a
过完年的第一周,我设定了计划,1.阅读正面管教5-6章,完成笔记。2.陪伴孩子,从错误中学习生活技能。3.朋友圈日更4.运动每天一万步。从学习中阅读书籍完成,阅读笔记已完成,所面临的问题,是笔记记录太慢,当能力达不到的时候,没有解决办法,向外求助,明媚老师给了我另一种方式,可以用语音转换文字的方法提升效率。生活中陪伴孩子,从错误中学习生活技能,已完成。这里每两天陪孩子聊天一次,说说遇到的事,问问孩
- 《温和坚定做教师》阅读笔记(二)
教育行走林
2023年6月1日,继续阅读沈丽新老师的《温和坚定做教师》56—61页,今日思考:沈丽新老师说的有道理,我们真的要给予学生合理的期待,正确的期待,学生才会努力成为我们所期待的样子。我们对有的学生可以降低期待,对全体学生要始终抱有期待。如文末所言:如果教师认为学生能够做到,他们通常就可能会努力去做;如果教师认为学生不行,他们通常就可能真的会失败。这需要教师对每个学生始终抱有期待,且这份期待真正适合每
- 【Java语法】实例变量与类变量(static变量/静态变量)
说明丨本文来源网络或教材丨供学习交流用丨不属原创丨原创标识无用丨侵删1、实例变量和类变量的声明学习Java类的时候我们知道:类体中包括成员变量的声明和方法的定义,而成员变量又可细分为实例变量和类变量。在声明成员变量时,用关键字static给予修饰的称作类变量,否则成为实例变量(类变量也称为static变量、静态变量),例如:classPerson{intx;//实例变量staticinty;//类
- python之dict的items()用法
items()是Python字典(dict)的一个方法,它返回一个可迭代的视图对象,其中包含字典中的所有键值对(key-valuepairs)。语法dict.items()返回值:返回一个视图对象,其中每个元素是一个元组((key,value)),表示字典中的键值对。️示例1.基本用法#创建一个字典person={"name":"Alice","age":25,"city":"NewYork"}#
- 面向对象程序设计(个人学习记录)
兮℡檬,
python开发语言
一、类和对象自定义数据结构类型的语法结构为:class类名():passclassPerson():passclassDog():pass创建对象的语法格式为:对象名=类名()tom=Person()werwer=Dog()类:类属性:直接定义在类中,方法外的变量实例属性:定义在_init_方法中,使用self打点的变量实例方法:定义在类中的函数,而且自带参数self静态方法:使用装饰器@stat
- 读《骆驼祥子》day1
林欣依666
《骆驼祥子》阅读笔记day1时代的一粒灰,落在个人头上,就是一座山。初入城市,祥子觉得凭自己的身子骨和肯吃苦的精神,买一辆属于自己的车是没问题的。祥子努力了,也买到了新车。半年后,他失去了新车。不论在什么时候,底层民众的命运,并非靠努力就可以改变的。生活靠努力可以改善,命运靠努力,却像被更大浪花推着的潮水一样,所有的努力都那么无力。有人说,如果祥子在听到“大兵要来了”的消息时,多一点小心就好了。有
- C++黑马程序员通讯录删除模块
颖川守一
c++算法开发语言
围绕找到联系人,删除联系人操作找到联系人——>使用for循环进行一一对应,如果找到跳出来删除联系人——>使用for循环,让每次的后一位把前一位给覆盖住,从而实现删除操作#includeusingnamespacestd;#include#defineMAX1000//设计联系人结构体structPerson{//姓名stringm_Name;//性别,公1母2intm_Sex;//年龄intm_A
- js中对象常用方法
吃肉肉不吃肉肉
Object.assign()…用于克隆varfirst={name:'kong'};varlast={age:18};varperson=Object.assign(first,last);console.log(person);//{name:'kong',age:18Object.is()…用于判断两个值是否相同Object.is(a,b);//返回true或false//注意,该函数与==
- C++黑马程序员通讯录显示模块
颖川守一
c++算法开发语言
这一部分就是一个指针传递,然后内部执行,存储了联系人就用if显示出来#includeusingnamespacestd;#include#defineMAX1000//设计联系人结构体structPerson{//姓名stringm_Name;//性别,公1母2intm_Sex;//年龄intm_Age;//电话号stringm_Phone;//地址stringm_Addr;};//设计通讯录结构
- 阅读笔记(70):情谊是一个需要维护的东西
卡拉咖啦
《什么是朋友?》https://mp.weixin.qq.com/s?__biz=MzAxNzI4MTMwMw==&mid=400738999&idx=1&sn=a8256339161ccc3eceae6d2ba80061fc&scene=4#wechat_redirect一、文章逻辑第一部分跳过,详细的说明人的大脑也是一个需要升级的系统,引入主题(适用于大部分关于“概念”的话题);下面主要是对于
- 原型链继承
冲锋敢死曾小贤
构造函数/*new先创造了一个实例化对象,并且把this给了实例化对象per1*/letper1=newPerson();per1.fn();functionCar(color,price){this.color=color;this.price=price;this.tro=function(){document.write(`BMW${this.color}${this.price}会跑`);
- Go中结构体创建实例的四种方式
EntyIU
gogo
Go语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型。结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。packagemainimport"fmt"typePersonstruct{NamestringAgeint}funcmain(){//方法一varpersonPersonperson.Name="zhangsan"person.Age=20fmt.P
- Go 语言中,创建结构体实例对象有几种常用方式
比特森林探险记
go语言golang开发语言后端
在Go语言中,创建结构体实例的几种方式有本质区别。以下是核心差异的详细对比:1.内存分配与类型差异创建方式内存位置变量类型是否可被GC回收p:=Person{...}通常栈空间值类型❌(栈自动释放)p:=new(Person)堆空间指针类型✅p:=&Person{...}堆空间指针类型✅varpPerson通常栈空间值类型❌(栈自动释放)工厂函数返回指针堆空间指针类型✅注:Go编译器通过逃逸分析决
- 5minites Echarts
大地缸
title:"5minitesEcharts"date:2021-01-27T20:33:42+08:00draft:truetags:['echarts']author:"dadigang"author_cn:"大地缸"personal:"http://www.real007.cn"关于作者http://www.real007.cn/about获取ECharts你可以通过以下几种方式获取Apac
- JSON和JSONL、python操作
weixin_668
jsonpython
JSONJSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,基于文本、易于读写,并支持多种数据结构。以下是常见的JSON格式及示例:1.简单对象(键值对){"name":"Alice","age":25,"isStudent":true}2.嵌套对象{"person":{"name":"Bob","address":{"city":"NewYork","zipc
- 单身程序员的幻想女友模拟器,面对对象的三大特征
运维帮手大橙子
开发语言javaintellij-idea对象面对对象windows程序人生
你new出来的不仅是一个对象,更是一段陪伴、一份慰藉。你孤独的时候想有人和你说说话。而真正的那个她,也一定会出现,和你肩并肩看代码、看星星。项目结构SweetGirlfriendSimulator/├──src/└──com/└──love/├──Main.java//启动类├──Person.java//抽象人类├──IdealGirlfriend.java//理想女友类(可爱温柔)└──Coo
- 阅读笔记‖不做无谓的争辩
海风轻吹
《道德经》里讲:信言不美,美言不信;善者不辩,辩者不善。诸葛亮舌战群儒,一生经常与人辩论可谓雄辩之才,但是他却说:大辩不辩。辩论的最高境界,就是不辩!对待有些人,可能唯有沉默,才是最好的方法,沉默是金!庄子在《秋水》篇里讲过这样一句话:夏虫不可以语冰。就是说不要和夏天的虫子谈论冬天的冰,这纯属浪费时间。因为它从来没有感受过寒冬,它从来没有体验过冰雪,在它的世界里只有春天的阳光和炎炎夏日,它永远都无
- U3复盘
庄新妍
复盘1.从本单元中我学到的最重要的理念精读:ManagingPersonalFinances2.我在本片文章/音频/视频中学到的怦然心动的单词精读:entertainnotoriousimpulseprepaiddebitreloadallowancesparinglyornateresidencecomposerscorecopyistmisspendbeabouttogorgeousstrik
- # TF Eager Execution 阅读笔记
tsiic
TFEagerExecution阅读笔记@[TensonFlow]看了半天不知道Eager是啥,这哪能看下去。所以Google了一下,在知乎发现如下解释:......就开启了Eager模式,这时,TensorFlow会从原先的声明式(declarative)编程形式变成命令式(imperative)编程形式。当写下语句"c=tf.matmul(a,b)"后(以及其他任何tf开头的函数),就会直接执
- 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