花间一壶酒

导航

随笔分类 -  Java Study——《Thinking in java 》

Java synchronized详解
摘要:一直对这些不是很懂。找了一下,看一下,供我以后再看:第一篇: Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 二、然而,当一个线程访问object的一个synchronized(this)同步代码块时,另一个线程仍然可以访问该object中的非synchronized(this)同步代码块。 三、尤其关键的是,当一个线程访问ob. 阅读全文

posted @ 2011-12-06 22:04 wrh526 阅读(217) 评论(0) 推荐(0)

生产者消费者程序
摘要:package learnJava_Thread;/** * * @author wrh * 2011/12/06 * use multithread to complete producer and consumer problem */public class TestProducer_Consumer { public static void main(String[] args) { GoDown goDown = new GoDown(30); Consumer c1 = new Consumer(50, goDown); Cons... 阅读全文

posted @ 2011-12-06 21:56 wrh526 阅读(299) 评论(0) 推荐(0)

Pattern和Matcher
摘要:这两个类都是在java.util.regex包中,操作时先用static Pattern.compile()方法编译我们的正则表达式,它会根据我们的String类型的正则表达式生成一个Pattern对象。然后把我们要检索的字符串传入Pattern对象的matcher()方法。mather()方法会生成一个Matcher对象,它有很多的功能可用,如:它的replaceAll()方法可以将所有匹配的部分换成你传入的参数。所以我们会常看到如下代码:1 Pattern p = Pattern.compile("\bw");2 Matcher m = p.matcher(" 阅读全文

posted @ 2011-09-23 09:36 wrh526 阅读(331) 评论(0) 推荐(0)

基本的Map 实现
摘要:Map 是一个接口,实现Map 接口的类颇多,他们各有自己的特点。HashMap :如果没有其他的限制,它应该是你的默认选择,因为它对速度进行了优化。Map基于散列表的实现(它取代了HashTable),插入和查询“键值对”的开销是固定的。可以通过构造器设置容量和负载因子LinkedListMap:类似于HashMap,但是迭代遍历它时,取得“键值对”的顺序是其插入次序,或者是 最近最少使用(LRU)的次序,只比HashMap慢一点;而在迭代访问时反而更快,因为他使用 链表 维护内部次序。TreeMap:基于红黑树的实现。查看“键”或“键值对”时,他们会被排序(次序由Comparable或co 阅读全文

posted @ 2011-08-17 15:32 wrh526 阅读(387) 评论(0) 推荐(0)