JVM
-红桃K
刨根问底 往祖坟上刨
你知道的越多 你不知道的也越多
展开
-
Java虚拟机是怎样运行Java字节码的?
以标准 JDK 中的 HotSpot 虚拟机为例,从虚拟机以及底层硬件两个角度来看Java 虚拟机具体是怎么运行 Java 字节码的。虚拟机视角从虚拟机视角来看,执行 Java 代码首先需要将它编译而成的 class 文件加载到 Java 虚拟机中。加载后的 Java 类会被存放于方法区(Method Area)中。实际运行时,虚拟机会执行方法区内的代码。在运行过程中,每...原创 2020-03-10 09:35:17 · 1189 阅读 · 0 评论 -
JVM自启动线程
代码中不包含创建线程操作,在运行main时,JVM也会自动地启动其他的线程,这些线程都有特定的功能AttachListener:该线程是负责接收到外部的命令,执行该命令,并且把结果返回给发送者。通常我们会用一些命令去要求jvm给我们一些反馈信息,如:java-version、jmap、jstack等等。如果该线程在jvm启动的时候没有初始化,那么,则会在用户第一次执行...原创 2020-01-13 18:08:03 · 336 阅读 · 0 评论 -
JVM运行时数据区域划分
注:以下内容根据《Java虚拟机规范》(JavaSE 7)先来说线程私有的三个运行时数据区域,他们的生命周期都与线程相同一、程序计数器程序计数器是一块较小的内存空间,可以理解成当前线程所执行字节码的行号指示器程序计数器的功能就是来标识线程执行到哪里,字节码解释器工作就是通过改变计数器的值来选择下一条需要执行的字节码指令为了线程切换后能恢复到正确的执行位置,每个线程都需要有...原创 2020-02-09 16:49:56 · 548 阅读 · 0 评论 -
Java发展史
世界上并没有完美的程序,因为写程序本来就是一个不断追求完美的过程Java:一次编写,到处运行(Write Once,Run Anywhere)Java技术体系按技术关注的重点业务领域划分:Java Card:支持一些Java小程序(Applets)运行在小内存设备上的平台(如智能卡)Java ME:支持Java程序运行在移动终端上的平台(如手机,PDA(掌上电脑))Java S...原创 2019-08-14 13:34:11 · 337 阅读 · 4 评论 -
JVM指令手册
栈和局部变量操作将常量压入栈的指令aconst_null 将null对象引用压入栈iconst_m1 将int类型常量-1压入栈iconst_0 将int类型常量0压入栈iconst_1 将int类型常量1压入操作数栈iconst_2 将int类型常量2压入栈iconst_3 将int类型常量3压入栈iconst_4 将int类型常量4压入栈iconst_5 将...原创 2019-10-02 14:00:28 · 245 阅读 · 0 评论