欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中幾個Reference常見的作用詳解

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

前言

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

具體代碼如下:

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

SoftReference的時候:


weakReference的時候:


StrongReference:

由于strong是JVM默認的,這里就不做了,直接就是一點都不會被回收,直至OOM

PhantomReference:

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

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

輸出:


總結一下:

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

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

相關文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Java實現(xiàn)遞歸查詢樹結構的示例代碼

    我們在實際開發(fā)中,肯定會用到樹結構,如部門樹、菜單樹等等。Java后臺利用遞歸思路進行構建樹形結構數(shù)據(jù),返回給前端,能以下拉菜單等形式進行展示。今天,咱們就來說說怎么樣將List集合轉換成TreeList
    2022-11-11

最新評論