is
zhou

jvm调优

Java对象的创建及访问

zhouchong阅读(61)评论(0)

对象的创建 Java是一门面向对象的编程语言,在Java程序运行过程中无时无刻都有对象被创建出 来。 在语言层面上,创建对象(例如克隆、 反序列化)通常仅仅是一个new关键字而已,而在虚拟机中,对象(文中讨论的对象限于普通Java对象,不包...

java中,堆的运行速度为什么比栈慢

zhouchong阅读(63)评论(0)

第二块:JVM栈 JVM栈是线程私有的,每个线程创建的同时都会创建JVM栈,JVM栈中存放的为当前线程中局部基本类型的变量(java中定义的八种基本类型:boolean、char、byte、short、int、long、float、doub...

垃圾回收机制中,引用计数法是如何维护所有对象引用的

zhouchong阅读(48)评论(0)

以前看JVM的时候总有个问题:讲到垃圾回收肯定会提到引用计数法,其优缺点都说了很多,但都没说要如何去实现它,我想问的是,引用计数法通过如何维护所有对象引用的?   从楼主的问题看来,楼主似乎把GC的几个术语混为一谈了。在回答楼主问...

Java 等语言的 GC 为什么不实时释放内存

zhouchong阅读(57)评论(0)

延迟释放当然是一个设计缺点,只不过在不同的场合,这个缺点的严重性和带来的影响有显著差异。 理想状况下,所有不需要的资源应该在不需要的那一刻立即释放,归还给系统。但要做到这一点并不容易,有时候成本会高到无法接受,因为在一个复杂程序中,确定对象...

既然JVM有Full GC,为什么还会出现OutOfMemoryError

zhouchong阅读(57)评论(0)

既然在触发Full GC的时候,年老代和持久带都会被清理,那么为什么还会出现OOM问题?而且,对于强引用, 当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内...

JVM调优总结(三)-基本垃圾回收算法

zhouchong阅读(158)评论(0)

可以从不同的的角度去划分垃圾回收算法: 按照基本回收策略分 引用计数(Reference Counting): 比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算...

JVM调优总结(二)-一些概念

zhouchong阅读(153)评论(0)

Java对象的大小 基本数据的类型的大小是固定的,这里就不多说了。对于非基本类型的Java对象,其大小就值得商榷。 在Java中,一个空Object对象的大小是8byte,这个大小只是保存堆中一个没有任何属性的对象的大小。看下面语句: Ob...