JVM垃圾回收与性能调优总结 JVM调优的几种策略 一、JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为: New(年轻代) Tenured(年老代) 永久代(Perm) 其中New和Tenured属于堆内存,堆内存会从JVM启动参数(-Xmx:3G)指定的内存中分配,P ...
分类:
其他好文 时间:
2016-04-04 19:38:11
阅读次数:
263
博主在上一篇《 Java语法糖之foreach》中采用反编译的形式进行探讨进而揭开foreach语法糖的真相。进来又遇到几个问题,通过反编译之后才了解了事实的真相,觉得有必要做一下总结,也可以给各位做一下参考。
??相信很多朋友刚开始见到反编译后的内容的时候,肯定会吐槽:WTF!其实只要静下心来认真了解下,反编译也不过如此,java字节码的长度为一个字节,顶多256条指令,目前,Java虚拟机规范...
分类:
编程语言 时间:
2016-03-02 13:26:52
阅读次数:
256
一. 类的生命周期 类从被加载到虚拟机内存中开始,到卸载出内存为止,有以下(如图)的生命周期: 以上“加载->验证->准备->解析->初始化”称为类的加载过程。 Java虚拟机规范中没有对什么时候需要开始类加载的第一阶段进行强制约束,而是交给了虚拟机根据具体实现来自由把握。 但是对于初始化阶段,虚拟...
分类:
编程语言 时间:
2016-02-29 00:20:26
阅读次数:
217
1、http://pengjiaheng.iteye.com/?page=2虚拟机调优2、 http://blog.csdn.net/column/details/jvm-principle.html Java虚拟机规范3、 http://blog.csdn.net/column/details/j...
分类:
其他好文 时间:
2016-01-25 19:27:43
阅读次数:
325
很多人认为方法区(或者HotSpot虚拟机中的永久代)是没有垃圾收集的,Java虚拟机规范中确实说过可以不要求虚拟机在方法区实现垃圾收集,而且在方法区进行垃圾收集的“性价比”一般比较低:在堆中,尤其是在新生代中,常规应用进行一次垃圾收集一般可以回收70%~95%的空间,而永久代的垃圾收集效率远低于此...
分类:
其他好文 时间:
2015-12-25 22:14:39
阅读次数:
151
一、JVM内存模型及垃圾收集算法 ?1.根据Java虚拟机规范,JVM将内存划分为: New(年轻代) Tenured(年老代) 永久代(Perm) ? 其中New和Tenured属于堆内存,堆内存会从JVM启动参数(-Xmx:3G)指定的内存中分配...
分类:
其他好文 时间:
2015-11-06 11:25:54
阅读次数:
249
什么是虚拟机? 它是模拟某种计算机的体系结构,执行特定指令集的软件。 例如:vmware jvm是进程虚拟机,他不会模拟一个操作系统的运行。只是提供特定指令集。 在《java虚拟机规范》中定义了若干种程序运行期间会...
分类:
编程语言 时间:
2015-10-08 21:42:43
阅读次数:
177
前言 Tomcat遵循J2EE规范,实现了Web容器。很多有关web的书籍和文章都离不开对Tomcat的分析,初学者可以从Tomcat的实现对J2EE有更深入的了解。此外,Tomcat还根据Java虚拟机规范实现了经典的双亲委派模式的类加载体系。本文基于Tomcat7.0的Java源码,对其类加载....
分类:
其他好文 时间:
2015-10-08 14:41:41
阅读次数:
224
什么是Java内存模型Java虚拟机规范中试图定义一种Java内存模型(Java Memory Model,JMM)来屏蔽掉各种硬件和操作系统的访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。在此之前,主流程序语言(如C/C++等)直接使用物理硬件和操作系统的内存模型,因此,会...
分类:
编程语言 时间:
2015-10-07 20:14:02
阅读次数:
315
最近工作里复习的Class Loader基础知识集锦,写下来希望对别人有帮助,而且不止是为了撂倒面试官。为了尽量简单明了容易背,有些部分写得比较干。0. 参考资料:书:《深入了解Java虚拟机》、《实战Java虚拟机》规范:Java语言规范第12章源码:OpenJDK 7的Java及C代码( cla...
分类:
编程语言 时间:
2015-09-14 20:51:17
阅读次数:
201