死磕JVM
加油妹妹
写的博客如果云里雾里,还有什么意义
展开
-
死磕JVM (七) 锁优化
目录1 概述2 Java对象头2.1 Mark Word3 锁优化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 · 231 阅读 · 0 评论 -
java基础(二)对象和内存控制
文章目录1 实例变量和类变量2 实例变量和类变量的内存属性3 父类构造器1 实例变量和类变量java 变量大体可分为:成员变量局部变量局部变量分为以下三种:形参:申明方法时定义的变量,随着方法结束而结束。方法内定义的局部变量:必须在方法内显示的初始化,随着方法结束而结束。代码块的局部变量:也需要在代码块中显示初始化,随着代码块结束而结束 类中定义的变量为成员变量。...原创 2019-07-18 06:56:32 · 166 阅读 · 0 评论 -
java基础(一) 数组的内存控制
文章目录1 数组初始化1.1 数组是静态的1.2 是谁需要初始化?2 使用数组 当数组的所有元素都被分配了合适的内存空间,并指定了初始值时,数组初始化完成。程序以后将不能重新改变数组对象在内存中的位置和大小。1 数组初始化1.1 数组是静态的 Java语言的数组变量是引用类型的变量,因此具有Java独有的特性。 Java的数组是静态的,即当数组被初始化之后,该数组的长度...原创 2019-06-28 07:23:47 · 171 阅读 · 0 评论 -
java基础(三)关于内存回收
文章目录1 前言2 引用2.1 对象的状态2.1 引用1 前言 虽然在《死磕JVM》的博文中已经写了关于内存回收的内容,但是最近看了在复习基础时,看到了关于引用的一些内容,对之前的学习是很大的补充。我们都知道根据可达性垃圾回收算法,对于那些引用不可达的对象,会进行回收。这么说是没错,但是本文不对这部分内容过多赘述,主要是补充一下关于引用的内容和避免内存泄漏的方法。2 引用2.1 对象...原创 2019-07-02 22:46:48 · 435 阅读 · 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 · 368 阅读 · 0 评论 -
死磕JVM(八)中场休息-总结
前言死磕JVM系列的写了七篇了,基本是按照《深入理解Java虚拟机》的章节顺序写的,但是很明显我跳过几章,比如Class文件结构、虚拟机的字节码执行引擎、编译器和运行期的优化、还有JVM调优的实战,这些内容磕起来真是非常耗时间和耐心,最近牙口又不好,暂时磕不动了,等我换副镶金的假牙,慢慢啃。在买得起金牙之前,决定先换个清淡口味的东西写写,比如spring(目测也是硬茬儿,啃下来肯定得一嘴血),...原创 2019-03-02 14:12:28 · 231 阅读 · 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 · 264 阅读 · 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 · 249 阅读 · 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 · 253 阅读 · 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 · 332 阅读 · 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 · 278 阅读 · 0 评论