随笔分类 -  JVM

摘要:堆的核心描述 一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域。 Java堆区在JVM启动的时候即被创建,其空间大小也就确定了。是JVM管理的最大一块内存空间。 堆内存的大小是可以调节的。 《Java虚拟机规范》规定,堆可以处于物理上不连续的内存空间中,但在逻辑上它应该被视为连续的。 阅读全文
posted @ 2022-10-08 10:29 tothk 阅读(51) 评论(0) 推荐(0)
摘要:本地方法栈(Native Method Stack) Java虚拟机栈用于管理Java方法的调用,而本地方法栈用于管理本地方法的调用。 本地方法栈,也是线程私有的。 允许被实现成固定或者是可动态扩展的内存大小。( 在内存溢出方面是相同 的) 如果线程请求分配的栈容量超过本地方法栈允许的最大容量,Ja 阅读全文
posted @ 2022-10-08 10:29 tothk 阅读(36) 评论(0) 推荐(0)
摘要:本地方法概念 简单地讲,一个Native Method就是-一个Java调用非Java代码的接口。一个Native Method是这样-一个Java方法:该方法的实现由非Java语言实现,比如C。这个特征并非Java所特有,很多其它的编程语言都有这一机制,比如在C+ +中,你可以用extern "C 阅读全文
posted @ 2022-10-08 10:28 tothk 阅读(30) 评论(0) 推荐(0)
摘要:虚拟机栈概述 由于跨平台性的设计,Java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令。 内存中的栈与堆 栈是运行时的单位,而堆是存储的单位。 即:栈解决程序的运行问题,即程序如何执 阅读全文
posted @ 2022-10-08 10:28 tothk 阅读(47) 评论(0) 推荐(0)
摘要:PC Redister介绍 JVM中的程序计数寄存器(Program Counter Register) 中,Register 的命名源于CPU的寄存器,寄存器存储指令相关的现场信息。CPU只有把数据装载到寄存器才能够运行。 这里,并非是广义上所指的物理寄存器,或许将其翻译为PC计数器(或指令计数器 阅读全文
posted @ 2022-09-27 09:36 tothk 阅读(40) 评论(0) 推荐(0)
摘要:类加载子系统的作用 类加载子系统负责从文件系统或者网络中加载class文件,class文件在文件的开头有特定的文件标识。 ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定 加载的类信息存放于一块称为方法区的内存空间。除了类的信息外,方法区 阅读全文
posted @ 2022-09-26 18:41 tothk 阅读(33) 评论(0) 推荐(0)