October 24, 2012

Java虚拟机的JVM垃圾回收机制

一、JVM内存空间

/assets/images/2012/10/jvm-1.jpg

1.JVM堆(Heap)

JVM堆(Heap)= 新生代(Young) + 旧生代(Tenured)

分区作用:

新创建的对象通常先将其分配在新生代中,在新生代中经过若干次GC之后仍未释放的对象,再将它移动到旧生代。为了让内存回收更高效(GC会暂停JVM中的应用),Sun JDK在1.2开始对堆采用了分代管理的方式。在分配对象遇到内存不足时,先对新生代进行GC(Young GC);当新生代GC......

November 20, 2011

JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jsta

jstatd

启动jvm监控服务。它是一个基于rmi的应用,向远程机器提供本机jvm应用程序的信息。默认端口1099。

实例:jstatd -J-Djava.security.policy=my.policy

my.policy文件需要自己建立,内如如下:

grant codebase "file:$JAVA_HOME/lib/tools.jar" {

permission java.security.AllPermission;

};

这是安全策略文件,因为jdk对jvm做了jaas的安全检测,所以我们必须设置一些策略,使得jstatd被允许作网络操作

jps

列......