JVM
WCNB
gameNB
展开
-
JVM-字节码执行
物理机执行引擎直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行体系是由软件自行实现的,因此不受物理机条件制约地定制指令集与执行引擎的结构体系,能够执行那些不被硬件直接支持的指令集格式。在不同的虚拟机实现中,执行引擎在执行字节码的时候,通常会有解释执行(通过解释器执行)和编译执行(通过即时编译器产生本地代码执行)。最终输出的结果是一致的:字节码二进制流。运行时栈帧结构jvm...原创 2020-04-29 15:00:34 · 160 阅读 · 0 评论 -
jvm-类加载过程
class类文件结构任何一个class文件都对应着唯一的一个类或接口的定义信息,类和接口不一定都得定义在文件里,可以动态生成直接送入类加载器 是一组以8字节为基础单位的二进制流 每个class文件的头4位字节称为魔数---确定文件是否为一个能被虚拟机接受的class文件。 紧接魔数的后4个字节存储的是class文件的版本号 紧接着主、次版本号之后的就是常量池入口----字面量(接近语...原创 2020-04-29 12:03:12 · 145 阅读 · 0 评论 -
GC-日志
https://blog.csdn.net/ZYC88888/article/details/80362205转载 2020-04-28 17:55:00 · 115 阅读 · 0 评论 -
虚拟机进程状况命令
jps [optins] [hostid] 列出正在运行的虚拟机进程。-q:只输出LVMID(进程的本地虚拟机唯一ID),省略主类的名称-m:输出虚拟机进程启动时传递给主类main()函数参数-l:输出主类全名,进程执行的是jar包,则输出jar的路径-v:输出虚拟机进程启动时的jvm参数jstat 虚拟机统计信息监视工具,可以显示虚拟机的类加载、内存、垃圾收集、即时编...原创 2020-04-28 17:42:19 · 2163 阅读 · 1 评论 -
JVM-垃圾回收
那些内存需要回收?什么时候回收?怎么回收?程序计数器、虚拟机栈、本地方法栈这三个区域随线程的生命周期,这些区域产生的内存再线程结束后,内存自然的跟着回收了,但是java堆和方法区是不确定的,只有再运行时才知道会创建那些对象,多少对象,这部分的内存和回收都是动态的,也是GC最关注的一块。确定那些对象是否已“死“,判断的方法:引用计数器---对象中添加一个引用计数器,每当一个地方...原创 2020-04-27 21:19:38 · 117 阅读 · 0 评论 -
jvm基础
运行时数据区域每个区域都有各自的用途,以及创建和销毁的时间。程序计数器:一块较小的内存,可以看作当前线程所执行的字节码的行号指示器,通过修改这个技术器的值来选取下一条需要执行的字节码指令。分支、循环、跳转、线程恢复等基础功能都依赖计数器来完成。JVM的多线程是通过线程轮流处理切换、分配处理器执行时间来实现的,在任何时刻一个处理器中只执行一个线程中的指令。为了线程切换后能再次回到正确的...原创 2020-04-24 21:43:41 · 152 阅读 · 0 评论