Jvm概念和原理详解以及GC机制的分析
![]() 虚拟机启动的时候创建。堆是jvm所有线程共享的。 (3)唯一目的就是存放对象实例,几乎所有的对象实例以及数组都要在这里分配内存。 2. JVM栈(java虚拟机栈): (1)每个线程创建的同时会创建一个JVM栈帧,JVM栈中每个栈帧存放的为当前线程中局部基本类型的变量. 3. 本地方法栈(Native Method Stack): (1)jvm中的本地方法是指方法的修饰符是带有native的,但是方法体不是用java代码写的另一类方法。 (2)作用同java虚拟机栈类似,区别是:虚拟机栈为虚拟机执行Java方法服务,而本地方法栈则是为虚拟机使用到的Native方法服务。 (3)是线程私有的,它的生命周期与线程相同,每个线程都有一个。 4. 方法区(Method Area): (1)在虚拟机启动的时候创建。所有jvm线程共享。 (2)用于存放所有已被虚拟机加载的类信息、常量、静态变量、以及编译后的方法实现的二进制形式的机器指令集等数据。 5. 程序计数器(Program Counter Register): 也叫PC寄存器,是一块较小的内存空间,它可以看做是当前线程所执行的字节码的第几行号指示器。 在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令、分支、循环、跳转、异常处理、线程恢复 (编辑:唐山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |