亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java中幾個(gè)Reference常見的作用詳解

 更新時(shí)間:2017年06月15日 09:58:03   作者:三斤牛肉  
這篇文章主要給大家介紹了Java中關(guān)于Reference多個(gè)作用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。

前言

Java中幾個(gè)Reference作用,也是面試的時(shí)候經(jīng)常問到的問題,以前總是記一次忘一次,現(xiàn)在有時(shí)間,索性寫個(gè)demo測(cè)試一把。下面來一起看看詳細(xì)的介紹:

具體代碼如下:

JVM 參數(shù): -Xmx10m -Xms5m -XX:+PrintGC

SoftReference的時(shí)候:


weakReference的時(shí)候:


StrongReference:

由于strong是JVM默認(rèn)的,這里就不做了,直接就是一點(diǎn)都不會(huì)被回收,直至OOM

PhantomReference:

虛引用并不會(huì)改變內(nèi)存回收機(jī)制,只是在回收的時(shí)候放到ReferenceQueue里通知用戶可做一些額外操作,比如打印日志等

如下代碼,本質(zhì)上byte[]還是一個(gè)強(qiáng)引用的。

輸出:


總結(jié)一下:

  • StrongReference:JVM默認(rèn),除非GC時(shí)已無任何對(duì)象引用,否則即便是OOM也不會(huì)回收
  • WeakReference:一旦沒有被引用,GC時(shí)就會(huì)回收
  • SoftReference:和strong一樣,除非GC時(shí)已無任何對(duì)象引用,否則....在即將OOM前才會(huì)被回收,所以SoftReference一般可以用來做緩存
  • sun.nio.ch.Util中就有private static ThreadLocal<SoftReference<SelectorWrapper>> localSelector
  • = new ThreadLocal<SoftReference<SelectorWrapper>>();
  • 用于臨時(shí)的Selector。
  • PhantomReference:通過構(gòu)造函數(shù)的ReferenceQueue作為一個(gè)通知,用來在對(duì)象被回收時(shí)做額外的操作。

好了,以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • Spring Cache實(shí)現(xiàn)緩存技術(shù)

    Spring Cache實(shí)現(xiàn)緩存技術(shù)

    在面對(duì)公司緩存技術(shù)混亂時(shí),張三基于Spring框架自研緩存解決方案,展現(xiàn)了他的專業(yè)技術(shù)能力和積極工作態(tài)度,他通過問題診斷、技術(shù)選型、編碼測(cè)試、文檔編寫和部署監(jiān)控等一系列步驟,確保了新緩存系統(tǒng)的功能正確性和性能穩(wěn)定性
    2024-10-10
  • Java中BigDecimal,DateFormatter?和迭代器的"陷阱"

    Java中BigDecimal,DateFormatter?和迭代器的"陷阱"

    這篇文章主要介紹了Java中BigDecimal,DateFormatter?和迭代器的"陷阱",文章圍繞主題展開詳細(xì)的內(nèi)容介紹,感興趣的小伙伴可以參考一下
    2022-06-06
  • Swagger注解-@ApiModel和@ApiModelProperty的用法

    Swagger注解-@ApiModel和@ApiModelProperty的用法

    這篇文章主要介紹了Swagger注解-@ApiModel和@ApiModelProperty的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Java編程GUI中的事件綁定代碼示例

    Java編程GUI中的事件綁定代碼示例

    這篇文章主要介紹了Java編程GUI中的事件綁定代碼示例,簡(jiǎn)單介紹了綁定的概念,然后分享了相關(guān)代碼,具有一定參考價(jià)值,需要的朋友可以參考下。
    2017-10-10
  • IDEA插件之mybatisx插件使用教程(超詳細(xì)!)

    IDEA插件之mybatisx插件使用教程(超詳細(xì)!)

    MybatisX 是一款基于IDEA的快速開發(fā)插件,為效率而生,下面這篇文章主要給大家介紹了關(guān)于IDEA插件之mybatisx插件使用的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • Java實(shí)現(xiàn) 基于密度的局部離群點(diǎn)檢測(cè)------lof算法

    Java實(shí)現(xiàn) 基于密度的局部離群點(diǎn)檢測(cè)------lof算法

    這篇文章主要介紹了Java實(shí)現(xiàn) 基于密度的局部離群點(diǎn)檢測(cè)------lof算法,本文通過算法概述,算法Java源碼,測(cè)試結(jié)果等方面一一進(jìn)行說明,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • 在SpringBoot項(xiàng)目中使用Java8函數(shù)式接口的方法示例

    在SpringBoot項(xiàng)目中使用Java8函數(shù)式接口的方法示例

    在Spring Boot項(xiàng)目中,Java 8 的函數(shù)式接口廣泛用于實(shí)現(xiàn)各種功能,如自定義配置、數(shù)據(jù)處理等,函數(shù)式接口在Spring Boot中非常有用,本文展示了在SpringBoot項(xiàng)目中使用Java8的函數(shù)式接口的方法示例,需要的朋友可以參考下
    2024-03-03
  • Java利用位運(yùn)算實(shí)現(xiàn)加減乘除的方法詳解

    Java利用位運(yùn)算實(shí)現(xiàn)加減乘除的方法詳解

    我們經(jīng)常使用的加減乘除,我們所看到的只是表面的效果,那么加減乘除在底層究竟是怎么實(shí)現(xiàn)的?今天就讓我們一探究竟
    2022-08-08
  • Java ArrayList的基本概念和作用及動(dòng)態(tài)數(shù)組的機(jī)制與性能

    Java ArrayList的基本概念和作用及動(dòng)態(tài)數(shù)組的機(jī)制與性能

    在Java中,ArrayList是一個(gè)實(shí)現(xiàn)了List接口的動(dòng)態(tài)數(shù)組,它可以根據(jù)需要自動(dòng)增加大小,因此可以存儲(chǔ)任意數(shù)量的元素,這篇文章主要介紹了探秘Java ArrayList的基本概念和作用及動(dòng)態(tài)數(shù)組的機(jī)制與性能,需要的朋友可以參考下
    2023-12-12
  • Java實(shí)現(xiàn)遞歸查詢樹結(jié)構(gòu)的示例代碼

    Java實(shí)現(xiàn)遞歸查詢樹結(jié)構(gòu)的示例代碼

    我們?cè)趯?shí)際開發(fā)中,肯定會(huì)用到樹結(jié)構(gòu),如部門樹、菜單樹等等。Java后臺(tái)利用遞歸思路進(jìn)行構(gòu)建樹形結(jié)構(gòu)數(shù)據(jù),返回給前端,能以下拉菜單等形式進(jìn)行展示。今天,咱們就來說說怎么樣將List集合轉(zhuǎn)換成TreeList
    2022-11-11

最新評(píng)論