• 四种引用及其应用场景

  • 强引用
    • 强引用是平常中使用最多的引用,强引用在程序内存不足(OOM)的时候也不会被回收。
    • 使用场景:啥时候都在使用
  • 软引用
    • 软引用在程序内存不足时,会被回收。
    • 使用场景:创建缓存的时候,创建的对象放进缓存中,当内存不足时,JVM就会回收早先创建的对象。适用构建敏感数据的缓存。
  • 弱引用
    • 一旦发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的内存。
    • 使用场景:Java源码中的java.util.WeakHashMap中的key就是使用弱引用,避免内存的消耗。
  • 虚引用
    • 虚引用并不会决定对象的生命周期。如果一个对象仅持有虚引用,那么它就和没有任何引用一样,在任何时候都可能被垃圾回收器回收。程序可以通过判断引用队列中是否已经加入了虚引用,来了解被引用的对象是否将要被垃圾回收。
    • 使用场景:虚引用主要用来跟踪对象被垃圾回收器回收的活动。

最新文章

  1. 【直播】APP全量混淆和瘦身技术揭秘
  2. 和JavaScript家的闭包玩玩捉迷藏
  3. 阐述ArrayList、Vector、LinkedList的存储性能和特性。
  4. Cornerstone 哪些错误
  5. HTTP协议学习---(三)摘要认证
  6. Java:多线程<三>死锁、线程间通讯
  7. Leetcode#137 Single Number II
  8. 博弈的SG函数理解及模板
  9. iOS开发基础知识:Core Animation(核心动画)
  10. jQuery模糊选择
  11. 关于mysql使用dbForge调试的问题:Object 'test.p_insertRoute' does not exist.
  12. java单例模式(线程安全,效率高,双重推断)
  13. 所有城市list每次从页面花1段时间抽取后写入到数组,
  14. 旧Mj下拉刷新 An instance 0xca90200 of class UITableView was deallocated while key value observers were s
  15. Azure MySQL PaaS (3) 创建MySQL异地只读数据库 (Master-Slave)
  16. codevs 3342 绿色通道
  17. SolrCloud7.4(Jetty容器)+mysql oracle 部署与应用
  18. 最短路(bellman)-hdu1217
  19. CORS跨域请求
  20. elastic-search-kibana-in-docker-dotnet-core-app

热门文章

  1. sed 命令使用入门
  2. twaver html5 如何设置节点不可拖动
  3. JavaWeb网上图书商城完整项目--day02-7.提交注册表单功能之流程分析
  4. JavaWeb网上图书商城完整项目--day02-26.查询所有分类功能之DAO层实现
  5. leetcode 6 z字型变换
  6. caffe的python接口学习(1)生成配置文件
  7. 【UVA11383】 Golden Tiger Claw 【二分图KM算法(板子)】
  8. Spreading the Wealth
  9. .gitkeep文件
  10. JAVA死锁排查-性能测试问题排查思路