java两种核心机制是什么?
3个回答
展开全部
Java中有两种核心机制:Java虚拟机(Java Virtual Machine)、垃圾收集机制(Garbage collection)
一、核心机制之Java虚拟机
① Java虚拟机可以理解成一个以字节码为机器指令的CPU
② 对于不同的运行平台,有不同的虚拟机
③ Java虚拟机机制屏蔽了底层运行平台的差别,能够很好的实现跨平台
二、核心机制之垃圾收集
Java的内存管理实际上就是对象的管理,其中包括对象的分配和释放。
分配对象使用new关键字;释放对象时,只要将对象所有引用赋值为null即可。对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象,通过这种方式确定哪些对象是“可达的”,哪些对象是“不可达的”,当GC确定一些对象为“不可达”时,GC就有责任回收这些内存空间
因此,当GC运行时间较长时,用户能够感到Java程序的停顿,另一方面,如果GC运行时间太短,则可能对象回收率太低,这意味着还有很多应该回收的对象没有被回收,这即要求我们在设计GC时要均衡效率。
一、核心机制之Java虚拟机
① Java虚拟机可以理解成一个以字节码为机器指令的CPU
② 对于不同的运行平台,有不同的虚拟机
③ Java虚拟机机制屏蔽了底层运行平台的差别,能够很好的实现跨平台
二、核心机制之垃圾收集
Java的内存管理实际上就是对象的管理,其中包括对象的分配和释放。
分配对象使用new关键字;释放对象时,只要将对象所有引用赋值为null即可。对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象,通过这种方式确定哪些对象是“可达的”,哪些对象是“不可达的”,当GC确定一些对象为“不可达”时,GC就有责任回收这些内存空间
因此,当GC运行时间较长时,用户能够感到Java程序的停顿,另一方面,如果GC运行时间太短,则可能对象回收率太低,这意味着还有很多应该回收的对象没有被回收,这即要求我们在设计GC时要均衡效率。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询