jvm
文章平均质量分 92
月亮的-影子
努力学习,相信未来
展开
-
深入理解Java虚拟机(10-13)学习总结
注:本文参考学习周志明老师的《深入理解Java虚拟机(第3版)》第10章 前端编译与优化10.1 概述前端编译器就是把* .java文件转变成*.class文件过程。也可能是JIT运行期把字节码转变为本地机器码的过程。前端编译器:JDK的javac、Eclipse JDT的增量式编译器即时编译器:HotSpot的C1和C2编译器、Graal编译器。提前编译器:JDK的Jaotc、GNU Compiler for the Java(GCJ)、Excelsior JET10.2 Javac.原创 2021-12-10 23:07:14 · 1218 阅读 · 42 评论 -
深入理解Java虚拟机(2-9)学习总结
注:本文参考学习周志明老师的深入理解Java虚拟机第2章 Java内存区域与内存溢出异常2.1 概述对于java程序员来说虚拟机的自动内存管理,不需要我们去给对象进行空间释放。2.2 运行时数据区域程序运行的时候内存划分的数据区域。2.2.1 程序计数器程序计数器占据内存空间很小。它是当前线程执行字节码的行号指示器。而且能够保证线程切换的时候保存这次准备执行的指令行号。它没有OutOfMemoryError情况的区域。2.2.2 Java虚拟机栈Java虚拟机栈也是.原创 2021-12-09 19:38:30 · 1855 阅读 · 51 评论 -
类加载机制和tomcat的类加载机制总结
学习参考的文章链接目录1.类加载机制器classLoader的作用class文件的显式加载和隐式加载2.类加载器的类型启动类加载器扩展类加载器应用类加载器用户自定义加载器自定义ClassLoader自定义的classLoader如果没有设定父类加载器,那么父类加载器是谁?如果自定义类加载器强制parent设置为null,那么是不是就无法加载类?自定义ClassLoader自定义的classLoader如果没有设定父类加载器,那么父类加载器是谁?如果自定义类加载器强制parent设置为null,那么是不是就原创 2021-10-27 17:22:33 · 201 阅读 · 0 评论 -
jvm类加载过程总结
参考javaguide类加载的生命周期类加载过程?加载->连接->初始化->使用->卸载加载通过全类名获取定义该类的二进制字节流将字节流所代表的静态存储结构转换为方法区的运行时结构在内存生成一个代表该类的class对象,作为方法区这些数据的方法入口验证验证字节码文件各种信息文件格式,版本号,常量池是否支持元数据验证:字节码描述信息,类等各种继承信息字节码验证:字节码验证符号引用验证准备分配内存,并且设定初始值分配类变量但是不包括实例变量(在原创 2021-10-23 09:26:34 · 118 阅读 · 0 评论 -
jvm内存模型总结
参考javaguideJVM内存模型基础和常见面试题总结说说运行是基本数据区域?哪些是线程私有的?程序计数器虚拟机栈本地方法栈那些是线程共享的?堆方法区直接内存程序计数器的作用?记录线程执行的位置负责指向下一条线程需要执行的字节码不会出现OutMemoryErrorjava虚拟机栈的作用?负责存入线程处理的方法栈帧各种局部变量本地方法栈?执行native方法堆?最大的内存区域,存放对象划分为老年代、新生代(幸存区、伊甸区)jdk8之后消除原创 2021-10-23 09:25:17 · 176 阅读 · 0 评论 -
jvm垃圾回收总结
参考javaguide的jvm系列目录常见面试题1.JVM内存回收和分配1.1主要的区域?gc测试1.2大对象进入老年代1.3长期存活的对象进入老年代1.5主要进行gc的区域gc的类型Young GcFull Gc1.6空间分配担保?2.对象已经死亡?2.1引用计数法2.2可达性分析2.3再谈引用虚引用、软引用、弱引用的区别?2.4不可达对象不一定回收2.5如何判断一个常量是废弃常量?2.6如果判断一个类没有用?3.垃圾回收算法hotspot为什么要区分老年代和新生代?跨代收集假说?4.垃圾回收器4.1S原创 2021-10-23 09:23:43 · 459 阅读 · 0 评论 -
深入理解JVM第三章几个问题总结
安全点如何理解?首先要知道oop是做什么的,其实就是记录新的对象引用,能够让系统快速找到gc root如果每次修改引用都要重新生成oop,那么是不是就需要占据大量的cpu时间,所以需要每隔一段时间去更新也就是说这就是为什么需要STW的原因安全点就是能够保证在oop差别不大的情况下修改,而且能够让大多数线程执行到这个时间间隔STW但是很多线程不可能同时一起中断,有的指令需要执行很长时间这个时候就需要协调这个位置,这个位置就是安全点(中断的时间约定)那么如何让线程跑到最近的安全点?主动式中断原创 2021-10-23 09:21:57 · 87 阅读 · 0 评论 -
黑马入门jvm总结
文章目录1.jvm介绍1.什么是jvm2.基本介绍2.内存结构1.程序计数器2.虚拟机栈3.栈内存溢出4.线程诊断5.本地方法栈6.堆1.堆内存诊断7.方法区7.1定义7.2组成7.3方法区内存溢出7.4运行时常量池7.5StringTable7.6StringTable的特性7.7StringTable的位置7.8StingTable的垃圾回收7.9StringTable的桶优化8.直接内存8.1定义8.2释放原理3.垃圾回收1.如何判断对象可以回收1.1引用计数法1.2可达性分析算法1.3引用2.标记清原创 2021-10-18 21:52:56 · 829 阅读 · 0 评论 -
黑马面试题JVM篇总结
黑马面试题JVM篇总结1.JVM的内存结构?2.那些区域会造成内存溢出?OutOfMemoryStackOverFlow3.方法区、永久代、元空间的关系?类信息什么时候会加载到元空间?元空间什么时候移除类信息?4.JVM内存参数有哪些?分别的作用是什么?suivivor是什么?5.有多少种垃圾回收算法?过程和作用?应用场景?6.说说GC和垃圾回收器gc的目的?gc的重点?分代回收的作用?分代回收的区域以及使用的策略是什么?gc规模的介绍?什么是三色标记?并发漏标问题解决?什么是并发漏标?怎么解决?垃圾回收器原创 2021-10-18 21:49:27 · 444 阅读 · 0 评论