JVM
郭旭升 Lv6

JVM 、JRE和JDK

  • JVM
    java运行在虚拟机上,在不同的平台上有不同的虚拟机,从而实现跨平台。
  • JRE
    java运行环境,包含JVM和核心类库,如lang包:系统类、包装类型、基本数学函数、字符串处理、线程、异常处理类等。 如果只要运行java,安装JRE就行。
  • JDK
    包含JRE和一些开发工具,如JAVA.exe、JAVAc.exe、Jar.exe java运行、编译和打包工具等。

工作过程

作用 :首先通过编译器把 Java 代码转换成字节码,类加载器(ClassLoader)再把字节码加载到内存中,将其放在运行时数据区(Runtime data area)的方法区内,而字节码文件只是 JVM 的一套指令集规范,并不能直接交给底层操作系统去执行,因此需要特定的解释器执行引擎(Execution Engine),将字节码翻译成底层系统指令,再交由 CPU 去执行,而这个过程中需要调用其他语言的本地库接口(Native Interface)来实现整个程序的功能。

内存模型(深入理解)

线程私有:栈、本地方法栈、程序技术器
线程共享:堆、方法区

类加载机制(了解)

GC(了解)

内存可见性

 Comments