搜索到与相关的文章
编程技术

双重检查锁定与延迟初始化

在java程序中,有时候可能需要推迟一些高开销的对象初始化操作,并且只有在使用这些对象时才进行初始化。此时程序员可能会采用延迟初始化。但要正确实现线程安全的延迟初始化需要一些技巧,否则很容易出现问题。比如,下面是非线程安全的延迟初始化对象的示例代码:publicclassUnsafeLazyInitialization{privatestaticInstanceinstance;publicstaticInstancegetInstance(){if(in

系统 2019-08-29 22:03:53 2196

编程技术

【第六章】 AOP 之 6.1 AOP基础 ——跟我学spri

6.1.1AOP是什么考虑这样一个问题:需要对系统中的某些业务做日志记录,比如支付系统中的支付业务需要记录支付相关日志,对于支付系统可能相当复杂,比如可能有自己的支付系统,也可能引入第三方支付平台,面对这样的支付系统该如何解决呢?传统解决方案:1)日志部分提前公共类LogUtils,定义“longPayBegin”方法用于记录支付开始日志,“logPayEnd”用于记录支付结果:2)支付部分,定义IPayService接口并定义支付方法“pay”,并定义了

系统 2019-08-29 22:00:22 2196

编程技术

P2P网络中DHT算法分析

【摘自互联网,在此留存为备档,如需引用请联系原作者】本文首先从P2P的定义出发,介绍了结构化P2P与非结构化P2P的区别以及结构化P2P的核心技术DHT。而后,本文深入介绍了几种主流的DHT算法与协议并对每种协议进行了讨论。文章的最后展望了DHT在未来的发展趋势。对等网络(Peer-to-Peer,简称P2P)是目前非常热门的应用,自1999年以来,P2P的研究一直是国外知名学府(如美国麻省理工学院,加州大学伯克利分校和莱斯大学等)以及知名企业的研发机构(

系统 2019-08-12 09:30:03 2196

编程技术

我的Watir

今天是我第二天搞Watir,写了一段简单的代码:ie.goto("http://130.34.98.11:18080/bssframe");ie.text_field(:id,"STAFF_ID").set("SUPERUSR");ie.text_field(:id,"PASSWORD").set("XXXXXX");ie.button(:id,"bLoginSubmit").click;contentFrame=ie.frame(:id,"content

系统 2019-08-12 09:29:47 2196

编程技术

常用的正则表达式

校验是否全是数字组成:functionisDigit(s){varpatrn=/^[0-9]{1,20}$/;if(!patrn.exec(s))returnfalsereturntrue}校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串functionisRegisterUserName(s){varpatrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;if(!patrn.exec(s))re

系统 2019-08-12 09:29:28 2196

各行各业

Timus 1826

#include#include#includeusingnamespacestd;intmain(){vectortimes;intn,min=0,t,t1,t2;cin>>n;for(inti=0;i>t;times.push_back(t);}sort(times.begin(),times.end());for(inti=times.size()-1;i>=

系统 2019-08-12 09:27:40 2196

各行各业

./configure,make,make install的作用

./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。make是用来编译的,它从Makefile中读取指令,然后编译。makeinstall是用来安装的,它也从Makefile中读取指令,安装到指定的位置。makeclean清除编译产生的可执行文件及目标文件(objectfile,*.o)。makedistclean:除了清除可执行文件和目标文件外,把configure所

系统 2019-08-12 09:27:20 2196

各行各业

写在第一篇

开通这个blog是希望自己能够与志同道合的人有更多的交流,同时还有老师的作业要求。很长时间以来我从博客园看到了许多高质量的文章,学到了很多自己希望学到的知识,有了些许提高,非常感谢博客园这个平台,希望自己的博客不会半途而废,能坚持写下去。既然提到了老师的作业要求,我会在一开始写一些关于软件测试的相关内容,既能够完成作业,也可以使自己多了解这方面的内容。之后的内容还会与我的专业相关,另外肯定会有我自己更感兴趣的内容(比如绘画,etc.)。写在第一篇

系统 2019-08-12 09:27:10 2196

各行各业

用word2013写博客园博客

1.新建》》输入"博客",搜索一下模板,然后创建,如下图所示:2.这时候会有下图所示界面(没有注册博客的原因,注册绑定后就不会出现了)。如出现此步,点击"立即注册"。3.然后弹出如下界面,选择"其他",点下一步。4.然后弹出如下界面,API选择MetaWeblog,博客文章URL中博客园的MetaWeblog访问地址,格式为:http://www.cnblogs.com/用户名/services/metaweblog.aspx,然后输入自己的用户名密码,点

系统 2019-08-12 09:26:59 2196

各行各业

docker集成管理工具-shipyard的开发环境搭建笔记

前段时间一直在研究openstack,后来老师告诉我需要用docker容器来搭建hadoop集群,所以就将战场转移到docker上来了,话说docker最近这段时间太火了,但是说实话我觉得应用起来还不是很成熟,问题不少。就拿docker容器管理来说吧,现在没有一个官方的成熟的docker管理平台,还得我们敲命令行来操作,对于运维还是有一定难度的。由于项目需要,需要开发一套docker容器的管理平台,所以我就在网上先找现成的,皇天不负苦心人,让我发现了shi

系统 2019-08-12 09:26:54 2196