慎用LinkedXxxx集合
这两天发现项目中有个模块有内存泄露,512 MB的堆内存大概在5个小时左右被耗尽。通过NB的profiler跟踪可以看到如下结果:java.util.concurrent.LinkedBlockingQueue.Node对象尽然占了一多半。在实时profile中发现即使限定了list的capacity并且在不断调用take方法(相当于remove)时,Node的alive [more...]
这两天发现项目中有个模块有内存泄露,512 MB的堆内存大概在5个小时左右被耗尽。通过NB的profiler跟踪可以看到如下结果:java.util.concurrent.LinkedBlockingQueue.Node对象尽然占了一多半。在实时profile中发现即使限定了list的capacity并且在不断调用take方法(相当于remove)时,Node的alive [more...]
最近项目里的RMI在Linux下运行老出问题,而且问题出得还很不稳定。那个程序启动时会分别在4个端口上绑定4个相同的对象,结果就是有时绑定成功3个,有时候才1个……查看log,抛出下面异常 java.rmi.NoSuchObjectException: no such object in [more...]
Tomcat 6之前,在web应用中使用log4j还算容易,只要将log4j的jar包和相应的配置文件扔到项目的class path就齐活了。但是从6开始,一切变得如此复杂…… 根据Tomcat 6 的官方文档,默认tomcat用的是JDK的logging框架,并配以“精简版”的common logging框架,即不支持common [more...]
原文:http://dev.yingzhitech.com/2009/01/06/96freemarker 升级为2.3.14 ognl 升级为 2.7.3(要附加javassis类库) 根包下增加freemarker.properties文件,内容为template_update_delay=60000 struts.xml增加 <constant [more...]
可使用以下代码:Graphics2D g2d = source.createGraphics();ColorSpace grayCS = ColorSpace.getInstance(ColorSpace.CS_GRAY); ColorConvertOp colorConvertOp = new ColorConvertOp(grayCS, [more...]
I just read "Swing Hacks" and find it is that easy to enable anti-aliased since JDK 5. Just add a one-line code listed below at the very beginning of your whole [more...]
前段时间说到现在的项目里在用JFreeChart。昨天晚上走之前没把客户端关掉,今天中午到公司发现程序已经崩了,狂抛OutOfMemoryError。用NB的profiler跟了一下,发现是JFreeChart或者说是没有正确使用JFreeChart的TimeSeries导致的后果 TimeSeries有一个方法setMaximumItemAge:public void [more...]
互联网很强大,Google很强大JFreeChart是个很强大的Java作图库,真的很强大,强大得不看文档都不知道该怎么用……JFC虽然遵循LGPL但文档是收费的,个人版45刀一份。刚才google了一下,找到一本1.0.4的PDF(最新为1.0.11),直接挂这里有点嚣张,谁要的给我mail更新:到这儿下载吧~~ [more...]
上一次谈到如何去cancel一个swing worker,今天在代码里又出了问题:即使使用swingWorker.cancel(true)仍然无法在sleep时中止线程。追了一下代码,最后在javax.swing.ImageIcon类里找到了原因:protected void loadImage(Image image) { synchronized(tracker) { [more...]
JGraph是基于Java swing、Java 2D开发的纯Java图形库,很像Eclipse的EMF、JMF,可以很方便地帮助开发人员在Swing框架中实现组件的呈现、布局、拖拽、group等图形化操作。JGraph也是基于MVC模式实现,将整个框架分为cell(M层)、cell [more...]