<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>诗剑书生的专栏 - </title><link>category/64977.aspx</link><description /><dc:language>zh-CN</dc:language><lastUpdateTime>Mon, 05 May 2008 15:28:00 GMT</lastUpdateTime><ttl>60</ttl><item><dc:creator>axman</dc:creator><title>为什么对象被new 以后在执行dup操作?</title><link>http://blog.csdn.net/axman/archive/2008/05/05/2393621.aspx</link><pubDate>Mon, 05 May 2008 14:59:00 GMT</pubDate><guid>http://blog.csdn.net/axman/archive/2008/05/05/2393621.aspx</guid><wfw:comment>comments/2393621.aspx</wfw:comment><comments>http://blog.csdn.net/axman/archive/2008/05/05/2393621.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>comments/commentRss/2393621.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2393621</trackback:ping><description>今天有个朋友问我,为什么一个new一个对象的指令在new后面紧跟的是dup操作?他说搜了可能找到的
搜索引擎都找不到答案,包括翻了&gt;这本书也没有任何说明.&lt;img src ="aggbug/2393621.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>axman</dc:creator><title>集合类参数的传递</title><link>http://blog.csdn.net/axman/archive/2007/09/17/1787887.aspx</link><pubDate>Mon, 17 Sep 2007 11:02:00 GMT</pubDate><guid>http://blog.csdn.net/axman/archive/2007/09/17/1787887.aspx</guid><wfw:comment>comments/1787887.aspx</wfw:comment><comments>http://blog.csdn.net/axman/archive/2007/09/17/1787887.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>comments/commentRss/1787887.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1787887</trackback:ping><description>对于集合类参数,如果传入方法后在方法外重新赋值参数本身,这和其它引用参数一样不会影响方法内的参数.但如果对集合中元素重新赋值则改变了方法内的集合中的元素,因为方法外和方法内的集合就是本身是同一对象.&lt;img src ="aggbug/1787887.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>axman</dc:creator><title>short类型的+操作和++操作的区别,竟然没有一个正确答案.</title><link>http://blog.csdn.net/axman/archive/2007/03/23/1538300.aspx</link><pubDate>Fri, 23 Mar 2007 09:53:00 GMT</pubDate><guid>http://blog.csdn.net/axman/archive/2007/03/23/1538300.aspx</guid><wfw:comment>comments/1538300.aspx</wfw:comment><comments>http://blog.csdn.net/axman/archive/2007/03/23/1538300.aspx#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>comments/commentRss/1538300.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1538300</trackback:ping><description>今天再次在卫琴的论坛上看到有人问这样的问题:

short    tmp = 0;

为什么tmp = tmp +1;错误但 tmp ++;却正确.

用google和yahoo竟然搜索不到一个正确的答案.都说java程序员不需要关心底层,真的吗? 

