其它语言(如C语言)要求程序员显式地分配内存、释放内存。

程序需要内存时分配内存,不需要时释放内存。

但是这种做法常常引起内存泄漏。所谓内存泄漏,就是由于某种原因使分配的内存始终没有得到释放。如果该任务不断地重复,程序最终会耗尽内存并异常终止,至少无法继续运行。

Java在创建对象时会自动分配内存,并当该对象的引用不存在时释放这块内存。

java使用垃圾回收机制来监视程序的运行,当对象不再使用时,就自动释放对象所使用的的内存。

java使用一系列软指针来跟踪对象的各个引用,并用一个对象表将这些软指针映射为对象的引用。

垃圾收集器是自动运行的,一般情况下,无需显式地请求垃圾收集器。

程序运行时,垃圾收集器会不时检查对象的各个引用,并回收无引用对象所占用的内存。

调用System类中的静态方法gc()可以运行垃圾收集器,但这样不能保证立即回收指定对象。

最新文章

  1. [原创]MySQL RR隔离级别下begin或start transaction开启事务后的可重复读?
  2. CentOS6.5中配置Rabbitmq3.6.6集群方案
  3. 道路翻新 (Revamping Trails, USACO 2009 Feb)
  4. python dict.get()和dict['key']的区别
  5. 消除 activity 启动时白屏、黑屏问题
  6. Android将ScrollView移动到最底部
  7. Oracle逻辑体系:数据文件黑盒的内在洞天
  8. Nginx下载服务生产服务器调优
  9. Invocation of init method failed; nested exception is org.hibernate.HibernateException: could not instantiate RegionFactory [org.hibernate.cache.impl
  10. linux安装rz和sz
  11. poj 2586 Y2K Accounting Bug (贪心)
  12. 将firebug安装在chrome浏览器上
  13. list后台转化为JSON的方法ajax
  14. iOS.Animations.by.Tutorials.v2.0汉化(四)
  15. Unity 着色器基础知识
  16. Druid连接池(一)
  17. 【转载】 强化学习(二)马尔科夫决策过程(MDP)
  18. POSTMAN 数据关联
  19. rsync 故障排查整理
  20. AtCoder Grand Contest 030 自闭记

热门文章

  1. Q&A in 2018 - Q1
  2. [PAT] A1023 Have Fun with Numbers
  3. Java WebService 简单实例-服务端和客户端
  4. Spring boot mvn
  5. Chrome 插件 postman 可以在线post
  6. CSS小记录
  7. selenimu--find_element_by_css_selector()方法汇总
  8. CSS隐藏元素的五种方法
  9. 手写数字识别——利用keras高层API快速搭建并优化网络模型
  10. code码说明