![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
死磕JVM
加油妹妹
写的博客如果云里雾里,还有什么意义
展开
-
死磕JVM (七) 锁优化
目录 1 概述 2 Java对象头 2.1 Mark Word 3 锁优化 3.1 自旋锁 3.2 适应自旋锁 3.3 锁消除 3.4 锁粗化 3.5 偏向锁 3.5 轻量锁 3.7 重量级锁 4 总结 死磕JVM(一)内存区域https://blog.csdn.net/u012133048/article/details/85344025 死磕JVM(二)内存模型...原创 2018-12-31 22:16:58 · 219 阅读 · 0 评论 -
java基础(二)对象和内存控制
文章目录1 实例变量和类变量2 实例变量和类变量的内存属性3 父类构造器 1 实例变量和类变量 java 变量大体可分为: 成员变量 局部变量 局部变量分为以下三种: 形参:申明方法时定义的变量,随着方法结束而结束。 方法内定义的局部变量:必须在方法内显示的初始化,随着方法结束而结束。 代码块的局部变量:也需要在代码块中显示初始化,随着代码块结束而结束 类中定义的变量为成员变量。 ...原创 2019-07-18 06:56:32 · 155 阅读 · 0 评论 -
java基础(一) 数组的内存控制
文章目录1 数组初始化1.1 数组是静态的1.2 是谁需要初始化?2 使用数组 当数组的所有元素都被分配了合适的内存空间,并指定了初始值时,数组初始化完成。程序以后将不能重新改变数组对象在内存中的位置和大小。 1 数组初始化 1.1 数组是静态的 Java语言的数组变量是引用类型的变量,因此具有Java独有的特性。 Java的数组是静态的,即当数组被初始化之后,该数组的长度...原创 2019-06-28 07:23:47 · 159 阅读 · 0 评论 -
java基础(三)关于内存回收
文章目录1 前言2 引用2.1 对象的状态2.1 引用 1 前言 虽然在《死磕JVM》的博文中已经写了关于内存回收的内容,但是最近看了在复习基础时,看到了关于引用的一些内容,对之前的学习是很大的补充。我们都知道根据可达性垃圾回收算法,对于那些引用不可达的对象,会进行回收。这么说是没错,但是本文不对这部分内容过多赘述,主要是补充一下关于引用的内容和避免内存泄漏的方法。 2 引用 2.1 对象...原创 2019-07-02 22:46:48 · 422 阅读 · 0 评论 -
死磕JVM(五)对象的创建
死磕JVM(四)对象的创建对象的创建1 检查引用2 分配内存空间2.1空间分配方案2.2 解决在创建对象时内存空间冲突的问题3 内存分配完成后需要初始化值4 虚拟机需要对对象内存进行设置4.1 对象头4.2 实例数据4.3 对齐填充5 执行6 访问对象 对象的创建 整体流程 1 检查引用 虚拟机遇到new指令时,首先去检查这个指令的参数能否在常量池中定位到一个类的符号引用,并且检查这个符号引用代...原创 2019-02-26 18:23:48 · 360 阅读 · 0 评论 -
死磕JVM(八)中场休息-总结
前言 死磕JVM系列的写了七篇了,基本是按照《深入理解Java虚拟机》的章节顺序写的,但是很明显我跳过几章,比如Class文件结构、虚拟机的字节码执行引擎、编译器和运行期的优化、还有JVM调优的实战,这些内容磕起来真是非常耗时间和耐心,最近牙口又不好,暂时磕不动了,等我换副镶金的假牙,慢慢啃。在买得起金牙之前,决定先换个清淡口味的东西写写,比如spring(目测也是硬茬儿,啃下来肯定得一嘴血),...原创 2019-03-02 14:12:28 · 223 阅读 · 0 评论 -
死磕JVM(三)内存溢出
目录 内存泄漏 内存溢出 1 java堆溢出 1.1 溢出场景 1.2 解决方法 2 虚拟机栈和本地方法栈溢出 2.1 溢出场景 2.2 解决方法: 3 方法区和运行常量池溢出 3.1 溢出场景 3.2 解决方法 死磕JVM(一)内存区域https://blog.csdn.net/u012133048/article/details/85344025 死磕JVM(二)内...原创 2019-02-23 20:41:07 · 254 阅读 · 0 评论 -
死磕JVM(二)内存模型
目录 1 Java内存模型概述 1.1 主内存和工作内存 1.2 主内存和工作内存的交互操作 死磕JVM(一)内存区域 https://blog.csdn.net/u012133048/article/details/85344025 死磕JVM(二)内存模型 https://blog.csdn.net/u012133048/article/details/87886352 死磕J...原创 2019-02-22 22:28:52 · 243 阅读 · 0 评论 -
死磕JVM(四) 垃圾回收机制
目录 JVM垃圾回收机制 1 概述 2 哪些是垃圾 2.1 引用计数算法(早期策略) 2.2 可达性分析算法 2.3 回收前的最后一次挣扎 2.4 方法区如何判断是否需要回收 3 什么时候回收 3.1 Minor GC ,Full GC 触发条件 3.2 java堆中各个区回收算法 4 怎么回收(常用的垃圾收集算法) 4.1 垃圾回收算法 5 垃圾收集器 5.1 Se...原创 2018-12-30 22:01:09 · 246 阅读 · 0 评论 -
死磕JVM(六) 类加载机制
目录 1 前言 2 类加载 2.1 加载 2.2 验证 2.3 准备 2.4 解析 2.5 初始化 3 类加载器基本概念 java.lang.ClassLoader类介绍 3.1 类加载器的树状组织结构 3.2 类加载器的双亲委派模型 死磕JVM(一)内存区域https://blog.csdn.net/u012133048/article/details/8534402...原创 2018-12-30 12:04:09 · 320 阅读 · 0 评论 -
死磕JVM(一)内存区域
目录 1 内存区域 1.1程序计数器 1.1.1 内容 1.2 java虚拟机栈 1.2.1 存储内容 1.2.2 局部变量表部分 1.2.3 异常 1.3 本地方法栈 1.4 Java 堆 1.4.1 存储内容 1.4.2 异常 1.5 方法区 1.5.1 存储内容 1.5.2 异常 1.6 直接内存 死磕JVM(一)内存区域https://blog.cs...原创 2018-12-29 19:11:18 · 270 阅读 · 0 评论