编程技术

用happen-before规则重新审视DCL

转载自----http://lifethinker.iteye.com/blog/260515编写Java多线程程序一直以来都是一件十分困难的事,多线程程序的bug很难测试,DCL(DoubleCheckLock)就是一个典型,因此对多线程安全的理论分析就显得十分重要,当然这决不是说对多线程程序的测试就是不必要的。传统上,对多线程程序的分析是通过分析操作之间可能的执行先后顺序,然而程序执行顺序十分复杂,它与硬件系统架构,编译器,缓存以及虚拟机的实现都有着很

系统 2019-08-29 23:06:36 1708

编程技术

桥梁模式

桥梁(Bridge)模式桥梁模式是一个非常有用的模式,也是比较复杂的一个模式。熟悉这个模式对于理解面向对象的设计原则,包括"开-闭"原则(OCP)以及组合/聚合复用原则(CARP)都很有帮助。理解好这两个原则,有助于形成正确的设计思想和培养良好的设计风格。在提出桥梁模式的时候指出,桥梁模式的用意是"将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化"。这句话有三个关键词,也就是抽象化、实现化和脱耦。抽象化

系统 2019-08-29 23:06:20 1708

编程技术

Coder的困惑,从一道面试题说起(downmoon)

昨天,看到代震军的一个帖子《请不要缩在项目或产品的“龟壳”里面》真的挺有感触,特别有感触,甚至还想起电视连续剧《少年包青天III--天芒传奇》里西灵王面具的故事:面具戴久了,就再也摘不下来了。曾几何时,多少Coder刚投入工作时,意气风发,敢教日月换新天的劲头,让无数旁观者为之激动甚至热血沸腾!…………慢慢地,(“也许是呆在“龟壳”里的时间太久了,以致于当下是个什么世道都快搞不清楚了。“--代震军语),由于所处环境的磨砺,也可以说是磨工,许多的热情不再,保

系统 2019-08-29 23:01:13 1708

编程技术

挖掘闭合模式的高性能算法学习笔记——CFIST

这是由以下的数据集所创建的CFIST(compoundfrequentitemsettree)复合频繁项集树01|acdfgImp02|abcflmo03|bchmo04|bfkps05|aceflmnp结点描述参见论文。对于路径root->3->7,kis(7)为{c,f},AIS-all={m},则fis(7)={c,f}并上{AIS-all的任意自己(含空集)}={c,f}并上{c,f,m},支持度为kis(7)的支持度为3,fis(v)为候选频繁模

系统 2019-08-29 23:00:58 1708

编程技术

Apple iPhone热销的背后

