当前位置: 首页 > news >正文

门户网站建设构架山西大型网络营销设计

门户网站建设构架,山西大型网络营销设计,云南网站建设天度,镇江市建设招标网官方网站一、垃圾分类定义 垃圾分类是JVM垃圾分类中的第一步,这一步将堆中的对象分为存活对象和垃圾对象两类。 在垃圾分类阶段,JVM会从一组根对象开始,通过对象之间的引用关系,遍历所有的对象,并将所有存活的对象进行标记。…

一、垃圾分类定义

垃圾分类是JVM垃圾分类中的第一步,这一步将堆中的对象分为存活对象和垃圾对象两类。

在垃圾分类阶段,JVM会从一组根对象开始,通过对象之间的引用关系,遍历所有的对象,并将所有存活的对象进行标记。在标记过程中,对象会被打上标记,以便在垃圾回收的后续阶段进行处理。被标记的对象就是存活对象,未被标记的对象则被视为垃圾对象,可以被垃圾回收器回收。

强引用、软引用、弱引用、虚引用等引用类型是用于控制垃圾回收的过程中对对象的生命周期的。它们的作用是告诉垃圾回收器哪些对象是可以被回收的,哪些对象是不可以被回收的。

二、 强引用、软引用、弱引用、虚引用在程序中的应用

1、强引用

//强引用
Object obj = new Object();

2、软应用

//软引用
SoftReference<Object> softRef = new SoftReference<>(obj);
//obj 不再具有强引用,仍有软引用
obj = null; 

案例:

import java.lang.ref.SoftReference;/*** 软引用何时被收集*/
public class SoftReferenceDemo {public static void main(String[] args) throws InterruptedException {//100M的缓存数据byte[] cacheData = new byte[100 * 1024 * 1024];//将缓存数据用软引用持有SoftReference<byte[]> cacheRef = new SoftReference<>(cacheData);//将缓存数据的强引用去除cacheData = null;System.out.println("第一次GC前" + cacheData);System.out.println("第一次GC前" + cacheRef.get());//进行一次GC后查看对象的回收情况System.gc();//等待GCThread.sleep(500);System.out.println("第一次GC后" + cacheData);System.out.println("第一次GC后" + cacheRef.get());//在分配一个120M的对象,看看缓存对象的回收情况byte[] newData = new byte[120 * 1024 * 1024];System.out.println("重新分配对象后," + cacheData);System.out.println("重新分配对象后," + cacheRef.get());}
}

得到的结果是:

第一次GC前null
第一次GC前[B@682a0b20
第一次GC后null
第一次GC后[B@682a0b20
重新分配对象后,null
重新分配对象后,null

分析:在代码中,cacheRef是软引用关联的对象,cacheData是去除强引用的对象。当我们第一次进行垃圾回收前后,内存足够,所以如图所示;重新分配对象后,内存空间不足,将软引用对象回收,所以输出了"重新分配对象后,null"

3、弱引用

//弱引用
WeakReference<Object> weakRef = new WeakReference<>(obj); 
//obj 不再具有强引用,只有弱引用
obj = null; 

4、虚引用

ReferenceQueue<Object> queue = new ReferenceQueue<>();
//虚引用
PhantomReference<Object> phantomRef = new PhantomReference<>(obj, queue); 
//obj 不再具有强引用,只有虚引用
obj = null; 

三、总结

  • 强引用:保证对象不被垃圾回收,直到引用被显式地设置为null或超出作用域。
  • 软引用:在内存不足时,垃圾回收器会回收软引用指向的对象,适合实现内存敏感的缓存。
  • 弱引用:只要垃圾回收器发现了弱引用,就会回收其指向的对象,适合实现规范化映射和缓存元数据。
  • 虚引用:主要用于跟踪对象的垃圾回收活动,不会影响对象的生命周期。
http://www.yayakq.cn/news/446438/

相关文章:

  • 怎么做的网站怎么放上网网站设计 导航条
  • 招聘工作的网站有哪些建设信用卡购物网站
  • 网站建设的教程企业模板网站vue
  • 用wordpress仿一个网站做医药行业找药的网站
  • 做网站推广怎么找客户设计图网址
  • 在哪里自己建设网站美工培训哪个机构好
  • 网站备案链接直接查看旅游网站建设策划书范文
  • 金湖网站设计wordpress d9
  • 自己制作网页链接的软件谷歌seo视频教程
  • 制作文件的软件seo网站优化培训怎么做
  • 长沙哪家网站设计好网站栏目划分怎么做
  • UltraEdit做网站教程鞍山抖音seo新闻
  • 手机怎么做电子书下载网站单位网站建设情况
  • 精品资源共享课程网站建设论文怎么快速做网站排名
  • 天津市住房和城乡建设部网站淘宝seo 优化软件
  • 楚雄企业网站建设公司苏州有哪些做网站公司
  • 珠海网站建设那家好桂林做网站多少钱
  • 手把手wordpress仿站杭州社交电商十大平台
  • wordpress速度慢优化网络工程师
  • 沈阳网站制作机构厦门建站系统建设
  • 成都网站建设培训班管理咨询师
  • 网站开通flash国家免费培训网站
  • 做网站什么系统简单广告公司平面设计主要做什么
  • 九江专业的企业网站建设公司代理招商平台
  • 网站建设这门课好学吗wordpress公司企业
  • 怎么做网站背景视频营销案例
  • 防城港做网站静态网页制作网站
  • 企业网站制作哪家好哪个建设网站公司好
  • 黄山工程建设信息网站wordpress 主题排行
  • centos7.2做网站重庆市住房和城乡建设厅网站首页