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

📄 bufferallocbenchmark.java

📁 java nio 编程一个实例子.服务端程序
💻 JAVA
字号:
package com.ronsoft.books.nio.buffers;import java.nio.*;import java.nio.channels.*;import java.io.IOException;public class BufferAllocBenchmark{	public static long doAlloc (int size, int count, boolean direct)	{		long start = System.currentTimeMillis();		for (int i = 0; i < count; i++)  {			ByteBuffer buf;			if (direct) {				buf = ByteBuffer.allocateDirect (size * 1024);			} else {				buf = ByteBuffer.allocate (size * 1024);			}		}		return (System.currentTimeMillis() - start);	}	public static long [] doLoop (int count, boolean direct)	{		long [] times = new long [count];		for (int i = 0; i < times.length; i++) {			times [i] = doAlloc (i * 8, 100, direct);//			System.gc();		}		return (times);	}	public static void printResults (long [] nonDirect, long [] direct)	{		System.out.println ("Size\talloc\tallocDirect");		for (int i = 0; i < nonDirect.length; i++) {			System.out.println ("" + ((i + 1) * 8) + "\t"				+ nonDirect [i] + "\t" + direct [i]);		}	}	public static void main (String [] argv)		throws IOException	{		long [] nonDirect;		long [] direct;		System.out.println ("Pre-running");		doLoop (2, false);		doLoop (2, true);		System.gc();		System.out.println ("allocating non-direct buffers");		nonDirect = doLoop (25, false);		System.gc();		System.out.println ("allocating direct buffers");		direct = doLoop (25, true);		System.gc();		System.out.println ("done");		printResults (nonDirect, direct);        }}

⌨️ 快捷键说明

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