JVM学习(宋红康)之运行时数据区之虚拟机栈中方法返回地址

方法返回地址:存放的是调用该方法的PC寄存器的值

  • 如果程序是正常退出,则返回调用者的PC计数器的值(调用该方法的指令的下一条指令的地址

JVM学习(宋红康)之运行时数据区之虚拟机栈中方法返回地址_第1张图片

  • 异常退出时,返回地址要通过异常表来确定

JVM学习(宋红康)之运行时数据区之虚拟机栈中方法返回地址_第2张图片

方法返回地址的实质:

JVM学习(宋红康)之运行时数据区之虚拟机栈中方法返回地址_第3张图片

几个小面试题:

JVM学习(宋红康)之运行时数据区之虚拟机栈中方法返回地址_第4张图片

总结运行时数据区的几个是否有ERRORGC

  • 程序计数器:无ERROR、无GC
  • 虚拟机栈:有ERROR、无GC
  • 本地方法栈:有ERROR、无GC
  • 堆:有ERROR、有GC
  • 方法区:有ERROR、有GC

线程安全:在方法内部定义,在方法内部消亡,不会产生传出去的可能,此种情况即为线程安全。

你可能感兴趣的:(jvm,学习,java)