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

用happen-before规则重新审视DCL

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

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

编程技术

六步使用ICallbackEventHandler实现无刷新回调

AJAX技术所提倡的无刷新回调,在原来的技术中需要写大量的JavaScript代码或使用一些AJAX框架,使得开发效率和可维护性大大降低。其实ASP.NET2.0中,已经提供了这样的接口,这就是ICallbackEventHandler。关于ICallbackEventHandler网上已经有很多文章介绍了,这篇实为画蛇添足。ICallbackEventHandler存在于System.Web.UI中,我们先做一个非常简单的例子来试用一下。第一步,在VS2

系统 2019-08-29 22:38:57 2060

编程技术

当你累了,准备放弃时,看看这个吧!!!

送给所有还在坚持的朋友~~每个人都背负着一个沉重的十字架,在缓慢而艰难地朝着目的地前进。途中,有一个人忽然停了下来。他心想:这个十字架实在是太沉重了,就这样背着它,得走到何年何月啊?!于是,他拿出刀,作出了一个惊人的决定:他决定将十字架砍掉一些。他真的这么做了,开始砍十字架。。。砍掉之后走起来,的确是轻松了很多,他的步伐也不由得加快了。于是,就这样走啊走啊走啊走,又走了很久很久很久很久。他又想:虽然刚才已经将十字架砍掉了一块,但它还是太重了。为了能够更快更

系统 2019-08-29 22:27:42 2060

编程技术

Flash绘制美丽风景画之海滩

过前段时间学习,我们掌握了鼠绘的一些初步知识,今天我们来综合一下画幅风景画之海滩。学习目的和要点:通过画“海滩”,进一步掌握不同工具的使用,灵活应用任意变形工具、使用Flash软件的滤镜功能、充分利用颜色的填充和渐变、掌握引导线使用和帧帧动画,并用我们前段时间掌握的技巧来组合一幅风景画。现在我们打开软件,绘制“海滩”。新建FLASH文档。保存为“风景画”,设置文档大小为650*400,背景色浅色,其它默认。本动画分为几个元件制作背景、云层、海鸥、椰树、帆船

系统 2019-08-29 22:23:45 2060

编程技术

irrlicht引擎源码剖析1 - 引擎概览

irrlicht是跨平台,支持多种图形库的开源3d引擎。irrlicht的设计很好的体现了接口和实现分离的原则,整个框架设计精巧清晰,是学习3d引擎设计的不错的教材。先看下名字空间的划分,可以看到irr具有非常清晰的结构:irrEverythingintheIrrlichtEnginecanbefoundinthisnamespaceirr::coreInthisnamespacecanbefoundbasicclasseslikevectors,plan

系统 2019-08-29 22:21:25 2060

编程技术

开源GIS平台应用系统

先说点题外话,ArcGIS9.3发布了,较9.2版本革新并不是很多,更多的是增强原有功能,Server开发提供JavaScriptAPI和FlexAPI,这两种开发方式都是基于REST,REST在9.2版本以前是没有的,这是9.3发布地图服务自带的特性,我想这也是和GoogleMap、51地图API看齐,使WebGIS开发方式更加主流化了,完全使用JavaScript就可以实现WebGIS的功能开发。然而ArcGIS昂贵的软件版本费用,对于中小企业地理信息

系统 2019-08-29 22:14:28 2060

编程技术

【串和序列处理 1】PAT Tree 子串匹配结构

PatriciaTree简称PATtree。它是trie结构的一种特殊形式。是目前信息检索领域应用十分成功的索引方法,它是1992年由Connel根据《PATRICIA——PatricalAlgorithmtoRetrieveInformationCodedinAlphanumeric》算法发展起来的。PATtree在字符串子串匹配上有这非常优异的表现,这使得它经常成为一种高效的全文检索算法,在自然语言处理领域也有广泛的应用。其算法中最突出的特点就是采用半

系统 2019-08-29 21:59:52 2060

编程技术

代码复用应该这样做(3)

但假如被合并的代码所在的类具有某种并列关系,甚至是同一个父类下的多个子类,或者同一接口的多个实现类,则我们可以采用继承的方式解决代码复用的问题。具体做法是这样的,第一步还是整理原有的代码,通过比较,将需要重构的多份原代码中相同的与不同的代码整理出来。在整理过程中,可以将不同的代码,保留在各自的原程序中,而将相同的代码抽取出来成为独立的函数。这些函数就是我们后面需要抽象、合并、复用的代码。下一步呢,就是运用“抽取父类(ExtractSuperclass)”的

系统 2019-08-29 21:59:08 2060

编程技术

Spring与Struts2整合原理

Spring和Struts2都是应用非常广泛的J2EE应用程序框架,Struts2主要注重的是将视图层和控制层分开,但是不涉及对模型层的优化设计;而Spring除了实现Struts2的MVC功能外,还可以利用其控制反转的思想实现对模型层的优化,从更深层次去降低应用程序各个组件的耦合程度。1、添加ContextLoaderListener到web.xmlXml代码org.springframework.we

系统 2019-08-12 09:30:34 2060

编程技术

Filter及FilterChain的使用详解

一、Filter的介绍及使用什么是过滤器?与Servlet相似,过滤器是一些web应用程序组件,可以绑定到一个web应用程序中。但是与其他web应用程序组件不同的是,过滤器是"链"在容器的处理过程中的。这就意味着它们会在servlet处理器之前访问一个进入的请求,并且在外发响应信息返回到客户前访问这些响应信息。这种访问使得过滤器可以检查并修改请求和响应的内容。过滤器适用于那些地方?l为一个web应用程序的新功能建立模型(可被添加到web应用程序中或者从we

系统 2019-08-12 09:30:33 2060