深入理解Java虚拟机读书笔记
第2章Java内存区域与内存溢出异常 Java运行时数据区域 程序计数器(Program Counter Register) 一块较小的内存空间,可以看做是当前线程所执行的字节码的行号指示器。 虚拟机栈(VM Stack) 与程序计数器一样,Java虚拟机栈也是线程私有的,和线程的生命周期相同。虚...
《深入理解Java虚拟机》读书笔记
一.基本概念 JDK:Java程序设计语言,Java虚拟机,java API类库; JRE:Java API 类库中的Java SE API子集,Java虚拟机; Java技术体系分为四个平台: Java Card:运行在小设备(如智能卡)上的平台; Java ME(Mic...
《深入理解java虚拟机》读书笔记二 【OutOfMemoryError】
1. java堆溢出 EclipseIDE设置:debugconfiguration-->javaapplication-->class-->VMArguments -Xms20M -Xmx20M -Xmn10M -XX:+PrintGCDetails /** * VM Ar...
深入理解Java虚拟机 -- 读书笔记(1):JVM运行时数据区域
本系列为《深入理解Java虚拟机 》(周志明著)读书笔记。 Java程序员一般都知道JVM中存在栈和堆的,并简单了解对象是在堆上分配的,这点从C/C++转过Java的程序员很容易想到。但Java由于其自身的特性,还有一些其他的内存区域,如下图所示: 程序计数器 程序计数器占用的内存空间不大,里面记...
深入理解java虚拟机_第二章_读书笔记
1.本章内容目录: 概述 运行时数据区域 程序计数器 java虚拟机栈 本地方法栈 java堆 方法区 运行时常量池 直接内存 HotSpot虚拟机对象探秘 对象的创建 对象的内存布局 对象的访问定位 实战:OutOfMemor...
[置顶] 《深入理解java虚拟机》读书笔记——jvm内存区域
java虚拟机所管理的内存将会包括下列几个运行时数据区域: 一、方法区: 1、用于存储已被虚拟机加载的类信息、常量、静态变量和即时编译器编译后的代码等数据。 2、垃圾收集在这个区域较少出现,主要是针对常量池的回收和类型的卸载,当方法区无法满足内存分配需求时,将抛出OutOfMemoryError...
《深入理解Java虚拟机》读书笔记-第二章
在对Jvm底层的认知中看了不少的博客,里面内容参差不齐,终于在读了《深入理解Java虚拟机》后有了系统的认识,也发现在学习中百度搜索或者博客内容很重要但是要深入了解还是需要从书中获取,毕竟每个人对知识的理解都不同,这里记录下对这本书的读书笔记,并持续更新。 第2章 2.2运行时数据分区 ...
《深入理解Java虚拟机》读书笔记(1)---第2章 Java内存区域与内存溢出异常
第2章 Java内存区域与内存溢出异常 2.2运行时数据区域 Java虚拟机所管理的内存包括以下几个运行时数据区域:方法区、堆区、虚拟机栈、本地方法栈、程序计数器。 程序计数器(ProgramCounter Register):用于保存当前线程执行的内存地址。由于JVM程序是多线程执行的...
深入理解java虚拟机-读书笔记1-Java内存区域与内存溢出异常
自动内存管理机制 - java内存区域与内存溢出异常 - 垃圾收集器与内存分配策略 - 虚拟机性能监控与故障处理工具 - 调优案例分析与实战 java虚拟机运行时数据区,如下图所示: 程序计数器: 一块较小的内存空间,可以看做时当前线程所执行的字节码的行号指示器。 由于Java...
读书笔记——《深入理解Java虚拟机》系列之Java内存区域与常见内存溢出异常
第一次读这本书时,就被文中的一句话所折服: “Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的‘高墙’,墙外面的人想进去,墙里面的人却想出来。” 的确,对于使用C++编程的程序员来说,他们肩负着对每一个对象所占内存空间的维护责任;而对于Java程序员来说,动态分配内存机制让我们...
《深入理解java虚拟机》读书笔记一 【java内存区域】
一、运行时数据区域 Runtime Data Areas 线程私有:线程之间互不影响,彼此独立,生命周期与线程相同。 1. 程序计数器 The pc Register 线程私有 if java方法,value = 正在执行的虚拟机字节码指令的地址 if native方法,value = undefi...
《深入理解Java虚拟机》读书笔记——Java内存区域与内存溢出异常
前言 10月4号就要举办和璐璐的婚礼了,为了督促自己,准备8月份利用一个月晚上的业务时间来学习Java虚拟机的知识。 参考的是周志明写的《深入理解Java虚拟机》。 运行时的数据区域 初学Java时,估计很多人都跟我一样,将Java的内存模型划分为: 栈区 堆区 字符串常量区 ...
《深入理解Java虚拟机》的思维导图读书笔记
《深入理解Java虚拟机》的思维导图读书笔记 作者:被称为L的男人 原文链接:http://www.jianshu.com/p/ff4a1795e462 本文为转载文章,原文请点击左下角查看,谢谢。 说明 ...
《深入理解Java虚拟机》读书笔记——Java内存区域与内存溢出异常
一、内存区域(运行时数据区域)划分: 程序计数器 线程安全,每条线程都有一个独立的程序计数器 字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令 分支、循环、跳转、异常处理、线程恢复等都是依靠它实现 Java虚拟机栈 也是线程私有,...
JVM 深入理解Java虚拟机读书笔记
讲道理,这是我第四遍看这本书了,不过之前有些知识点印象不深,现在记录一下。1.对象的创建为新生对象分配内存的两种方式 指针碰撞 一边是空闲的内存 一遍是已经使用的内存,中间一个指针作为标志,分配内存的时候就把指针往空闲内存移动一段和对象大小相同的距离 指针碰撞的前提是内存规整,一般使用复制清除法的...
读书笔记-《深入理解Java虚拟机》-JVM内存模型
版权声明:本文来自 Crocutax 的博客 , 转载请注明出处 http://crocutax.com Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,这些区域都有各自不同的用途:程序计数器程序计数器(Program Counter Registe...
深入理解JAVA虚拟机(内存模型+GC算法+JVM调优)
目录1.Java虚拟机内存模型1.1 程序计数器1.2 Java虚拟机栈局部变量1.3 本地方法栈1.4 Java堆1.5 方法区(永久区、元空间)附图2.JVM内存分配参数2.1 设置最大堆内存2.2 设置最小堆内存2.3 设置新生代2.4 设置持久代2.5 设置线程栈2.6 堆的内存分配2.7 ...
《深入理解Java虚拟机》第三章读书笔记(三)——经典垃圾回收器
系列文章目录和关于我一丶概述上图展示了 经典的垃圾回收器,其中Serial,ParNew,Parallel Scavenge(途中的Parallel) 作用在新生代Serial Old CMS,Parallel Old作用在老年代,这些垃圾回收器颜色相同表示通常搭配使用。G1,ZGC,Shenand...
深入理解java虚拟机学习笔记(二)垃圾回收策略
上篇文章介绍了JVM内存模型的相关知识,其实还有些内容可以更深入的介绍下,比如运行时常量池的动态插入,直接内存等,后期抽空再完善下上篇博客,今天来介绍下JVM中的一些垃圾回收策略。 一、finailize()方法 在介绍GC策略前,先介绍下GC中的finaili...
《深入理解Java虚拟机》第三章读书笔记(二)——HotSpot垃圾回收算法实现(OopMap,安全点安全区域,卡表,写屏障,三色标记算法)
系列文章目录和关于我前面《深入理解Java虚拟机》第三章读书笔记(一)——垃圾回收算法我们学习了垃圾回收算法理论知识,下面我们关注下HotSpot垃圾回收算法的实现,分为以下几部分对象是垃圾的判断依据 GC Roots 是如何高效扫描的如何解决跨代引用对象的垃圾回收问题如何降低垃圾回收STW的时长—...