[TOC]
class文件
- 对.java文件执行 javac命令后,得到.class文件,里面包含了java程序执行的字节码,想看懂字节码可以用字节码表来查找
一个JVM包含了什么
一个java程序就是一个jvm,里面包含了
- 各个线程共享的
- 方法区:存放类信息、常亮、静态变量、编译后的代码
- 堆内存:存放对象的实例,GC要对堆内存管理
- 各个线程独占的
- 程序计数器:记录当前线程执行的字节码的位置,cpu在多线程间轮流切换执行,切换了线程之后,就是通过程序计数器来找到上一次执行到的位置的
- 虚拟机栈:都是给执行方法使用的,占内存默认最大1M,超出抛StackOverflowError
本地方法栈:都是给执行方法使用的,占内存默认最大1M,超出抛StackOverflowError
我觉得理解到这里就够了