【译】JVM Internals

原文 http://blog.jamesdbloom.com/JVMInternals.html#jvm_system_threads

这篇文章解释了JVM的内部架构。下面的这幅图表展示了一个Java SE 7标准下的典型JVM的关键组件们。


【译】JVM Internals_第1张图片
JVM内存模型

下面两个章节中会解释上图中的每个组件。第一个章节部分为线程相关的组件们,第二个章节为线程无关的组件们。

  • 线程相关
    • JVM系统线程(JVM System Threads)
    • 每个线程(Per Threads)
      • 程序计数器(program Counter)
      • 栈(Stack)
      • 本地栈(Native Stack)
      • Stack Restrictions
    • 栈帧(Frame)
      • 本地变量数组(Local Variable Array)
      • 操作数栈(Operand Stack)
      • 动态链接(Dynamic Linking)
  • 线程无关
    • 堆(Heap)
    • 内存管理(Memory Management)
    • 非堆内存(Non-Heap Memory)
    • JIT编译(Just In Time Compilation)
    • 方法区(Method Area)
    • class文件结构(Class File Structure)
    • 类加载器(Classloader)
    • 更快的类加载(Faster Class Loading)
    • 方法区在哪里(Where is Method Area)
    • 类加载器引用(Classloader Reference)
    • 运行时常量池(Run Time Constant Pool)
    • 异常表(Exception Table)
    • 符号表(Symbol Table)
    • 常量化字符串(字符串表)

线程相关

线程是程序里的一个执行单位,可以说是一个执行“原子”。JVM允许一个应用拥有多个线程同时执行。在HotSpot虚拟机中,Java线程和本地操作系统线程是一一对应的。在Java线程准备就绪后(thread-local存储,缓存分配,对象同步,栈同步,程序计数器同步),本地操作系统线程就会被创建。

你可能感兴趣的:(【译】JVM Internals)