
深入学习JVM(Java虚拟机)
运行时数据区方法区:方法区只有一个,是线程共享的,生命周期和虚拟机一样。存储类信息,常量,静态变量和编译后的代码,常量池。方法区满了会OutOfMemoryError(OOM)。堆:堆也只有一个,是线程共享的,生命周期和虚拟机一样。存储的是对象。堆满了也会OOM.虚拟机栈:是线程私有的,生命周期和创建的线程一样。存储8种基本数据类型和对象的引用,每调用一个方法就会把一个栈帧压栈。栈满了会报错StackOverflowError。Java虚拟机栈,执行方法的时候,到底经历什么? ja...












