内存:内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。
内存的组成:堆(Heap 公有) 栈(Stack 私有)(静态变量直接运行)
内存泄露:系统分配的内存使用完后,没有被系统回收,导致这部分内存不可再用,致使内存泄露;
详解:
内存泄漏是指你向系统申请分配内存进行使用(new),可是使用完了以后却不归还(delete),结果你申请到的那块内存你自己也不能再访问,该块已分配出来的内存也无法再使用,随着服务器内存的不断消耗,而无法使用的内存越来越多,系统也不能再次将它分配给需要的程序,产生泄露。一直下去,程序也逐渐无内存使用,就会溢出。
内存溢出:程序要求的内存,超出了系统所能分配的范围,从而发生溢出
详解:
内存溢出就是程序要求分配的java虚拟机内存超出了系统能给定的,系统不能满足需求,于是产生溢出。
关于内存回收问题:
为了保证java内存不会溢出,java中有垃圾回收机制。 System.gc()即垃圾收集机制是指jvm用于释放那些不再使用的对象所占用的内存。java语言并不要求jvm有gc,也没有规定gc如何工作。垃圾收集的目的在于清除不再使用的对象。gc通过确定对象是否被活动对象引用来确定是否收集该对象。
内存的组成:堆(Heap 公有) 栈(Stack 私有)(静态变量直接运行)
内存泄露:系统分配的内存使用完后,没有被系统回收,导致这部分内存不可再用,致使内存泄露;
详解:
内存泄漏是指你向系统申请分配内存进行使用(new),可是使用完了以后却不归还(delete),结果你申请到的那块内存你自己也不能再访问,该块已分配出来的内存也无法再使用,随着服务器内存的不断消耗,而无法使用的内存越来越多,系统也不能再次将它分配给需要的程序,产生泄露。一直下去,程序也逐渐无内存使用,就会溢出。
内存溢出:程序要求的内存,超出了系统所能分配的范围,从而发生溢出
详解:
内存溢出就是程序要求分配的java虚拟机内存超出了系统能给定的,系统不能满足需求,于是产生溢出。
关于内存回收问题:
为了保证java内存不会溢出,java中有垃圾回收机制。 System.gc()即垃圾收集机制是指jvm用于释放那些不再使用的对象所占用的内存。java语言并不要求jvm有gc,也没有规定gc如何工作。垃圾收集的目的在于清除不再使用的对象。gc通过确定对象是否被活动对象引用来确定是否收集该对象。