JVM初识
IhavePenapple
这个作者很懒,什么都没留下…
展开
-
JVM_类的加载、连接与初始化(一)
加载:查找并加载类的二进制数据。 当编译和连接一个C++程序时,所获得的可执行二进制文件只能在指定的硬件平台和操作系统上运行,因为这个二进制文件包含了对目标处理器的机器语言。而Java编译器把Java源文件的指令翻译成字节码,这种字节码就是Java虚拟机的“机器语言”。与普通程序不同的是,Java程序(class文件)并不是本地的可执行程序。当运行Java程序时,首先运行JVM(Java虚拟机)...原创 2019-07-30 22:03:05 · 159 阅读 · 0 评论 -
JVM_类的加载、连接与初始化(二)
续上一篇 当一个常量的值并非编译期间内可以确定的,那么其值就不会放到调用类的常量池中。这时候程序运行时,会导致主动使用这个常量所在类,即让该类初始化。 先上代码块 import java.util.UUID; public class Test3 { public static void main(String[] args){ System.out.printl...原创 2019-08-01 13:09:59 · 150 阅读 · 0 评论 -
JVM_类的加载、连接与初始化(三)
接口的初始化 *当一个接口在初始化时,并不是要求其父接口都完成了初始化。(但是实际中根本就没有加载类,哪来的舒适化...) *当有在真正使用到父类接口时候(如使用了父类中的常量),才会被初始化。 接口中默认的属性就是public static final 这里了解下深度内存解析Java关键字:Static与Final 调用继承父接口的子接口并且其中的常量时编译时确定的 上代码: ...原创 2019-08-07 23:06:16 · 135 阅读 · 0 评论