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

java軟引用在瀏覽器使用實例講解

 更新時間:2021年04月06日 08:28:34   作者:小妮淺淺  
在本篇文章里小編給大家整理的是一篇關(guān)于java軟引用在瀏覽器使用實例講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。

1、說明

如果一個網(wǎng)頁在瀏覽結(jié)束時回收內(nèi)容,需要按后退查看之前瀏覽過的頁面時重建;

如果將瀏覽過的網(wǎng)頁存儲在內(nèi)存中,會造成大量內(nèi)存浪費,甚至導(dǎo)致內(nèi)存溢出。

2、實例

 // 獲取瀏覽器對象進行瀏覽
 Browser browser = new Browser();
 // 從后臺程序加載瀏覽頁面
 BrowserPage page = browser.getPage();
 // 將瀏覽完畢的頁面置為軟引用
 SoftReference softReference = new SoftReference(page);
 
 // 回退或者再次瀏覽此頁面時
 if(softReference.get() != null) {
 // 內(nèi)存充足,還沒有被回收器回收,直接獲取緩存
 page = softReference.get();
 } else {
 // 內(nèi)存不足,軟引用的對象已經(jīng)回收
 page = browser.getPage();
 // 重新構(gòu)建軟引用
 softReference = new SoftReference(page);
 }

 實例擴展:

byte[] data = new byte[1*1024*1024];

ReferenceQueue referenceQueue = new ReferenceQueue<>();

SoftReference softReference = new SoftReference<>(data,referenceQueue);

data = null;

System.out.println("before:"+softReference.get());

try {
for (int i = 0; i 

byte[] temp = new byte[3*1024*1024];

System.out.println("processing:"+softReference.get());

}

} catch (Throwable t) {
System.out.println("after:"+softReference.get());

t.printStackTrace();

}

while(referenceQueue.poll()!=null){
System.out.println("self:"+softReference);

softReference.clear();

softReference = null;

System.out.println("last:"+softReference);

}

VM options:-Xms5m -Xmx5m -XX:+PrintGC

到此這篇關(guān)于java軟引用在瀏覽器使用實例講解的文章就介紹到這了,更多相關(guān)java軟引用如何在瀏覽器使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • springboot如何配置定時任務(wù)

    springboot如何配置定時任務(wù)

    這篇文章主要介紹了springboot如何配置定時任務(wù),幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下
    2020-11-11
  • SpringBoot集成Mybatis-Plus多租戶架構(gòu)實現(xiàn)

    SpringBoot集成Mybatis-Plus多租戶架構(gòu)實現(xiàn)

    本文主要介紹了SpringBoot集成Mybatis-Plus多租戶架構(gòu)實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Java使用注解實現(xiàn)防止重復(fù)提交實例

    Java使用注解實現(xiàn)防止重復(fù)提交實例

    這篇文章主要介紹了Java使用注解實現(xiàn)防止重復(fù)提交實例,在一些項目中由于用戶誤操作,多次點擊表單提交按鈕,會產(chǎn)生很多次的數(shù)據(jù)交互,為了解決這一問題,本文使用注解來實現(xiàn)防止重復(fù)提交,需要的朋友可以參考下
    2023-07-07
  • SpringBoot整合MQTT小結(jié)匯總

    SpringBoot整合MQTT小結(jié)匯總

    MQTT 客戶端是運行 MQTT 庫并通過網(wǎng)絡(luò)連接到 MQTT 代理的任何設(shè)備,是一種基于發(fā)布/訂閱(publish/subscribe)模式的“輕量級”通訊協(xié)議,該協(xié)議構(gòu)建于 TCP/IP 協(xié)議上,由 IBM 于 1999 年發(fā)明,對SpringBoot整合MQTT相關(guān)知識感興趣的朋友一起看看吧
    2022-01-01
  • Springboot3整合Mybatis3的完整步驟記錄

    Springboot3整合Mybatis3的完整步驟記錄

    這篇文章主要給大家介紹了關(guān)于Springboot3整合Mybatis3的完整步驟,Spring Boot和MyBatis分別是兩個功能強大的框架,它們的協(xié)同使用可以極大地簡化數(shù)據(jù)訪問層的開發(fā),提高整體的開發(fā)效率,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • java實現(xiàn)自定義表格渲染和編輯

    java實現(xiàn)自定義表格渲染和編輯

    這篇文章主要為大家詳細(xì)介紹了java如何實現(xiàn)自定義表格渲染和編輯,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-04-04
  • redis分布式鎖RedissonLock的實現(xiàn)細(xì)節(jié)解析

    redis分布式鎖RedissonLock的實現(xiàn)細(xì)節(jié)解析

    這篇文章主要介紹了redis分布式鎖RedissonLock的實現(xiàn)細(xì)節(jié)解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java枚舉的使用與反射應(yīng)用方式

    Java枚舉的使用與反射應(yīng)用方式

    枚舉類型是一種特殊的類,限定為固定實例集合,且是類型安全和線程安全的,枚舉類型不可繼承,但可以添加屬性和方法,支持單例模式,枚舉常量可以通過反射獲取和操作,提供了靈活性和擴展性
    2024-09-09
  • SpringMVC使用@ExceptionHandler注解在Controller中處理異常

    SpringMVC使用@ExceptionHandler注解在Controller中處理異常

    這篇文章主要為大家介紹了SpringMVC使用@ExceptionHandler注解在Controller中處理異常示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • Java中CopyOnWriteArrayList的使用解析

    Java中CopyOnWriteArrayList的使用解析

    這篇文章主要介紹了Java中CopyOnWriteArrayList的使用解析,CopyOnWriteArrayList適合使用在讀操作遠(yuǎn)遠(yuǎn)大于寫操作的場景里,比如緩存,它不存在擴容的概念,每次寫操作都要復(fù)制一個副本,在副本的基礎(chǔ)上修改后改變Array引用,需要的朋友可以參考下
    2023-12-12

最新評論