JVM底层知识
乘风破BUG
别crud了
展开
-
Java内存区域与内存溢出异常详解
文章目录运行时数据区域程序计数器(线程私有)Java虚拟机栈(线程私有)局部变量表操作数栈动态链接方法返回地址本地方法栈(线程私有)Java堆(全局共享)方法区(全局共享)运行时常量池直接内存HotSpot虚拟机对象创建对象创建的详细过程对象的内存布局对象的访问定位OutOfMemoryError异常Java堆溢出虚拟机栈和本地方法栈溢出方法区和运行时常量池溢出本机直接内存溢出运行时数据区域JVM包含两个子系统和两个组件,两个子系统为Class loader(类装载)、Execution engin原创 2020-12-22 15:11:07 · 184 阅读 · 0 评论 -
Java OOM 分析和线程Dump分析
Java OOM 分析和线程Dump分析Java OOM 分析Java堆内存溢出MetaSpace(元数据)内存溢出Java线程Dump分析什么是Thread DumpThread Dump特点Thread Dump抓取Thread Dump信息Thread状态分析关键状态分析案例分析JVM重要线程Java OOM 分析Java堆内存溢出在Java堆中只要不断的创建对象,并且GC-Roots到对象之间存在引用链,这样JVM就不会回收对象。只要将-Xms(最小堆),-Xmx(最大堆)设置为一样禁止自动原创 2020-12-22 11:32:36 · 893 阅读 · 0 评论 -
JVM调优参数
JVM调优参数JVM参数Java 虚拟机栈(线程私有的)本地方法栈(线程私有的)堆(线程共享的)方法区(线程共享的)运行时常量池直接内存JVM参数-Xms堆最小值-Xmx堆最大值。-Xms与Xmx的单位默认字节都是以k,m做单位的。-Xmn新生代大小-Xss每个线程池的堆栈大小。在JDK1.5以上的版本,每个线程堆栈大小为1m,jdk5以前的版本是每个线程池大小为256k。一般在相同物理内存下,如果减少-xss便会产生更大的线程数,但不同的操作系统对进程内线程数是有限制的,是不能无限生成原创 2020-12-21 22:53:42 · 79 阅读 · 0 评论 -
Java垃圾回收
Java垃圾回收(主要是针对堆和方法区进行)如何判断一个对象是否可被回收引用计数算法可达性分析算法方法区的回收finalize()引用类型强引用软引用弱引用虚引用垃圾回收算法(1)标记-清除Java 虚拟机栈(线程私有的)本地方法栈(线程私有的)堆(线程共享的)方法区(线程共享的)运行时常量池直接内存如何判断一个对象是否可被回收引用计数算法给对象添加一个引用计数器,当对象增加一个引用时计数器加1,引用失效时计数器减1,引用计数器为0的对象可被回收。当两个对象出现循环引用的情况下,此时引用计数器永远不原创 2020-12-21 15:04:18 · 243 阅读 · 0 评论 -
Java内存模型
Java内存模型引入Java内存模型堆栈里面都放了什么线程栈如何访问堆上面的对象Java内存模型详解并发编程模型分类java内存模型的抽象(JMM)重排序Java 虚拟机栈(线程私有的)本地方法栈(线程私有的)堆(线程共享的)方法区(线程共享的)运行时常量池直接内存引入Java内存模型JVM内部使用的Java内存模型在线程栈与队之间划分内存,下图从逻辑角度展示Java内存模型:堆栈里面都放了什么(1)线程堆栈里面包含了正在执行的每个方法的所有局部变量(调用堆栈上的所有方法)。(2)线程只能访问自原创 2020-12-18 14:45:24 · 155 阅读 · 0 评论 -
Java内存结构
Java内存结构程序计数器(线程私有的)Java 虚拟机栈(线程私有的)本地方法栈(线程私有的)堆(线程共享的)方法区(线程共享的)运行时常量池直接内存程序计数器(线程私有的)程序计数器的作用就是记录正在执行的虚拟机字节码指令的地址(如果正在执行的是本地方法则为空),程序计数器也被称之为行号记录器。Java 虚拟机栈(线程私有的)每个Java方法在执行的同时会创建一个栈帧用于存储局部变量表,操作数栈,常量池引用等信息,方法从调用直至执行完成的过程,就对应着一个栈帧在Java虚拟机中入栈和出栈的过程原创 2020-12-18 10:51:04 · 64 阅读 · 0 评论 -
Java类的加载机制
一个初出茅庐的程序猿,以前没写过博客,但因为最近在复习以前的知识点,所以就打算一边复习一边开始自己的博客生涯哈哈,写的不对不好的地方就谅解下哈,那就从底层开始写起吧。Java的类加载机制类的加载过程加载阶段新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowc原创 2020-12-13 11:57:02 · 92 阅读 · 0 评论