&lt;img src ="aggbug/1538300.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>axman</dc:creator><title>深入研究线程池</title><link>http://blog.csdn.net/axman/archive/2007/01/12/1481197.aspx</link><pubDate>Fri, 12 Jan 2007 14:52:00 GMT</pubDate><guid>http://blog.csdn.net/axman/archive/2007/01/12/1481197.aspx</guid><wfw:comment>comments/1481197.aspx</wfw:comment><comments>http://blog.csdn.net/axman/archive/2007/01/12/1481197.aspx#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>comments/commentRss/1481197.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1481197</trackback:ping><description>一.什么是线程池?线程池就是以一个或多个线程[循环执行]多个应用逻辑的线程集合.注意这里用了线程集合的概念是我生造的,目的是为了区分执行一批应用逻辑的多个线程和线程组的区别.关于线程组的概念请参阅基础部分.那么如果一个线程循环执行一段代码是否是线程池?如果极端而言,应该算,但实际上循环代码应该算上一个逻辑单元.我们说最最弱化的线程池应该是循环执行多个逻辑单元.也就是有一批要执行的任务,这些任务被独立为多个不同的执行单元.比如:&lt;img src ="aggbug/1481197.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>axman</dc:creator><title>再说final变量</title><link>http://blog.csdn.net/axman/archive/2006/12/25/1460544.aspx</link><pubDate>Mon, 25 Dec 2006 17:41:00 GMT</pubDate><guid>http://blog.csdn.net/axman/archive/2006/12/25/1460544.aspx</guid><wfw:comment>comments/1460544.aspx</wfw:comment><comments>http://blog.csdn.net/axman/archive/2006/12/25/1460544.aspx#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>comments/commentRss/1460544.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1460544</trackback:ping><description>final变量的定义本身并不复杂,就是变量一经初始化就不能再指向其它对象.在c++中它是一个const指针,而
不是指向const变量的指针,const指针的意思是说它只能一直指向初始化时的那个地址.但那个地址中对象本身
是可以修改的.而指向const变量的指针是说所指对象本身是不能修改的.&lt;img src ="aggbug/1460544.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>axman</dc:creator><title>多线程编程 深入理解JMM</title><link>http://blog.csdn.net/axman/archive/2006/08/19/1097541.aspx</link><pubDate>Sat, 19 Aug 2006 20:47:00 GMT</pubDate><guid>http://blog.csdn.net/axman/archive/2006/08/19/1097541.aspx</guid><wfw:comment>comments/1097541.aspx</wfw:comment><comments>http://blog.csdn.net/axman/archive/2006/08/19/1097541.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>comments/commentRss/1097541.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1097541</trackback:ping><description>1.多个线程共有的字段应该用synchronized或volatile来保护.
2.synchronized负责线程间的互斥.即同一时候只有一个线程可以执行synchronized中的代码.
3.volatile负责线程中的变量与主存储区同步.但不负责每个线程之间的同步.&lt;img src ="aggbug/1097541.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>axman</dc:creator><title>多线程编程 深入理解DCL的安全性</title><link>http://blog.csdn.net/axman/archive/2006/08/17/1089196.aspx</link><pubDate>Thu, 17 Aug 2006 16:10:00 GMT</pubDate><guid>http://blog.csdn.net/axman/archive/2006/08/17/1089196.aspx</guid><wfw:comment>comments/1089196.aspx</wfw:comment><comments>http://blog.csdn.net/axman/archive/2006/08/17/1089196.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>comments/commentRss/1089196.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1089196</trackback:ping><description>不要一看到双检锁就认为它有安全问题.有些时候它完全可以非常好地工作.只是你要理解它的安全
问题到底在哪儿?
&lt;img src ="aggbug/1089196.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>axman</dc:creator><title>多线程编程 深入理解线程对象和线程</title><link>http://blog.csdn.net/axman/archive/2006/08/15/1065651.aspx</link><pubDate>Tue, 15 Aug 2006 10:18:00 GMT</pubDate><guid>http://blog.csdn.net/axman/archive/2006/08/15/1065651.aspx</guid><wfw:comment>comments/1065651.aspx</wfw:comment><comments>http://blog.csdn.net/axman/archive/2006/08/15/1065651.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>comments/commentRss/1065651.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1065651</trackback:ping><description>一个线程对象,在开始运行的时候(JAVA
中从调用线程对象的start(),ZThread中构造函数完成后会直接启动),就将当前线程所要执行的任务
及相关上下文注册到线程处理系统内.线程对象只是向这个处理系统注册的句柄,注册后如何执行线程
对象要完成的操作那就由线程处理系统来统一管理了&lt;img src ="aggbug/1065651.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>axman</dc:creator><title>多线程编程 实战篇秘籍 (二) </title><link>http://blog.csdn.net/axman/archive/2006/08/14/1062483.aspx</link><pubDate>Mon, 14 Aug 2006 14:34:00 GMT</pubDate><guid>http://blog.csdn.net/axman/archive/2006/08/14/1062483.aspx</guid><wfw:comment>comments/1062483.aspx</wfw:comment><comments>http://blog.csdn.net/axman/archive/2006/08/14/1062483.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>comments/commentRss/1062483.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1062483</trackback:ping><description>volatile 是用来保证[内存同步]的关键字,内存同步是说在某个线程中修改某实例字段能够及时地
更新到主存储区,而某线程如果需要引用该字段也能及时地从主存储区中得到最新的数据.&lt;img src ="aggbug/1062483.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>axman</dc:creator><title>多线程编程 实战篇秘籍 (一) </title><link>http://blog.csdn.net/axman/archive/2006/03/13/622844.aspx</link><pubDate>Mon, 13 Mar 2006 09:23:00 GMT</pubDate><guid>http://blog.csdn.net/axman/archive/2006/03/13/622844.aspx</guid><wfw:comment>comments/622844.aspx</wfw:comment><comments>http://blog.csdn.net/axman/archive/2006/03/13/622844.aspx#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>comments/commentRss/622844.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=622844</trackback:ping><description>Java是在语言级提供对线程的支持,所以Java的内存模型分为主存储器和工作存储器.

[Main memory]主存储器就是实例所在的存储区域,所有实例本身都被放在主存储器中,当然这
句话本身就说明了实例的字段也在主存储器中,主存储器被实例的所有线程所共有.

