类加载过程一个类从编写完成后,编译为字节码之后,它要装载进内存有七个阶段: 加载 => (验证-> 准备-> 解析)=> 初始化=> 使用=> 卸载括号中的三个步骤可以整合成为 “连接”步骤。其中的步骤并不是一个阶段结束,一个阶段才开始的。只是说他们的开始阶段基本遵循此顺序(解析阶段更是可能在使用....
分类:
编程语言 时间:
2014-08-15 14:16:08
阅读次数:
286
第五章 JVM调优5.1 Java虚拟机内存模型1.JVM虚拟机将其内存数据分为程序计数器、虚拟机栈,本地方法栈,Java堆,和方法去等部分。5.2 JVM内存分配参数5.3 垃圾收集基础5.4 常用调优案例和方法5.5 使用JVM参数5.6 实战JVM调优
分类:
编程语言 时间:
2014-08-15 10:41:08
阅读次数:
186
JVM:一台用来模拟计算机执行计算指令的虚拟计算机,拥有自己的指令,指令执行环境,虚拟内存等。下面介绍虚拟机(JVM)--cpu,寄存器,内存,指令============================================================================...
分类:
其他好文 时间:
2014-08-15 04:01:37
阅读次数:
202
主要参考资料:《深入理解Java虚拟机》,未经本人及原书作者同意禁止转载。JVM中的数据区域JVM中给数据分了这么几个区域:其中: 1.程序计数器: 程序计数器是一块较小的内存空间,为当前线程所执行的字节码的行号指示器。也就是说,程序再翻译成为字节码了之后,分支、循环、跳转、异常处理、线程恢...
分类:
编程语言 时间:
2014-08-14 20:10:29
阅读次数:
281
垃圾收集器是内存回收算法的具体实现。下图展示了7种作用于不同分代的收集器,如果两个收集器之间存在连线,就说明它们可以搭配使用。 上面有7中收集器,分为两块,上面为新生代收集器,下面是老年代收集器。如果两个收集器之间存在连线,就说明它们可以搭配使用。 Serial收集器:串行收集器 一个单线程的收集器,但它的单线程的意义不仅仅是说明它只会使用一个CPU或一条线程去完...
分类:
编程语言 时间:
2014-08-14 10:55:38
阅读次数:
329
java程序在运行中无时无刻不再进行着方法的调用。方法调用和方法执行是两个过程。方法调用是指找到要执行的方法版本。方法执行是真正的执行方法。java的方法调用是由两个重要对象来决定的,一个是编译器,一个是jvm。不是说编译器和jvm是两个独立的对象啦,只是对应程序运行两..
分类:
其他好文 时间:
2014-08-14 03:57:38
阅读次数:
206
本文是学习网络上的文章时的总结,感谢大家无私的分享。
1、Thread类的sleep方法,可以使线程睡眠。此方法接收一个整数作为参数,表示线程暂停运行的毫秒数。在调用sleep方法后,当时间结束时,JVM会安排他们CPU时间,线程会继续按指令执行。
另一种可能是使用一个有TimeUnit列举元素的sleep方法,使用线程类的sleep方法让当前线程睡眠,但是它接收的参数单位后...
分类:
编程语言 时间:
2014-08-13 22:32:27
阅读次数:
333
Java本身是一种设计的很easy,很静止的语言,所以Java背后的原理也很easy,归结起来就是两点:1、JVM的内存管理理解了这一点,全部和对象相关的问题统统都能解决2、JVM Class Loader理解了这一点,全部和Java相关的配置问题,包含各种App Server的配置,应用的公布问题...
分类:
其他好文 时间:
2014-08-13 18:02:46
阅读次数:
198
JVM调优接触不多,这边只是简单使用jstat命令观测Java堆内存垃圾回收情况。简单处理过程为:1、先获取到pid先获取到pid,通过命令:ps -ef|grep xxx-service-name或者可以采用jps -vl或者jps -l命令查看pid2、查看内存/GC情况jstat命令查看,js...
分类:
Web程序 时间:
2014-08-13 12:37:16
阅读次数:
319
jvm在java程序运行时会将它所管理的内存划分成不同的区域做不同的功能,这并不难以想象。主要有两类结构,即:堆和栈。java堆主要是保存运行时的对象和数组数据,是所有线程共享的内存区域,在堆中有方法区、运行时常量池。方法区是代码的存储区,类、方法数据、方法的字节码、..
分类:
其他好文 时间:
2014-08-13 03:41:56
阅读次数:
170