java知识点

简单说说 Java 中内存泄漏与内存溢出的区别?
答:内存溢出(OutOfMemory)是指程序在申请内存时没有足够的内存空间供其使用。内存泄露(MemoryLeak)是指程序在申请内存后无法释放已申请的内存空间。一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存迟早会被消耗尽,所以内存泄漏最终可能会导致内存溢出。

内存泄漏本身一般对业务逻辑不会产生什么危害,作为一般的用户在频次不高的情况下根本感觉不到内存泄漏的存在,真正有危害的是内存泄漏的堆积,这会最终消耗尽系统所有的内存,所以频次不高和占用内存不大的泄露一般都比较难以发现定位,如果需要定位分析内存泄漏可以采用一些第三方工具辅助,譬如 MAT 等。
引入弱引用
常见内存泄露
内存溢出出现的原因一般比较多,譬如内存中一次加载的数据量过于庞大,启动参数内存值设定的过小,内存持续泄漏导致内存用光等。解决内存溢出可以通过修改 JVM 启动参数( -Xms/-Xmx 等,不过一般不建议),检查分析代码找出庞大数据或者泄漏点。

  1. java反射class的三种方式,反射创建对象的两种方式:反射创建对象
  2. JAVA内存释放
  3. 怎么定义为垃圾内存:无变量指向这块内存
  4. spring上下文深入理解
  5. jvm调优
  6. 深入理解 JVM 中的 returnAddress
  7. java关键字有很多,9个基本类型
  8. 设计模式
  9. java序列化和反序列化的简单实例
  10. hashMap和TreeMap的适用场景
  11. Queue 中 poll()和 remove()有什么区别?
  12. equals和==的区别
  13. ierator用法
  14. jdk和Cglib两种方法实现动态代理
    https://blog.csdn.net/u012326462/article/details/81293186
  15. 线程间通信的几种实现方式
  16. union和union all的区别
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值