![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM学习笔记
文章平均质量分 54
华夙su
这个作者很懒,什么都没留下…
展开
-
第八章-堆
一个进程对应一个 JVM 实例,一个 JVM 实例对应一个运行时数据区。概述Java堆区在JVM启动的时候即被创建,其空间大小也就确定了,堆是JVM管理的最大一块内存空间,并且堆内存的大小是可以调节的 所有的线程共享Java堆,在这里还可以划分线程私有的缓冲区(Thread Local Allocation Buffer,TLAB) 几乎所有的对象实例以及数组都应当在运行时分配在堆上 栈、堆、方法区的关系:在方法结束后,堆中的对象不会马上被移除,仅仅在 GC 的时候才会被移除 堆,是.原创 2022-02-14 15:58:55 · 209 阅读 · 0 评论 -
第六七章本地方法接口/栈
什么是本地方法一个 Java 调用非 Java 代码的接口,该方法的实现由非 Java 语言实现。作用是融合不同的编程语言为 Java 所用。native 与 abstract 不能同时使用。为什么要使用本地方法有时 Java 应用需要与 Java 外面的环境交互本地方法栈Java 虚拟机栈用于管理 Java 方法的调用,本地方法栈用于管理本地方法的调用。...原创 2022-02-14 13:39:29 · 388 阅读 · 0 评论 -
第五章虚拟机栈
概述优缺点优点是跨平台,指令集小,编译器容易实现 缺点是性能下降,实现同样的功能需要更多的指令栈vs堆栈是运行时的单位,而堆是存储的单位基本内容内部保存一个个的栈帧(Stack Frame),对应着一次次的Java方法调用 栈顶 即为当前方法 作用:主管Java程序的运行,它保存方法的局部变量(8 种基本数据类型、对象的引用地址)、部分结果,并参与方法的调用和返回 访问速度仅次于程序计数器 不需要GC,但是可能存在OOM可能出现的异常Java 虚拟机规范允许Java原创 2022-02-12 14:44:42 · 205 阅读 · 0 评论 -
第四章程序计数器
程序计数器 = PC 寄存器介绍寄存器存储指令相关的现场信息 JVM中的PC寄存器是对物理PC寄存器的一种抽象模拟 是运行速度最快的存储区域 程序计数器会存储当前线程正在执行的Java方法的JVM指令地址;或者,如果是在执行native方法,则是未指定值(undefned) 通过改变这个计数器的值来选取下一条需要执行的字节码指令 无 GC (垃圾回收) 无 OOM (OutOfMemoryError, 溢出异常) 唯一一个PC寄存器的作用用来存储指向下一条指令的地址,也即将要执行.原创 2022-02-11 14:03:53 · 62 阅读 · 0 评论 -
第三章运行时数据区概述及线程
概述线程在Hotspot JVM里,每个线程都与操作系统的本地线程直接映射。当一个Java线程准备好执行以后,此时一个操作系统的本地线程也同时创建。Java线程执行终止后,本地线程也会回收。原创 2022-02-11 13:37:57 · 215 阅读 · 0 评论 -
note-尚硅谷宋红康老师(自用)
第一章:JVM 和 Java体系结构高级语言怎么操作 CPU 的高级语言 --> 汇编语言 --> 机器指令 --> CPU原创 2022-02-05 20:53:13 · 397 阅读 · 0 评论 -
第二章类加载子系统
内容结构概述类的加载过程Loading-加载通过一个类的全限定名获取定义此类的二进制字节流 将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构 在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口Linking-链接验证:确保Class文件的字节流中包含信息符合当前虚拟机要求 准备 为类变量(static变量)分配内存并且设置该类变量的默认初始值,即零值 不包含用final修饰的static,因为final在编译的时原创 2022-02-07 22:04:06 · 680 阅读 · 0 评论