对于java来说,其高效的内存管理机制,使得程序猿不再需要为每一个操作写对应的delete/free 代码。同时,由于内存控制不再由成员决定,这使得内存溢出问题更加不宜解决。
Java虚拟机运行时数据区分为以下几个,每个数据区的创建和销毁时间都各不相同:
1,方法区(Method Area)
2,虚拟机栈(Vm Stack)
3,本地方法栈(Native Method Stack)
4,堆(Heap)
5,程序计数器(Program Counter Register)
程序计数器:
程序计数器可以理解为当前线程执行的字节码的行号指示器,字节码解释器就是通过改变这个计数器的值来选取吓一条需要执行的字节码指令,分支,循环,跳转,异常处理,线程恢复等基础功能的实现的基于这个计数器。