2010年8月30日

使用openssl为apache2配置ssl

摘要: 最近想玩一下apache,在自己的ubuntu10.04上装了一个,安装很方便,但ubuntu源中的apache有缺陷,没有apache2-ssl-certificate命令,不能方便的产生证书,所以需要借助openssl来完成。1.首先,确保apache2 的ssl模块已经加载:$sudo a2enmod ssl2.使用128位rsa算法生成密钥server.key$openssl genrsa... 阅读全文

posted @ 2010-08-30 10:52 tomsheep 阅读(3990) 评论(0) 推荐(0) 编辑

2010年6月13日

Java并行(4):线程安全前传之Singleton

摘要: 1.寂寞的Singleton 如果你是一名OO程序员,Singleton的名字对你来说就不会陌生,它是GoF设计模式的一种,江湖人称“单例”的便是;即便你不是OO程序员,中国人你总该是吧?那么下面一段你应该也会背:“世界上只有一个敏感词,敏感词是敏感词的一部分,敏感词是代表敏感词的唯一合法敏感词,任何企图制造两个敏感词的企图都是注定要失败的。”说的多么好!一语道破Singleton的真谛。但是,... 阅读全文

posted @ 2010-06-13 16:12 tomsheep 阅读(2348) 评论(0) 推荐(0) 编辑

2010年6月10日

Java并行(3):可见性重访之锁、Volatile与原子变量

摘要: 1. 过期数据 我们在前面讨论JMM时便已提出“同步之道,外炼‘互斥’,内修‘可见’”的法门。过去,我不注意内存可见性的时候,程序里长满了小红疙瘩: Example Source Code [http://www.cnblogs.com/tomsheep/] 上面的代码有什么问题?即使运行它千百遍,你可能也察觉不出有什么问题。但是,问题确实存在。病灶一:r线程理论上存在无限循环的可能(这里有两个... 阅读全文

posted @ 2010-06-10 19:45 tomsheep 阅读(6056) 评论(2) 推荐(0) 编辑

2010年6月9日

Java并行(2): Monitor

摘要: 1. 什么是Monitor? Monitor其实是一种同步工具,也可以说是一种同步机制,它通常被描述为一个对象,主要特点是: 对象的所有方法都被“互斥”的执行。好比一个Monitor只有一个运行“许可”,任一个线程进入任何一个方法都需要获得这个“许可”,离开时把许可归还。 通常提供singal机制:允许正持有“许可”的线程暂时放弃“许可”,等待某个谓词成真(条件变量),而条件成立后,当前进程可... 阅读全文

posted @ 2010-06-09 03:46 tomsheep 阅读(17286) 评论(0) 推荐(7) 编辑

2010年6月8日

Java并行(1):JMM

摘要: 1.什么是JMM? JMM即Java Memory Model,设想有这样一条赋值语句:int a = 1;而a为诸多线程所共享, JMM所关注的问题就是:“读取a的线程在何时会看到值为1的这个写入?” 2. 为什么关注JMM? 在多数情况下,即使是并发程序的程序员,也并不特别关心JMM,因为Java语言与JVM用更高抽象的“同步”语义隐藏了JMM的语义,使得程序员即便对JMM一无所知,也可以... 阅读全文

posted @ 2010-06-08 02:42 tomsheep 阅读(4450) 评论(0) 推荐(0) 编辑

2010年5月30日

Python recipe(18):Monitor模式

摘要: 代码: Example Source Code [http://www.cnblogs.com/tomsheep/] 以上代码改写自Python Cookbook 6-6概述: 模拟Java中的Monitor模式,即所有方法都synchronized。Java中利用intrinsic锁来实现,这里我们用Wrapper把一个Lock和一个object绑定。代码说明:1. get_method_na... 阅读全文

posted @ 2010-05-30 00:19 tomsheep 阅读(1107) 评论(0) 推荐(1) 编辑

2010年5月29日

Python recipe(17):Future

摘要: 代码何在? Example Source Code [http://www.cnblogs.com/tomsheep/] 以上代码改写自Python Cookbook 6-5概述: 熟悉Java的童鞋都知道Java中有一个很好用的接口叫Future,表示异步计算的结果。他的有一个实现FutureTask,同时实现了Runnable接口。可以接受一个Callable做构造参数,异步执行该Calla... 阅读全文

posted @ 2010-05-29 00:05 tomsheep 阅读(378) 评论(0) 推荐(1) 编辑

2010年5月28日

Python recipe(16):ReadWriteLock

摘要: 代码何在? Example Source Code [http://www.cnblogs.com/tomsheep/] 以上代码改写自Python Cookbook 6-4概述: 不必多说,用Python实现的读写锁(ReadWriteLock):允许同时多个reader,但只能有一个writer,并且writer工作时reader也不能读代码说明:1.实现方法和其他语言没有太大区别,这里th... 阅读全文

posted @ 2010-05-28 23:13 tomsheep 阅读(886) 评论(1) 推荐(1) 编辑

2010年5月26日

Python recipe(15):获取类的所有成员

摘要: 代码: Example Source Code [http://www.cnblogs.com/tomsheep/] 以上代码改写自Python Cookbook 5-3概述: 获取一个类对象(非实例)的所有成员代码说明:1. python 新旧class: 旧式class不以object为根,如果type一个旧式class的实例,type(oldClassObj)的话总会返回<type ... 阅读全文

posted @ 2010-05-26 15:42 tomsheep 阅读(5175) 评论(0) 推荐(0) 编辑

2010年5月25日

Python recipe(14):遍历目录

摘要: 代码何在? Example Source Code [http://www.cnblogs.com/tomsheep/] 以上代码改写自Python Cookbook 4-18 4-19概述: 提供有筛选地便利目录功能代码说明:1. 最开始的mkdirs函数和这个walk功能不相干,是一个简单的创建目录函数,包装了os.mkdirs2. os.path.walk函数提供了便利目录的机制,list... 阅读全文

posted @ 2010-05-25 21:23 tomsheep 阅读(819) 评论(0) 推荐(0) 编辑

导航