JVM组成

JVM与硬件无关,JVM运行在操作系统之上。
类加载器+(堆+虚拟机栈+方法区+程序计数器+本地方法栈)+执行引擎+本地库接口(其他语言写好的接口)

jvm调优调的是(堆(主要是堆)+方法区)
类加载器(虚拟机自带类加载器,启动类加载器,扩展类加载器,用户自定义类加载器,应用程序类加载器)(把字节码文件加载到运行时数据区)

双亲委派机制(防止恶意代码对源代码的修改,有问题往上走到bootstrap查找自带的源代码)
沙箱安全机制(为了防止修改源码)
年轻带老年带(1:2)
JVM占机器内存的四分之一
垃圾回收算法(引用计数法+复制算法+)
引用计数法:(GCRoot开始)这个对象被引用一次加一,不引用减一,为0就垃圾回收。
复制算法:新生代用的是复制算法。Eden活的对象复制到Survivor如果Survivor满了之后复制到老年带(没有内存碎片,浪费空间)一步
标记清除:用在老年代,标记出哪些是垃圾,回收标记的垃圾,解决了浪费空间的问题,有了内存碎片。两步
标记整理:耗时长,整理把存活的放一边,死亡的放一边,清除死亡的。

你可能感兴趣的:(jvm)