福田做商城网站建设哪家便宜,龙岗网站建设流程,wordpress知名网站,wordpress修改默认id号JVM
1.jvm的组成部分 类加载器:将javac编译的class文件加载到内存中 运行时数据区#xff1a;将内存划分成若干个不同的区域。 执行引擎#xff1a;负责解析命令#xff0c;提交操作系统执行。 本地接口#xff1a;融合不同的语言为java所用
2.运行时数据区
方法区将内存划分成若干个不同的区域。 执行引擎负责解析命令提交操作系统执行。 本地接口融合不同的语言为java所用
2.运行时数据区
方法区线程共享储存已经被虚拟机加载的类信息堆线程共享对象实例分配内存垃圾回收只回收堆中的内容本地方法栈线程私有第三方内容虚拟机栈线程私有局部变量等信息程序计数器线程私有java是多线程每个线程都有程序计数器用来选择执行哪行字代码
3.类加载过程
加载反射的过程把class文件读取到jvm中验证验证文件格式访问修饰符局部变量是否赋值类型是否匹配等。准备检查有没有静态变量有就给静态变量分配内存赋初始值解析给final成员赋值初始化给静态变量赋值
4.堆和栈的区别
堆内存空间不连续效率慢存放对象的实例和数组更关注存储
栈内存空间连续效率高存放局部变量更关注方法的执行
5.垃圾回收机制
jvm中有垃圾回收线程是低优先级的正常情况下不会执行虚拟机空闲或者内存不足的时候才会执行。
6.GC
垃圾回收内存处理的问题程序员容易忽视java提供gc能自动检测对象是否超过作用域进行垃圾回收
7.垃圾回收算法
标记清楚
标记整理
复制算法
分代
8.新生代老年代永久代
新生代
1个伊甸园区和2个幸存者区比例是811。新创建的队形分配到伊甸园区经过一次垃圾回收如果仍然存活就会被移动到幸存者区在幸存者区中每经历一次垃圾回收年龄就会增长一岁年龄到达一定程度后就会被移动到老年代中。复制算法
老年代
主要存放生命周期长的内存对象。
老年代的对象比较稳定垃圾回收不会频繁进行在新生代进入老年代导致内存不够时才会触发垃圾回收。标记清除
永久代
永久代在方法区中指的是永久保存区域存放class和元数据信息class被加载的时候被放入永久代。java8被元空间替代。
9.JVM的作用
通过编译吧java代码转换成字节码类加载器把字节码加载到内存中将其放在方法区内系统并不能直接执行字节码指令执行引擎将字节码翻译成系统指令再由cpu去执行。