﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><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>语源科技BlogJava-agile.guo</title><link>http://www.blogjava.net/agile.guo/</link><description /><language>zh-cn</language><lastBuildDate>Wed, 06 May 2026 21:08:27 GMT</lastBuildDate><pubDate>Wed, 06 May 2026 21:08:27 GMT</pubDate><ttl>60</ttl><item><title>JAVA线程误区:Thread不能随便使用</title><link>http://www.blogjava.net/agile.guo/archive/2006/03/03/33510.html</link><dc:creator>agile</dc:creator><author>agile</author><pubDate>Fri, 03 Mar 2006 09:24:00 GMT</pubDate><guid>http://www.blogjava.net/agile.guo/archive/2006/03/03/33510.html</guid><wfw:comment>http://www.blogjava.net/agile.guo/comments/33510.html</wfw:comment><comments>http://www.blogjava.net/agile.guo/archive/2006/03/03/33510.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/agile.guo/comments/commentRss/33510.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/agile.guo/services/trackbacks/33510.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; &nbsp; 工作原因,需要找出程序中内存泄漏的地方(泄漏现象:JAVA进程的内存,一直在缓慢的增长,到最后出现OutOfMemory),当然市场上有很多的这样剖析工具了象Jprobe等,但是因为商业原因,没能采用:(.<br>&nbsp; 于是就用java本身的-Xrunhprof参数+HPjmeter,进行剖析,经过跟踪分析,发现有大量的Thread一直是活动对象,及时run()已经执行过!类似代码如下:<br>&nbsp; <br>&nbsp; Vector v = new Vector();<br>&nbsp; for (int k=0;k&lt;10;k++) <br>&nbsp;&nbsp;&nbsp; v.addElement(new Thread());<br><br>&nbsp; ....//other somethings.<br>&nbsp; for (int k=0;k&lt;v.size();k++) {<br>&nbsp;&nbsp;&nbsp; Thread&nbsp; t= (Thread)v.elementAt(k);<br>&nbsp;&nbsp;&nbsp; t.run();<br>&nbsp;&nbsp;&nbsp; v.removeElementAt(k);<br>&nbsp;&nbsp; }<br><br>&nbsp;&nbsp; 将heap=dump参数打开,用HPjemter分析prof文件日志,发现Thread对象,一直还是活动的,并且监测到memory leak.<br>&nbsp;&nbsp; 我们再来看看代码,把Thread放到一个类似的队列里边去,然后执行,最后从队列移出,看似没有什么问题,其实这就是Thread滥用的地方.如果开始一个Thread,只是为了运行run方法,而不需要start,那就将Thread换成Runnable对象好了,那么内存泄漏的机会就没有了.<br>&nbsp;&nbsp; 而且此泄漏跟JDK版本也有关系的,我在JDK5上运行以上代码,就没有监测到泄漏,而在1.4和1.3上,这样的泄漏就一直存在.!<br>&nbsp;&nbsp; 最后,建议使用线程,最好还是用JDK推荐的Runnable方式.!<br><br><img src ="http://www.blogjava.net/agile.guo/aggbug/33510.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/agile.guo/" target="_blank">agile</a> 2006-03-03 17:24 <a href="http://www.blogjava.net/agile.guo/archive/2006/03/03/33510.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Drools- 商务逻辑框架的选择,学习小结</title><link>http://www.blogjava.net/agile.guo/archive/2006/01/16/28169.html</link><dc:creator>agile</dc:creator><author>agile</author><pubDate>Mon, 16 Jan 2006 03:11:00 GMT</pubDate><guid>http://www.blogjava.net/agile.guo/archive/2006/01/16/28169.html</guid><wfw:comment>http://www.blogjava.net/agile.guo/comments/28169.html</wfw:comment><comments>http://www.blogjava.net/agile.guo/archive/2006/01/16/28169.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/agile.guo/comments/commentRss/28169.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/agile.guo/services/trackbacks/28169.html</trackback:ping><description><![CDATA[&nbsp; 由于项目原因,开始学习drools,基于规则的处理方式,此文是<a href="http://www.matrix.org.cn/resource/article/44/44046_Drools+Framework+Business.html">Drools- 商务逻辑框架的选择</a>学习过程中遇到一些问题小结<br>&nbsp;&nbsp; drl文件中,&lt;import&gt;元素和java的import类似,是对class进行import的,可是在实际应用中,好象&lt;import&gt;元素的内容不能有空格之类的东西,比如&lt;import&gt; java.lang.String &lt;/import&gt;在其他元素中比如&lt;class&gt;引用时,却是找不到,使用&lt;import&gt;java.lang.String&lt;/import&gt;却是可以,不知道原因何在.<br><a href="http://www.matrix.org.cn/resource/article/44/44046_Drools+Framework+Business.html"></a><img src ="http://www.blogjava.net/agile.guo/aggbug/28169.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/agile.guo/" target="_blank">agile</a> 2006-01-16 11:11 <a href="http://www.blogjava.net/agile.guo/archive/2006/01/16/28169.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>了解 Geronimo 的部署架构(解决在1.0下运行的一些问题)</title><link>http://www.blogjava.net/agile.guo/archive/2006/01/12/27747.html</link><dc:creator>agile</dc:creator><author>agile</author><pubDate>Thu, 12 Jan 2006 06:09:00 GMT</pubDate><guid>http://www.blogjava.net/agile.guo/archive/2006/01/12/27747.html</guid><wfw:comment>http://www.blogjava.net/agile.guo/comments/27747.html</wfw:comment><comments>http://www.blogjava.net/agile.guo/archive/2006/01/12/27747.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/agile.guo/comments/commentRss/27747.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/agile.guo/services/trackbacks/27747.html</trackback:ping><description><![CDATA[		&nbsp; geronimo 1.0发布有一点时间了,可是我在1.0下,发布运行文章所演示的samples确实,碰到不少问题,现在总结一些如下:<br>&nbsp; 1. 配置文件中的&lt;dependency&gt;-&gt;&lt;uri&gt;标识,已经和以前很不一样了,1.0中直接支持maven格式,原来采用相对路径的方式,好象无效了,而应该采用<font color="#0000ff">groupId/artifactId/version/type</font>的
格式,比如 "postgresql/postgresql-8.0-jdbc/313/jar"代表的是
"repository/postgresql/jars/postgresql-8.0-jdbc-313.jar",或者采用maven格式:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;groupId&gt;postgresql&lt;/groupId&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;type&gt;jar&lt;/type&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;artifactId&gt;postgresql-8.0-jdbc&lt;/artifactId&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;version&gt;313&lt;/version&gt;<br>&nbsp; 2.&nbsp; &lt;gbean&gt;中的gbeanName,应该有名字,否则发布就会出错误<br><br>&nbsp; 更详细的configuration,可以参考GERONIMO_HOME/schema/geronimo-config-1.0.xsd说明<img src ="http://www.blogjava.net/agile.guo/aggbug/27747.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/agile.guo/" target="_blank">agile</a> 2006-01-12 14:09 <a href="http://www.blogjava.net/agile.guo/archive/2006/01/12/27747.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>