Java千百问_07JVM架构(005)_显示内存管理有什么弊端

Posted 幽灵雾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java千百问_07JVM架构(005)_显示内存管理有什么弊端相关的知识,希望对你有一定的参考价值。

点击进入_更多_Java千百问

1、显示内存管理有什么弊端

手动内存管理一般被称为显示内存管理,显示内存管理经常发生两种情况:

  1. 引用悬挂
    当一个被某个引用变量正在使用的内存空间,在重新分配过程中被释放掉了,释放后,该引用变量就处于悬挂状态(所引用的对象已经不存在了)。
    如果这个被悬挂引用变量,试图操作原来对象的时候,由于该对象本身的内存空间已经被手动释放掉了(已经不存在了),所以这个执行结果是不可预知的

  2. 内存泄漏
    当某些引用变量不再引用该内存对象的时候,而该对象原本占用的内存并没有被释放,这种情况就是内存泄漏
    例如,对某个链表进行了内存分配,因为手动分配内存不当,仅仅让引用变量指向了某个元素所处的内存空间,就使得这些元素所处的内存空间对程序来说处于不可达状态,而且这些对象所占有的内存也不能够被再使用,这个时候就发生了内存泄漏。
    而这种情况一旦在程序中发生,就会一直消耗系统的可用内存直到可用的内存耗尽。对计算机而言&#x

以上是关于Java千百问_07JVM架构(005)_显示内存管理有什么弊端的主要内容,如果未能解决你的问题,请参考以下文章

Java千百问_07JVM架构(016)_java内存如何优化

Java千百问_07JVM架构(006)_java堆和栈有什么区别

Java千百问_07JVM架构(017)_jvm常见配置都有哪些

Java千百问_07JVM架构(018)_如何监控jvm的运行情况

Java千百问_07JVM架构(003)_内存分配有哪些策略

Java千百问_07JVM架构(001)_java内存模型是什么样的