随笔分类 - JVM
摘要:Error: Fatal exception occurred, Program will exit Accuse: 这种错误一般是 JVM 参数有问题,可以在 Eclipse 中通过 try catch 去捕获 Throwable 查看详细错误细节。 相关文章: 【原创】Java class 存在
阅读全文
摘要:Bootstrap Classloader: 加载 JVM 自带的 jar 或 zip 文件,JRE\lib 目录下的 jar 包,但不包括 JRE\lib\ext 内的 jar 包,用System.getProperty("sun.boot.class.path") 可得到虚拟机搜索的包名。 Ex
阅读全文
摘要:如何判断对象是否可以被回收掉?对象已经没有价值了?对象已死? 1. 引用计数算法 给对象添加一个引用计数器,每当该对象被其它对象引用的时候,计数器就加1,当某一个引用失效的时候就减1,如果对象的引用计数器持续一段时间内都为0,该对象就可以被回收。 应用:COM、FlashPlayer、Python
阅读全文
摘要:1. 使用 New 关键字实例化对象的时候。 2. 读取或设置一个类的静态字段的时候。 3. 调用一个类的静态方法的时候。 4. 通过java.lang.reflect包中的方法对类进行反射调用的时候。 5. 当初始化一个类时,发现其父类还没有进行初始化,则需要先触发其父类初始化。 6. 当虚拟机启
阅读全文
摘要:堆:-Xmx -Xms 栈:-Xss 方法区(常量池):-XX:PermSize -XX:MaxPermSize 直接物理内存:-XX:MaxDirectMemorySize 新生代:-Xmn
阅读全文
摘要:JAVA GC为了针对不同存活率场景采用不同的算法进行高效回收,采取了分代策略,通常是:“新生代(Young Generation)”和“老年代(Tenured Generation)”。但是看比较多的文章时,总发现把老年代Tenured Generation说成Old Generation,我想命
阅读全文
摘要:Java Management Extension (JMX) 即 Java 管理扩展,在Java编程语言中定义了应用程序以及网络管理和监控的体系结构、设计模式、应用程序接口以及服务。通常使用JMX来监控系统的运行状态或管 理系统的某些方面,比如清空缓存、重新加载配置文件等。 JMX可以使Java应
阅读全文
摘要:jstat 是 JVM 统计信息监视工具,如下: 我通过 jstat 来监视1192的Java进程统计信息,各项监视参数: S0、S1 代表两个Survivor区; E 代表 Eden 区; O(Old)代表老年代; P(Permanent)代表永久代; YGC(Young GC)代表Minor G
阅读全文
摘要:例子:-Xmx=512M -Xms=64M Java堆可以通过Xmx和Xms两个参数指定最大内存512M,最小内存64M。以下为两个常见疑问: 1. 既然都指定了 Xmx 为什么还要设置 Xms 呢? Xms 是必不可少的配置,Xms 是 GC 算法进行垃圾收集评判标准中一个必不可少的元素。另外-X
阅读全文
摘要:在上一篇博文【原创】Java进程的内存使用情况中我们知道32位环境中Java进程的最大内存使用为2G,Java堆理论最大为1.75G,Java堆实际最大为1.5G,那Java进程的其它内存都哪里去了呢? In summary, a Java process comprises 1. Java VM
阅读全文
摘要:通过 java 命令执行 class 程序或者启动基于 Java 的中间件(Weblogic、Workshop、Eclipse、SQL Developer)时,Java运行时会创建一个操作系统进程,就像运行基于C的程序时一样,可以通过JPS命令查看到。 作为操作系统进程,Java 运行时面临着与其他
阅读全文
摘要:使用Jconsole的时候,出现<pid> is not a managed VM异常,如下: 我写了个Temp测试类,首先通过jps命令查看PID,然后通过jconsole就出现上面的错误。 具体原因是在启动JVM的时候没有配置jconsole相关的JVM参数:Dcom.sun.managemen
阅读全文