JAVA内存溢出详解

发布时间:2023-04-10 01:03:20   来源:文档文库   
字号:
调整虚拟机参数立即释放无用的对象利用序列化和反序列化技术下面是具体的代码实现packagecom.free;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.ObjectInputStream;importjava.io.ObjectOutputStream;importjava.math.BigInteger;importjava.util.ArrayList;importjava.util.List;/***@authorfree*springcomingagain@gmail.com*/publicclassOutMemorySolution{/****ChangeJVMArguments*调整虚拟机参数****FirstTry**-Xloggc:gc.log*-Xms256M*-Xmx256M**throwjava.lang.OutOfMemoryError:Javaheapspace***SecondTry**-Xloggc:gc.log*-Xms512M*-Xmx512M***/publicstaticvoidchangeJVMArguments({longstartTime=System.currentTimeMillis(;
System.out.println("Start:"+startTime;Listlist=newArrayList(0;for(inti=0;i<5000000;i++{list.add(newBigInteger("1000000";}longendTime=System.currentTimeMillis(;System.out.println("End..:"+endTime+"Cost:"+(endTime-startTime;}/***ReleaseObjectImmediate*立即释放无用的对象***ReleaseObject***//FirstReleaseObject*BigIntegertemp1=null;*for(inti=0;i<1200000;i++{*temp1=array1[i];*temp1=null;*array1[i]=null;*}*array1=null;*...*//SecondReleaseObject*temp1=null;*for(inti=0;i<1200000;i++{*temp1=array2[i];*temp1=null;*array2[i]=null;*}*array2=null;***/publicstaticvoidreleaseObjectImmediate({longstartTime=System.currentTimeMillis(;System.out.println("FirstStart:"+startTime;BigInteger[]array1=newBigInteger[1200000];for(inti=0;i<1200000;i++{array1[i]=newBigInteger("10000000";}//FirstReleaseObject

本文来源:https://www.2haoxitong.net/k/doc/e5950fdfad51f01dc281f1ff.html

《JAVA内存溢出详解.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式