package org.voovan.test.tools; import org.voovan.tools.TEnv; import org.voovan.tools.TUnsafe; import org.voovan.tools.log.Logger; import sun.misc.Unsafe; /** * 类文字命名 * * @author: helyho * Voovan Framework. * WebSite: https://github.com/helyho/Voovan * Licence: Apache v2 License */ public class UnsafePerformance { public static void main(String[] args) throws Exception { Logger.simple(TEnv.getCurrentPID()); long address = 0; long start = 0; //切换这个标记,使用堆和堆外内存,观察性能情况 boolean useStackMemory = true; for(int x=0;x<10;x++) { start = System.currentTimeMillis(); for (int i = 0; i < 100000; i++) { if(useStackMemory) { byte[] b = new byte[1024 * 50]; } else { address = TUnsafe.getUnsafe().allocateMemory(1024 * 50); TUnsafe.getUnsafe().freeMemory(address); } } Logger.simple("=="+(System.currentTimeMillis() - start)+"=="); } } }