[working memory] 工作存储器当然就是每个线程所专有的工作区域,当然其中有它们共有的
主存储器中的一些必要的如实例字段等数据的COPY&lt;img src ="aggbug/622844.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>axman</dc:creator><title>多线程编程 高级主题(二)</title><link>http://blog.csdn.net/axman/archive/2006/03/09/619543.aspx</link><pubDate>Thu, 09 Mar 2006 11:10:00 GMT</pubDate><guid>http://blog.csdn.net/axman/archive/2006/03/09/619543.aspx</guid><wfw:comment>comments/619543.aspx</wfw:comment><comments>http://blog.csdn.net/axman/archive/2006/03/09/619543.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>comments/commentRss/619543.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=619543</trackback:ping><description>上节的Java异步调用为了简化调用关系,很多角色被合并到一个类中实现,为了帮助大家改快地抓住核心的流程.那么一个真正的异步消息处理器,当然不是这样的简单.
一.	它要能适应不同类型的请求:
本节用 makeString来说明要求有返回值的请求.用displayString来说明不需要返回值的请求.
二.	要能同时并发处理多个请求,并能按一定机制调度:
本节将用一个队列来存放请求,所以只能按FIFO机制调度,你可以改用LinkedList,就可以简单实现一个优先级(优先级高的addFirst,低的addLast).
三.	有能力将调用的边界从线程扩展到机器间(RMI)
四.	分离过度耦合,如分离调用句柄(取货凭证)和真实数据的实现.分离调用和执行的过程,可以尽快地将调返回.
&lt;img src ="aggbug/619543.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>axman</dc:creator><title>多线程编程  高级主题(一)</title><link>http://blog.csdn.net/axman/archive/2006/03/05/615824.aspx</link><pubDate>Sun, 05 Mar 2006 11:47:00 GMT</pubDate><guid>http://blog.csdn.net/axman/archive/2006/03/05/615824.aspx</guid><wfw:comment>comments/615824.aspx</wfw:comment><comments>http://blog.csdn.net/axman/archive/2006/03/05/615824.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>comments/commentRss/615824.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=615824</trackback:ping><description>java平台并没有提供异步接口,要实现异步调用,就要靠自己利用多线程机制来实现.&lt;img src ="aggbug/615824.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>axman</dc:creator><title>多线程编程 实战篇 (五)</title><link>http://blog.csdn.net/axman/archive/2005/12/28/563795.aspx</link><pubDate>Wed, 28 Dec 2005 11:57:00 GMT</pubDate><guid>http://blog.csdn.net/axman/archive/2005/12/28/563795.aspx</guid><wfw:comment>comments/563795.aspx</wfw:comment><comments>http://blog.csdn.net/axman/archive/2005/12/28/563795.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>comments/commentRss/563795.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=563795</trackback:ping><description> 当在一个线程对象上调用stop()方法时,这个线程对象所运行的线程就会立即停止,
并抛出特殊的ThreadDeath()异常.这里的"立即"因为太"立即"了,就象一个正在摆弄自己的
玩具的孩子,听到大人说快去睡觉去,就放着满地的玩具立即睡觉去了.这样的孩子是不乖的.&lt;img src ="aggbug/563795.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>axman</dc:creator><title>多线程编程 实战篇 (四)</title><link>http://blog.csdn.net/axman/archive/2005/12/26/562249.aspx</link><pubDate>Mon, 26 Dec 2005 10:43:00 GMT</pubDate><guid>http://blog.csdn.net/axman/archive/2005/12/26/562249.aspx</guid><wfw:comment>comments/562249.aspx</wfw:comment><comments>http://blog.csdn.net/axman/archive/2005/12/26/562249.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>comments/commentRss/562249.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=562249</trackback:ping><description>在java中,线程的中断(interrupt)只是改变了线程的中断状态,至于这个中断状态改变后
带来的结果,那是无法确定的,有时它更是让停止中的线程继续执行的唯一手段.不但不是
让线程停止运行,反而是继续执行线程的手段.
&lt;img src ="aggbug/562249.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>axman</dc:creator><title>多线程编程 实战篇 (三)</title><link>http://blog.csdn.net/axman/archive/2005/08/01/443431.aspx</link><pubDate>Mon, 01 Aug 2005 11:10:00 GMT</pubDate><guid>http://blog.csdn.net/axman/archive/2005/08/01/443431.aspx</guid><wfw:comment>comments/443431.aspx</wfw:comment><comments>http://blog.csdn.net/axman/archive/2005/08/01/443431.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>comments/commentRss/443431.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=443431</trackback:ping><description>在基础篇中的第一节,我就强调过,要了解多线程编程,首要的两个概念就是线程对象
和线程.

现在我们来深入理解线程对象,线程,运行环境之间的关系,弄清Runnable与Thread的
作用.
&lt;img src ="aggbug/443431.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>