![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA 技术
文章平均质量分 84
haiquan81_0
这个作者很懒,什么都没留下…
展开
-
Diagnosing Leaks in Native Code
本文摘自sun.com网站分析Diagnosing Leaks in Native Code 3.4 Diagnosing Leaks in Native CodeSeveral techniques can be used to find and isolate native code memory leaks. In general there ...2008-06-01 14:26:02 · 133 阅读 · 0 评论 -
Visitor Design Pattern(访问者设计模式)
Visitor Design Pattern(访问者设计模式)实现要点:所有被访问的对象必须继承一个带有accept(IVisitor)方法的接口;被访问对象的accept方法的具体实现:visitor.visit(this), 把自己的对象暴露给visitor;访问的对象通过实现IVisitor接口,对不同的被访问对象子类进行不同的操作。 好处:1,分散在不同子类相同的功能被集中管理在一种Vi...原创 2011-02-10 21:44:33 · 285 阅读 · 0 评论 -
大对象导致JVM Crash (Jboss) 分析及解决 - JDK 已知bug
最近在一个项目中,web 应用跑一段时间后, JBoss JVM crash ,web日志中没有任何异常。存放日志的地方发现有 hs_err_pid25052.log,发现这个文件,就知道是JVM crash了。 打开这个文件然后分析:--------------- T H R E A D ---------------Current thread (0x000000...2010-11-01 19:32:37 · 579 阅读 · 0 评论 -
论坛图片爬虫的一种实现
1背景 经常上贴图的论坛(Discuz!),每次打开帖子的时候,由于帖子的图片太多,每次都要等不少时间才能看到所有的图片,比较麻烦;同时经常会打开看过的帖子。为了解决这个问题,写了个小爬虫,定期把最新的帖子中的图片下载到本地。 2目标自动登录、智能发现为抓取的帖子、智能提取图片URL、多线程下载到本地。 3整体流程图 4,使用到的工具和软件...2011-05-14 17:35:45 · 270 阅读 · 0 评论 -
一场内存异常的虚惊
经过:对一个应用作性能测试,发现内存曲线很恐怖,内存不断增加,测了24小时也没有往下来掉,以为有内存问题,然后做了很多分析工作。找不原因。后来发现25小时的时候,内存就一下子掉下去了。才注意到是进行了一次Full GC。突然明白原来之前一致没有作Full GC。汗的~~~~ 总结:其实之前已经有一些端倪可见:譬如dump下的heap中占内存最多的东西Map没有被引用...2010-08-19 11:35:47 · 96 阅读 · 0 评论 -
解决 - java.lang.OutOfMemoryError: unable to create new native thread
工作中碰到过这个问题好几次了,觉得有必要总结一下,所以有了这篇文章,这篇文章分为三个部分:认识问题、分析问题、解决问题。 一、认识问题:首先我们通过下面这个测试程序来认识这个问题:运行的环境(有必要说明一下,不同环境会有不同的结果):32位 Windows XP,Sun JDK 1.6.0_18, eclipse 3.4,测试程序:impo...2010-03-23 23:11:40 · 2859 阅读 · 0 评论 -
剖析JVM 内存系列------之JVM的内存机制介绍(理论篇)
本文分为两个部分: 1,JVM specification s(JVM规范) 对JVM内存的描述 2,Sun的JVM的内存机制。 JVM specification对JVM内存的描述 首先我们来了解JVM specification中的JVM整体架构。如下图: 主要包括两个子系统和两个组件:...2009-03-22 20:42:17 · 79 阅读 · 0 评论 -
如何分析Java虚拟机死锁
英文资料:Thread Dump and Concurrency Locks Thread dumps are very useful for diagnosing synchronization relatedproblems such as deadlocks on object monitors. Ctrl-\ on Solaris/Linuxor Ctrl-Br...2008-06-01 15:38:25 · 122 阅读 · 0 评论 -
Java Performance - When 4294967296 bytes of address space isn't enough
the more memory you give to the JVM the more likely you are to get java.lang.OutOfMemoryError: unable to create new native thread exceptions when you have many threads. Absurd but true: to cr...2008-06-01 15:33:46 · 112 阅读 · 0 评论 -
Swing中 设置整个Application的字体
一般通过UIManager去设置各个参数。用这个类:public class SetFont { public static void setUIFont(javax.swing.plaf.FontUIResource f) { java.util.Enumeration keys = UIManager.getDefaults().keys()...2008-06-01 15:05:35 · 115 阅读 · 0 评论 -
JDK中LinkedBlockingQueue 内存泄漏问题
昨天晚上跑的程序,今早来的时候发现抛了个Java Heap: OutOfMemory的异常,于是觉得很奇怪。因为其实程序很简单,没有任何的输入而且线程都是Blocking住的,怎么会OutOfMemory呢?是开了JConsole看JVM的内存使用情况,过了一段时间,一条向上倾斜的直线很明显说明有内存泄露。为了确定泄露点,再开Profiling,发现Leak发生在LinkedBlockingQue...2008-06-01 14:38:50 · 4224 阅读 · 1 评论 -
windows linux jdk配置
Windows一个jdk的设置:CLASSPATH .;C:\jdk1.5.0_06\lib\dt.jar;C:\jdk1.5.0_06\tools.jar;C:\jdk1.5.0_06\libJAVA_HOME C:\jdk1.5.0_06Path %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wb...2008-06-01 14:34:37 · 58 阅读 · 0 评论 -
java GC 内存变化浅析
在指定jvm的运行参数-Xms1024m -Xmx1024m后(这两个参数指定的是heap内存),在heap没有到达1024m以前,gc只会进行一般gc,也就是只对heap中的年轻代进行回收;当heap到达1024m中,gc会做Full gc,也就是会对整个heap进行回收,包括年轻代和中年代。 所以你有时会观察到这样一种现象,一开始java应用的内存不断增加,但到达一个峰值后就...2008-06-01 14:29:32 · 189 阅读 · 0 评论 -
再写一遍已经写烂的jar中找冲突类
最近因为因为web容器升级,而容器自带了很多jar,发现和应用中的jar有冲突(相同的类,不同的版本),导致出现NoSuchMethon异常什么的。需求来了,需要比较两个目录下有那些相同的类。这个需求前人已经写烂了,可上网搜索一时找不到合适的,就再写了一遍,并作下记录,方便后来人和将来的自己再用。 不多说,上代码(一次性代码,1小时搞定,如有编程风格问题,敬请谅解): packag...原创 2012-12-19 16:04:43 · 146 阅读 · 0 评论