java 虚拟机

1、java可移植,java虚拟机不可移植,不同操作系统下载对应的jdk

2、java虚拟机是一个进程,且是多线程的,整个虚拟机脱离不了操作系统的约束

3、java虚拟机中的内存管理

方法区(permgen )125M 或 258M足够

堆区:由老年区(tenuredgen)和新生区(younggen)组成

新生区(younggen):由eden space、s0(from)、s1(to)组成

4、操作系统的oom(out of memory) killer

5、java 虚拟机的oom

6、32位cpu 进程可寻址虚拟地址空间(内存)4G,2G内核,2G应用程序--windows 系统,/3G

                       1G内核,3G应用程序--linux系统

7、java虚拟机的垃圾回收(GC)

回收什么--做什么

 

 

什么时候回收--什么时候做

通过jvisisualvm查看java虚拟机的内存堆的详情

具体如何回收--具体如何做

流行的java虚拟机是将内存划为多个区

新生代(younggen)一般采用复制算法

老年代:(tenuredgen)一般采用标记-整理或者标记-清理算法

8、java虚拟机时刻面对存在对象的出生和死亡,尽量避免stop the world(Full GC)时候会发生

9、jstat:查看内存垃圾回收的详情,jmap:查看dump文件

 

你可能感兴趣的