现在没有哪个电子产品可以和Apple的产品媲美,因它Apple是偶像+实力派。即使已拥有了iPhone,但还是有不少Fans排队去买3GiPhone的新产品。下图,是美国新泽西州的排队购机现场。乔布斯除了是炒作高手外,其实人家基本功也相当扎实,他在努力在使iPhone时尚的同时,也在为实用打基础。以下几则消息,充分说明了这一点:1.Google将推出支持iPhone的应用程序,而微软还是一如既往地保持沉默(WM和iPhone真是冤家路窄,估计Microso

系统 2019-08-29 23:00:40 1708

编程技术

宏定义

得到指定地址上的一个字节或字#defineMEM_B(x)(*((byte*)(x)))#defineMEM_W(x)(*((word*)(x)))求最大值和最小值#defineMAX(x,y)(((x)>(y))?(x):(y))#defineMIN(x,y)(((x)<(y))?(x):(y))得到一个field在结构体(struct)中的偏移量#defineFPOS(type,field)((dword)&((type*)0)->field)得到一个

系统 2019-08-29 22:56:35 1708

编程技术

自定义日期挑选控件

cocoa提供了UIDatePicker控件,但是对于程序员而言并不友好。其糟糕之处,莫过于无法指定其frame,它的大小固定为320*216(占据了近整个iphone屏幕的一半),导致在UI设计时很难安排下这个“巨大”的东西。我们自定义的日期挑选控件是这样的。它默认情况下显示为一个textfield,以文本的方式显示日期,当你试图编辑它时,会弹出一个足够巨大的UIDatePicker控件:

编程技术

双11,你怎么过?码农们!!!

今天就是传说中的双11啊,面对广大的码农的屌丝生活,你怎么过??在淘宝购物?在宿舍宅着?趁着周末约会?还是干嘛呢?元芳,你怎么看?System.out.println("123");2.partialclassOrder:IAggregateRoot3.{4.publicSingleTotalDiscount5.{6.get7.{8.returnthis.Lines.Sum(p=>p.Discount);9.}10.}11.12.publicSingleT

系统 2019-08-29 22:52:43 1708

编程技术

NetBPM工作流示例

请假流程描述流程图:假设:公司有两级领导,一级为主管(Chief),一级为老板(Boss),我们这里只是一个模拟,当然现实生活中情况比这个更加复杂;-)描述:在某公司中,部门员工休假需要主管(Chief)的批准。如果休假天数大于10天,则在部门主管同意后,还必须老板(Boss)批准。如果是部门主管请假则直接提交老板批准。在休假被批准之前,申请人可以撤销休假申请。申请批准后,对休假天数进行修改(也可以是其他业务数据处理)。每次休假申请结束之后,不管通过未通过

系统 2019-08-29 22:51:48 1708

编程技术

企业级服务器设计与实现经验之系统框架(二)-

前面两篇文章已经介绍了功能服务器FS与应用服务器AS拆开的原因和它们各自的职责。这篇文章我们主要来看看FS和AS的主体框架是怎样的。首先要说明,无论FS或AS,它们都是一个复杂的系统,特别是AS,它有许多的管理、记录功能,所以单凭这一篇文章是不可能将它们的每一个方面描述清楚的。相反,我在此文中仅仅给出它们的骨架结构,许多细节都将忽略,看过第一篇文章读者可以根据主题目录知道,这些细节会在后面的文章中逐渐补充进来。FS和AS的最大特点就是采用了“框架+插件”的

系统 2019-08-29 22:49:35 1708

编程技术

60分钟Flex应用开发第一部分

导读:IfirstgaveasemblanceofthispresentationatLFPugbackinSeptember.AfterthatIrefineditastherewereafewteethingproblemsandIwantedtotryandaddinmorefunctionality.Youcanreadaboutthathere.AfterIhadsortedouttheissuesIhadonmy“todo”listIthenp

系统 2019-08-29 22:46:24 1708

编程技术

爱在左岸,心往右转

爱在左岸,心往右转有时候,热闹是一种必须,快乐亦然生活,现实,理智,时间,纷纷剥落爱的可能一个又一个的她常低叹:“孤單是一個人的狂歡狂歡是一群人的孤單...也许每一个表情冷漠的人,内心都有深不可测的寂寞。只是有的人发泄,有的人隐忍。满街的人,每个人的表情平和安然,谁知内里已经经历多少波澜?无法诉说的人世里,索性就不再诉说,无法改变的际遇里,索性就不去奢求.她想,世间的感情,从来不曾完美也不曾单纯.人和人,都只在互相寻找,灵魂却各自孤独...等到有一天终于明

系统 2019-08-29 22:44:51 1708

编程技术

Spring容器启动配置

Spring容器启动配置什么时候spring容器启动?其实就是程序中执行加载web.xml配置文件的时候。Spring可以通过(Servlet)org.springframework.web.context.ContextLoaderServlet和Listener(org.springframework.web.context.ContextLoaderListener)两个类作为Spring启动的入口。1.应用程序下加载ApplicationConte

系统 2019-08-29 22:43:34 1708

编程技术

iphone:保持表单输入的可见性——自动滚动视图

iPhone:Maintainvisibilityofforminputs–auto-scrollingviews当你开发图标或者任何有输入区域的界面,偶尔输入框再键盘弹出时会被挡住。这样用户体验不好,用户在输入时看不到他们所输入的东西。一个解决方案,是滑动整个view让编辑区域一直是可见的。我提供的整个解决方案对UIView添加了一些方法(我知道,添加类别到cocoa的类是顽皮的)这将决定基于整个屏幕的输入位置滑动视图的多少,还有和键盘弹起一样的速度滑动

系统 2019-08-29 22:41:51 1708