关于非堆内存申请的性能测试
最近有朋友关于 Voovan 申请非堆内存后在连接关闭后进行释放的问题存在疑问,这里我进行了一个非对内存申请的测试.
测试代码如下:
public class UnsafePerformance {public static void main(String[] args) throws Exception {Logger.simple(TEnv.getCurrentPID());long address = 0;long start = 0;//切换这个标记,使用堆和堆外内存,观察性能情况boolean useStackMemory = false;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)+"==");}}
}
共申请10次,每次10w个 50k 的内存,并记录下每次10w个申请的时间消耗.
结果如下:
平均每10w个申请消耗的时间是26ms,所以非堆内存的申请和释放在任何情况下都完全不可能成为瓶颈.
转载于:https://my.oschina.net/helyho/blog/1476258
关于非堆内存申请的性能测试相关推荐
- 增加myEclipse的非堆内存
加大JVM的非堆内存 打开 myeclipse.ini -startup ../Common\plugins\org.eclipse.equinox.launcher_1.0.101.R34x_v ...
- JVM调优_堆内存溢出和非堆内存溢出
文章目录 1. pom 2. MemoryController 3. User 对象 4. 动态生成class文件工具类 5. 启动项目 6. 测试连接 7. 异常信息 1. pom <!--动 ...
- java堆和非堆_java 堆与非堆 内存
堆(Heap)和非堆(Non-heap)内存 按照官方的说法:"Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配.堆是在 Java 虚拟机启动时创建的.&q ...
- Java堆内存Heap与非堆内存Non-Heap简介和设置
Java 开发对JVM(Java虚拟机)的了解很有必要,网上看到,收集整理转载一下,方便日后的懒人计划 堆(Heap)和非堆(Non-heap)内存 按照官方的说法:"Java 虚拟机具有一 ...
- Java堆内存Heap与非堆内存Non-Heap
堆(Heap)和非堆(Non-heap)内存 按照官方的说法:"Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配.堆是在 Java 虚拟机启动时创建 ...
- java non-heap_Java堆内存Heap与非堆内存Non-Heap简介和设置
Java 开发对JVM(Java虚拟机)的了解很有必要,网上看到,收集整理转载一下,方便日后的懒人计划 堆(Heap)和非堆(Non-heap)内存 按照官方的说法:"Java 虚拟机具有一 ...
- JVM堆内存与非堆内存(heap)官方详解
JVM堆内存与非堆内存(heap)官方详解 JAVA堆内存管理是影响性能主要因素之一. 堆内存溢出是JAVA项目非常常见的故障,在解决该问题之前,必须先了解下JAVA堆内存是怎么工作的. 先看下JAV ...
- java非堆内存_java – 监视JVM的非堆内存使用情况
我们通常处理OutOfMemoryError问题,因为堆或permgen大小配置问题. 但是所有的JVM内存不是permgen或者heap. 据我所知,它也可以与Threads / Stacks,本地 ...
- malloc申请堆内存
1.malloc申请的空间,是否记录空间大小?若是记录,那所记录的空间大小在哪呢?为什么利用free释放不需要空间大小参数呢? malloc申请空间时,记录其空间大小(其空间上方,有一个数据头,头部信 ...
- java为什么内存会无限增大_Java进程的内存无限增长,但是MemoryMXBean报告稳定堆和非堆大小...
我正在与一个开发在1GB Linux目标系统上运行的Java GUI应用程序的团队合作. 我们有一个问题,我们的java进程使用的内存无限期地增长,直到Linux终于杀死了java进程. 我们的堆内存 ...
最新文章
- 无线信标功能初步测试
- copy,mutableCopy,retain区别
- jQuery学习笔记--目录
- Python中通常不应该犯的7个错误
- 怎样用c语言输出一个函数图像,请教 怎么才能用C输出一个函数的图像?大侠 帮帮忙啊...
- 图像的抽线、抽丝、抽图 神马是alpha通道
- AutoX创始人肖健雄来信:无人车量产的4大技术储备
- 创建和销毁对象(1)
- 前景检测算法(五)--GMM,GMM2,GMG
- 【LwM2M】LwM2M相关的开源项目
- 《小岛经济学》读书笔记摘录
- jdbc驱动加载失败
- 网站打不开的原因及解决办法
- java声卡录音_win10下程序无法录音或使用麦克风
- 开关电源模块 遥控开/关电路
- 微信公众平台的设计与开发之道
- StringBuffer之间的比较、String和StringBuffer的比较
- Java中的CAS(compare and swap)
- linux打地鼠课程设计,数字电路课程设计打地鼠.doc
- java中 引用传递_Java中的引用传递