当前位置: 首页 > wzjs >正文

防水网站建设手机百度高级搜索入口

防水网站建设,手机百度高级搜索入口,wordpress配置邮箱,武汉网页设计招聘一、什么是直接内存 直接内存不是虚拟机运行时数据区的一部分,是在运行时数据区外、直接向系统申请的内存空间。 通常,访问直接内存的速度会优于堆,读写性能更好。因此,出于性能考虑,读写频繁的场合可能会考虑使用直…

一、什么是直接内存

直接内存不是虚拟机运行时数据区的一部分,是在运行时数据区外、直接向系统申请的内存空间。

通常,访问直接内存的速度会优于堆,读写性能更好。因此,出于性能考虑,读写频繁的场合可能会考虑使用直接内存。Java的NIO库允许Java程序使用直接内存,用于数据缓冲区。

普通IO写需要从用户缓存空间copy到内核缓存空间再copy到磁盘(读就是反过来),而NIO是直接与磁盘进行交互,因此速率更快,适合对大文件的读写操作。

二、直接内存的简单使用

1. 使用ByteBuffer.allocateDirect()方法

    public static void main(String[] args) {//申请直接内存ByteBuffer byteBuffer = ByteBuffer.allocateDirect(1024*1024*1024);System.out.println("内存分配完毕");Scanner scanner = new Scanner(System.in);scanner.next();System.out.println("直接内存开始释放");byteBuffer = null;System.gc();scanner.next();}

2. 使用Unsafe对象的allocateMemory()方法

ByteBuffer.allocateDirect()方法内部也是通过Unsafe对象的allocateMemory()方法来分配内存的。

    public static void unSafeTest() throws IllegalAccessException {//无法使用,其内部通过判别当前类加载器限制了这个方法的调用
//      Unsafe unsafe = Unsafe.getUnsafe();//通过反射构造unsafe对象Field unsafeField = Unsafe.class.getDeclaredFields()[0];unsafeField.setAccessible(true);Unsafe unsafe = (Unsafe)unsafeField.get(null);int count = 0;while (true) {unsafe.allocateMemory(1024*1024*1024);System.out.println(++count);}}

三、直接内存的大小设置与内存溢出

直接内存可通过MaxDirectMemorySize设置,如果不指定,则默认与堆的-Xmx参数值一致。

使用时若超出最大内存则会抛出OutOfMemoryError。

四、直接内存的回收

直接内存不受JVM内存管理,分配和回收成本较高。

直接内存不受gc控制,是通过虚引用和引用计数判断,gc时若发现无引用,则通知系统直接内存可以垃圾回收了,然后这里具体垃圾回收由操作系统来处理。

http://www.dtcms.com/wzjs/158556.html

相关文章:

  • 深圳国际物流公司排名前十网站排名优化怎样做
  • 电影网站如何做长尾关键词网站哪里买外链
  • 心理网站免费建设短网址生成器免费
  • 重庆忠县网站建设报价怎样做公司网站推广
  • 邢台网站建设服务周到港港网app下载最新版
  • wordpress商城微信免费的seo教程
  • 泉州网站建设论坛线上推广渠道
  • 本机号码一键登录廊坊百度快照优化
  • 广州 网站建设系统优化大师免费版
  • 一个专做里番的网站seo为什么要进行外部优化
  • 西安旅游攻略pptseo销售话术开场白
  • 网站制作好公司营销培训课程有哪些
  • 网页制作软件绿色版系统优化是什么意思
  • 用模板做的网站不好优化google优化推广
  • 海外域名网站网页设计学生作业模板
  • 企业网站建设实例百度排名点击
  • 太原富库网站建设惠州seo关键字优化
  • seo网站是什么快速优化关键词排名
  • 外链数是网站反向链接码刺激广告
  • dwcc如何做网站南京怎样优化关键词排名
  • 昆明网站做的好的公司千锋教育官网
  • 特朗普开个人网站百度导航和百度地图
  • 网页设计怎么建站点seo关键词排名
  • 品牌宣传网站建设最近三天的新闻大事国内
  • 电子商务网站开发与设计重庆百度seo排名
  • 期货配资网站开发广东seo
  • 外国网站翻墙怎么做小程序开发公司十大排名
  • 湖北做网站系统哪家好百度推广是做什么的
  • 2017电商网站建设背景百度公司名称
  • 动态网站开发常用技术seo对网站优化