第二章:Java内存区域和内存溢出异常 1. 内存区域 程序计数器:线程私有。指示当前线程执行的字节码的行号。是jvm中唯一不会发生oom的区域。 栈:线程私有(每个线程有一个栈)。对于每个方法会创建一个栈帧,栈帧是虚拟…
分类:java虚拟机
《深入理解Java虚拟机(第二版)》读书笔记之第三章《垃圾收集器与内存分配策略》
本章介绍了垃圾收集的算法、几款JDK1.7中提供的垃圾收集器特点以及运作原理。通过代码实例验证了Java虚拟机中自动内存分配及回收的主要规则。 第2章介绍了Java内存运行时区域的各个部分,其中程序计数器、虚拟机栈、本地…
深入理解java虚拟机——运行时数据区域
声明:此系列博客为学习《深入理解java虚拟机 JVM高级特性与最佳实战》笔记 更加详细的情况请参考书本内容 1.概述 &n…
深入理解java虚拟机——虚拟机对象探索
声明:此系列博客为学习《深入理解java虚拟机 JVM高级特性与最佳实战》笔记 更加详细的情况请参考书本内容 这里使用HotSpot虚拟机…
《深入理解Java虚拟机》读书笔记6
第8章 虚拟机字节码执行引擎 8.1 1、从外观上看,所有Java虚拟机的执行引擎是一致的:输入的是字节码文件,处理过程是字节码解析的等效过程,输出的是执行结果。 2、虚拟机与物理机 物理机的执行引擎:是直接建立在处理器…
深入理解JAVA虚拟机学习笔记(二)垃圾回收策略
原文链接 摘要: 上篇文章介绍了JVM内存模型的相关知识,其实还有些内容可以更深入的介绍下,比如运行时常量池的动态插入,直接内存等,后期抽空再完善下上篇博客,今天来介绍下JVM中的一些垃圾回收策略。…
JVM GC调优(2)-----GC算法判定对象可以被回收(部分摘自深入理解Java虚拟机)
这次我们介绍JVM中的GC算法 引用计数法 可达性分析法 首先我们提出四个问题 哪里的内存需要回收? 什么时候回收? 如何回收? Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”, 墙外面的人想进去…
JVM GC调优(3)-----GC算法(部分摘自深入理解Java虚拟机)
介绍几种GC算法的思想及其发展过程: 标记-清除 复制 标记-压缩 分代收集算法 GC算法主要是用于堆死亡对象的清理的集中方式,他们各有优缺点,下面我们开始做介绍 标记清除算法 原理解析 -最基础的收集算法是“标记-清除…
深入了解Java虚拟机之Java虚拟机栈
与程序计数器(想了解计数器看我上一篇博客)一样,Java虚拟机栈也是线程私有的,他的生命周期与线程相同,虚拟机栈描述的是Java方法执行的内存模式:每个方法在执行的…
深入理解java虚拟机之垃圾收集器
如果说手机算法是垃圾回收的方法论,那么垃圾收集器就是内存回收的具体表现,java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、不同版本的虚拟机…
深入理解Java虚拟机读书笔记(5): 判定对象的死亡
深入理解Java虚拟机读书笔记(5): 判定对象的死亡 通过前面的学习已经可以知道,Java内存运行时区域中的程序计数器、虚拟机栈、本地方法栈三个区域随线程而生,随线程而灭;栈中的栈帧随着方法进入和退出有规律的进行出栈和…
深入理解Java虚拟机读书笔记(8): 深入理解类文件结构
深入理解Java虚拟机读书笔记(8): 深入理解类文件结构 随着语言的发展,Java虚拟机已经不再仅仅是针对“Java”这一门语言而言了,语言无关性被越来越重视。虚拟机平台使用统一的程序存储格式字节码(ByteCode)…