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

Java DWR內(nèi)存泄漏問題解決方案

 更新時間:2020年10月16日 11:00:48   作者:cuisuqiang  
這篇文章主要介紹了Java DWR內(nèi)存泄漏問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

機器跑了一晚上,發(fā)現(xiàn)有崩潰現(xiàn)象,由于頁面內(nèi)有動態(tài)繪圖功能,我懷疑是繪圖原因,但是今天上午有人提醒我才想到,是不是間隔調(diào)用時DWR產(chǎn)生了內(nèi)存泄漏問題?

網(wǎng)上查了一下貌似大家都在討論這個問題,之前我也挺老手說過DWR有內(nèi)存問題,可是沒有遇到過。原來DWR在間隔調(diào)用這種情況下會有問題!

按照大家的說法,修改engine.js配置文件來解決問題,目前我也修改了一下,修改方法如下:

dwr.engine._sendData = function(batch) {}

內(nèi)有,這樣幾行代碼:

// Get setup for XMLHttpRequest if possible
if (batch.rpcType == dwr.engine.XMLHttpRequest) {
if (window.XMLHttpRequest) {
 batch.req = new XMLHttpRequest();
}
// IE5 for the mac claims to support window.ActiveXObject, but throws an error when it's used
else if (window.ActiveXObject && !(navigator.userAgent.indexOf("Mac") >= 0 && navigator.userAgent.indexOf("MSIE") >= 0)) {
 batch.req = dwr.engine._newActiveXObject(dwr.engine._XMLHTTP);
}
}

看起來IE請求Ajax的對象每次都在創(chuàng)建

而根據(jù)網(wǎng)上的說法,IE在創(chuàng)建對象后,如果這個頁面不關(guān)閉(包括不能最小化)時,其創(chuàng)建的對象是一直不銷毀的。那么無限制的創(chuàng)建對象且不銷毀,當(dāng)然會內(nèi)存泄漏

目前我改了一下,如下面代碼:

var httprequest = null;
// Get setup for XMLHttpRequest if possible
if(null==httprequest){
	// Get setup for XMLHttpRequest if possible
	if (batch.rpcType == dwr.engine.XMLHttpRequest) {
		if (window.XMLHttpRequest) {
			httprequest = new XMLHttpRequest();
		}
		// IE5 for the mac claims to support window.ActiveXObject, but throws an error when it's used
		else if (window.ActiveXObject && !(navigator.userAgent.indexOf("Mac") >= 0 && navigator.userAgent.indexOf("MSIE") >= 0)) {
			httprequest = dwr.engine._newActiveXObject(dwr.engine._XMLHTTP);
		}
	}
}

就是說第一次創(chuàng)建,之后不再創(chuàng)建,相當(dāng)于單例模式。

由于內(nèi)存泄漏時長時間運行引起的,目前尚不知該方法是否能解決問題。但是從任務(wù)管理器上看,好像有所改善,我們還需要進一步測試。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot?mybatis-plus使用json字段實戰(zhàn)指南

    SpringBoot?mybatis-plus使用json字段實戰(zhàn)指南

    在現(xiàn)代應(yīng)用開發(fā)中經(jīng)常會使用JSON格式存儲和傳輸數(shù)據(jù),為了便捷地處理數(shù)據(jù)庫中的JSON字段,MyBatis-Plus提供了強大的JSON處理器,這篇文章主要給大家介紹了關(guān)于SpringBoot?mybatis-plus使用json字段的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • idea創(chuàng)建SpringBoot項目時Type選maven?project和maven?pom有何區(qū)別

    idea創(chuàng)建SpringBoot項目時Type選maven?project和maven?pom有何區(qū)別

    Maven是一個Java工程的管理工具,跟其相同功能的工具如Gradle,下面這篇文章主要給大家介紹了關(guān)于idea創(chuàng)建SpringBoot項目時Type選maven?project和maven?pom有何區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • Java實戰(zhàn)之基于swing的QQ郵件收發(fā)功能實現(xiàn)

    Java實戰(zhàn)之基于swing的QQ郵件收發(fā)功能實現(xiàn)

    這篇文章主要介紹了Java實戰(zhàn)之基于swing的QQ郵件收發(fā)功能實現(xiàn),文中有非常詳細的代碼示例,對正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • Knife4j的請求示例當(dāng)中有很多空白行的問題解決辦法

    Knife4j的請求示例當(dāng)中有很多空白行的問題解決辦法

    這篇文章主要介紹了Knife4j的請求示例當(dāng)中有很多空白行的問題解決辦法,按正常來說不應(yīng)該有上方的空白,當(dāng)然如果只是查看我也不至于非要解決他,主要是假如接口是json傳參,調(diào)試界面都沒辦法修改參數(shù),遇到同樣問題的同學(xué)可以參考閱讀本文
    2024-09-09
  • java8日期工具類封裝的實戰(zhàn)記錄

    java8日期工具類封裝的實戰(zhàn)記錄

    java time包中的是類是不可變且線程安全的,新的時間及日期API位于java.time中,下面這篇文章主要給大家介紹了關(guān)于java8日期工具類封裝的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • 詳解Mybatis中的select方法

    詳解Mybatis中的select方法

    這篇文章主要介紹了Mybatis的select方法,通過代碼給大家詳細介紹了selectByExample方法,selectById方法,需要的朋友可以參考下
    2018-07-07
  • Java形參和實參的實例之Integer類型與Int類型用法說明

    Java形參和實參的實例之Integer類型與Int類型用法說明

    這篇文章主要介紹了Java形參和實參的實例之Integer類型與Int類型用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • 解析Oracle數(shù)據(jù)庫中的對象集合schema

    解析Oracle數(shù)據(jù)庫中的對象集合schema

    這篇文章主要介紹了Oracle數(shù)據(jù)庫中的對象集合schema,是Oracle數(shù)據(jù)庫入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-11-11
  • SpringBoot自動配置原理分析

    SpringBoot自動配置原理分析

    這篇文章主要介紹了SpringBoot自動配置原理分析,SpringBoot是我們經(jīng)常使用的框架,那么你能不能針對SpringBoot實現(xiàn)自動配置做一個詳細的介紹。如果可以的話,能不能畫一下實現(xiàn)自動配置的流程圖。牽扯到哪些關(guān)鍵類,以及哪些關(guān)鍵點
    2022-08-08
  • servlet異步請求的實現(xiàn)

    servlet異步請求的實現(xiàn)

    本文主要介紹了servlet異步請求的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07

最新評論