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

ConcurrentLinkedQueue的实现原理分析

1.引言在并发编程中我们有时候需要使用线程安全的队列。如果我们要实现一个线程安全的队列有两种实现方式:一种是使用阻塞算法,另一种是使用非阻塞算法。使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁)或两个锁(入队和出队用不同的锁)等方式来实现,而非阻塞的实现方式则可以使用循环CAS的方式来实现,本文让我们一起来研究下DougLea是如何使用非阻塞的方式来实现线程安全队列ConcurrentLinkedQueue的,相信从大师身上我们能学到不少并发编程的技

系统 2019-08-29 22:40:24 1704

编程技术

2006/7/30 虞美人 大会三君

民国九十四年七月二十九日,受故友之邀,南医之内,小小篮球,肉身搏戏。而后片刻,霓虹道旁,分酒吃肉,不亦快哉。计有乔,卢,杨三君。故作拙词,以娱自乐。虞美人大会三君桥头执伞思故友,三君翩翩走。人生知已几相逢,愿与十年虚华换一轮。夜色店家烟正浓,佳肴各不同。三呼四友挤进来,团团一桌酒肉齐上来。2006/7/30虞美人大会三君

系统 2019-08-29 22:40:19 1704

编程技术

设计模式介绍之六:工厂模式(factory)的巧妙

本文展示了实际项目中使用到的一个工厂模式实现,在向系统中添加新类型时,只需要在新类型的实现文件这一处做改动,将新增类型对应用程序代码的干扰降到了最低。这个工厂实现的基本思想是:继承自同一个接口的新类型,通过一个函数来创建其对象,利用C++中类的构造函数会被自动调用这一特性,在新类型的实现文件中定义一个静态的(辅助)类对象,在该辅助类的构造函数中,向工厂单例注册新类型的创建函数。先看下代码,然后我们一一来解释。下面是命令接口CommandObject的头文件

系统 2019-08-29 22:35:19 1704

编程技术

WCF RIA Services 版本问题坑了我

我们准备用WCFRIA做Silverlight的通信层,结果因为我的机器安装的是4.0,经过无数次测试,还去老外论坛问了,也没得到结果,因为这么久测试都是无法穿越,我就跟BOSS说无法穿越复杂的实体类型,结果老板今天叫另外一个同事测,一测试就可以通过,我回来研究了一下,怎么弄都还是不行。我开始怀疑是不是我的WCFRIA版本问题。我下载了最新的Sp1(SP2还只是PreView版),一安装上去,什么问题都没了,我的个汗啊,微软坑人噻。我把这个东东公布出来,希

系统 2019-08-29 22:34:05 1704

编程技术

制作全景照片

把广阔的范围都拍进一张照片就叫做全景照片。这种手法从很早以前就有,胶片相机上也有回转镜头部分的特别器材。不过数码相机的话,不需使用特别器材,通过合成图像技术的运用,用手边的相机就能简单地拍出全景照片。在此来说明一下这种拍摄方法。这是用附属软件“PhotoStitch”将用全景辅助功能(辅助拼接模式)拍摄的一张张照片合成后的成品。这样宽广的风景也能变成一张照片。合成的照片令人印象深刻,请大家在拍摄风景的时候多尝试。拍摄时,如果相机具有全景辅助模式就可以使用它

系统 2019-08-29 22:28:36 1704

编程技术

用flash给人物侧面绘画

一.先来看看效果:二.下面我们开始讲解制作过程:1.使用直线工具在第一层勾勒出人物侧面的大体轮廓,先不用在意形状是否符合比例。2.然后使用黑箭头工具进行轮廓线的微调整,在调整过程中,大家可以把舞台放到很大,舞台通常可以放大25---2000左右,这样已经很适合操作了。3.然后使用直线工具绘制出眉毛眼睛的轮廓,基础部分基本都是在为后期工作做准备,打轮廓也是为了在前期工作中把人物比例事先协调好,方便以后的操作。4.而后对眉毛眼睛的细小部分进行修改。5.使用直线

系统 2019-08-29 22:24:02 1704

编程技术

Struts

框架(Framework)是可重用的,半完成的应用程序,可以用来产生专门的定制程序。您只要细心地研究真实的应用程序,就会发现程序大致上由两类性质不同的组件组成,一类与程序要处理的具体事务密切相关,我们不妨把它们叫做业务组件;另一类是应用服务。比如说:一个税务征管系统和一个图书管理系统会在处理它们的业务方面存在很大的差异,这些直接处理业务的组件由于业务性质的不同不大可能在不同的系统中重用,而另一些组件如决定程序流向的控制、输入的校验、错误处理及标签库等这些只

系统 2019-08-29 22:18:52 1704

编程技术

带动画效果的简单Tips显示

项目地址:https://github.com/nhaarman/supertooltips我比较懒,懒得以后重新写了,所以直接copy了。用法:packagecom.haarman.supertooltips;importandroid.app.Activity;importandroid.os.Bundle;importandroid.os.Handler;importandroid.view.LayoutInflater;importandroid.

系统 2019-08-29 22:17:54 1704

编程技术

log4j.properties配置详解

Log4J的配置文件(ConfigurationFile)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1.配置文件Log4J配置文件的基本格式如下:#配置根Loggerlog4j.rootLogger=[level],appenderName1,appenderName2,…#配置日志信息输出目的地Appenderlog4j.appender.appender

系统 2019-08-29 22:16:33 1704

编程技术

ESBasic 可复用的.NET类库(03) -- 圈 Circl

1.缘起:假设我们要开发一个多人跳棋游戏。在跳棋游戏中,当一个人走一步棋之后,控制权就轮到下一家,如此轮询,一圈之后控制权又回到自己,然后再继续轮圈下去。我们可以使用数组或列表等数据结构来解决这种转圈圈的问题,但是始终都不够直观。我设计了Circle来对“圈”这种数据结构进行抽象,我们在类似跳棋这样的游戏中可以非常方便地直接使用它。Circle的形象示意图如下:2.适用场合:需要类似“圈”这样的数据结构支持的场合。3.设计思想与实现Circle也是一个非常

系统 2019-08-29 22:15:04 1704