java内存管理

垃圾回收机制

   概念:是一种动态内存管理技术,自动释放不被程序引用的对象,按照特定的垃圾回收算法实现资源自动回收功能。

   垃圾回收器如何运行:当垃圾回收器检测某个对象已不被程序引用时,它将该对象加入到回收列表中,但不是立刻销毁对象,具体何时销毁对象是不可预料。垃圾回收器不能强制执行,但可以通过System.gc()方法,向JVM虚拟机请求执行垃圾回收器,JVM虚拟机会尽其所能满足该请求。

  垃圾回收器执行时机:CPU空闲或内存不足时,自动执行垃圾回收器回收资源

   垃圾回收器回收对象条件:

      1.空引用:该对象已不被程序引用

       2.变量被重置:当某个对象只被一个变量引用,而该变量有被重置成其它对象

      3.隔离引用:在一个程序中存在2个对象相互引用,当这两个对象都不被程序引用,这也符合垃圾回收条件


内存分配方式

概念:存储内存数据的方式只有2种,即是堆和栈

栈:每个线程都有一个栈,栈读写和存储数据的速度紧比CPU慢,但存储的数据大小和生命周期在编译期必须被固定,主要用来存储基本类型数据和对象引用(不是对象本身)

堆:JVM虚拟机共享一个堆,它存储和读写数据比栈慢,但其存储数据大小能动态和生命周期能改变,主要用来存储对象本身


java内存泄漏条件

1. 该对象可连通(即是有被程序引用)

2. 该对象是无用的,但由于能被连通,导致CG不能将该块内存回收利用

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值