⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tinyline.java

📁 j2me编写的解压缩程序!已经试过了
💻 JAVA
字号:
import java.io.*;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

import com.tinyline.util.*;

public class TinyLine extends MIDlet
{
	protected void startApp() throws MIDletStateChangeException
	{
		Runtime runtime=Runtime.getRuntime();
		doGC();
		long memory1=runtime.totalMemory(),memory2=0,memory3=0,memory4=0;
		long free1=runtime.freeMemory(),free2=0,free3=0,free4=0,time1=0,time10=0;
		try
		{
			InputStream is=getClass().getResourceAsStream("/rfc1951.txt.gz");
			ByteArrayOutputStream baos=new ByteArrayOutputStream();
			int i=-1;
			while ((i=is.read())!=-1) baos.write(i);
			is.close();
			ByteArrayInputStream bais=new ByteArrayInputStream(baos.toByteArray());
			doGC();
			//
			free2=runtime.freeMemory();
			memory2=runtime.totalMemory();
			int readed=0;
			GZIPInputStream gis=new GZIPInputStream(bais);
			time1=System.currentTimeMillis();
			byte data[]=new byte[37897];
			while (readed<data.length) readed+=gis.read(data,readed,data.length-readed);
			gis.close();
			time1=System.currentTimeMillis()-time1;
			free3=runtime.freeMemory();
			memory3=runtime.totalMemory();
			//
			doGC();
			free4=runtime.freeMemory();
			memory4=runtime.totalMemory();
			GZIPInputStream gis10[]=new GZIPInputStream[10];
			for (i=0;i<10;i++) gis10[i]=new GZIPInputStream(bais);
			time10=System.currentTimeMillis();
			for (i=0;i<10;i++)
			{
				gis=gis10[i];
				bais.reset();
				readed=0;
				data=new byte[37897];
				while (readed<data.length) readed+=gis.read(data,readed,data.length-readed);
				gis.close();
			}
			time10=System.currentTimeMillis()-time10;
		}
		catch (Exception ex)
		{
			ex.printStackTrace();
		}
		Form form=new Form("results");
		form.append("\n1: "+free1+"/"+memory1);
		form.append("\n2: "+free2+"/"+memory2);
		form.append("\n3: "+free3+"/"+memory3);
		form.append("\n4: "+free4+"/"+memory4);
		form.append("\nmemory: "+(free2-free3-37897));
		form.append("\ntime 1: "+time1);
		form.append("\ntime 10: "+time10);
		Display.getDisplay(this).setCurrent(form);
	}

	protected void pauseApp()
	{
	}

	protected void destroyApp(boolean b) throws MIDletStateChangeException
	{
	}

	private void doGC()
	{
		long time=System.currentTimeMillis();
		while (System.currentTimeMillis()-time<2000) System.gc();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -