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

重庆网站建设seo公司哪家好陕西最新消息今天

重庆网站建设seo公司哪家好,陕西最新消息今天,聊城手机网站建设软件,微商城科技文章目录 一、什么是直接内存#xff1f;二、特点三、使用案例四、直接内存的管理 一、什么是直接内存#xff1f; Direct Memory#xff1a;系统内存 普通IO#xff0c;运行原理图 磁盘到系统内存#xff0c;系统内存到jvm内存。 NIO#xff0c;运行原理图 划分了一块… 文章目录 一、什么是直接内存二、特点三、使用案例四、直接内存的管理 一、什么是直接内存 Direct Memory系统内存 普通IO运行原理图 磁盘到系统内存系统内存到jvm内存。 NIO运行原理图 划分了一块区域JVM和系统共享的内存区间这样就减少了一次IO操作。 二、特点 常见于 NIO 操作时用于数据缓冲区 分配回收成本较高但读写性能高 不受 JVM 内存回收管理 所以我们可以在IO程序中使用直接内存来优化程序的读写性能。 三、使用案例 关键代码ByteBuffer.allocateDirect(_1Mb); public class Demo1_9 {static final String FROM E:\\sbPSjI4tt10.mp4;static final String TO E:\\a.mp4;static final int _1Mb 1024 * 1024;public static void main(String[] args) {io(); // io 用时1535.586957 1766.963399 1359.240226directBuffer(); // directBuffer 用时479.295165 702.291454 562.56592}private static void directBuffer() {long start System.nanoTime();try (FileChannel from new FileInputStream(FROM).getChannel();FileChannel to new FileOutputStream(TO).getChannel();) {ByteBuffer bb ByteBuffer.allocateDirect(_1Mb);while (true) {int len from.read(bb);if (len -1) {break;}bb.flip();to.write(bb);bb.clear();}} catch (IOException e) {e.printStackTrace();}long end System.nanoTime();System.out.println(directBuffer 用时 (end - start) / 1000_000.0);}private static void io() {long start System.nanoTime();try (FileInputStream from new FileInputStream(FROM);FileOutputStream to new FileOutputStream(TO);) {byte[] buf new byte[_1Mb];while (true) {int len from.read(buf);if (len -1) {break;}to.write(buf, 0, len);}} catch (IOException e) {e.printStackTrace();}long end System.nanoTime();System.out.println(io 用时 (end - start) / 1000_000.0);} }但是直接内存是不受JVM管理的 另外我们显示调用gcJVM也不是立马就执行gc。 而且一般我们会在项目中禁用显示调用gc因为Full GC影响性能。 禁用参数-XX:DisableExplicitGC 四、直接内存的管理 底层是如何回收直接内存的 使用了 Unsafe 对象完成直接内存的分配回收并且回收需要主动调用 freeMemory 方法ByteBuffer 的实现类内部使用了 Cleaner 虚引用来监测 ByteBuffer 对象一旦 ByteBuffer 对象被垃圾回收那么就会由 ReferenceHandler 线程通过 Cleaner 的 clean 方法调 用 freeMemory 来释放直接内存 我们知道不建议程序员显示调用gc来回收JVM对象。 但是等待JVM自主的Full GC又是不确定的。 所以还是建议我们自己手动回收直接内存。 public class Demo1_27 {static int _1Gb 1024 * 1024 * 1024;public static void main(String[] args) throws IOException {Unsafe unsafe getUnsafe();// 分配内存long base unsafe.allocateMemory(_1Gb);unsafe.setMemory(base, _1Gb, (byte) 0);System.in.read();// 释放内存unsafe.freeMemory(base);System.in.read();}public static Unsafe getUnsafe() {try {Field f Unsafe.class.getDeclaredField(theUnsafe);f.setAccessible(true);Unsafe unsafe (Unsafe) f.get(null);return unsafe;} catch (NoSuchFieldException | IllegalAccessException e) {throw new RuntimeException(e);}} }
http://www.hkea.cn/news/14302234/

相关文章:

  • 网站备案多长时间来完成网站优化排名易下拉效率
  • 搭建网站需要什么技术建筑贴图素材网站
  • 哪里做百度网站方案设计评分标准
  • 襄城县住房和城市建设局网站外贸网站平台排名
  • 北京 网站定制开发创客贴网页设计网站
  • 电商网站建设与运维需要的软件做网站用的符号
  • 免费网站制作器微信小店
  • 望城区网站建设海外 酒店 网站建设
  • 怎么做原创动漫视频网站ps网站导航怎么做
  • 现在网站建站的主流语言是什么智威汤逊广告公司
  • 优享购物官方网站做网站一般多少
  • 九度互联网站制作效果游戏公司网页设计
  • access数据库网站开发博客个人目录wordpress
  • 手机网站打开自动wap软件培训内容怎么写
  • 2021年建站赚钱外贸soho做网站
  • 谷歌seo 外贸建站网站策划是干嘛的
  • 流量联盟网站源码互联网广告平台有哪些
  • 网站建设好了怎么进行推广深圳网站建设 推荐xtdseo
  • 学校网站管理与建设办法seo优化网站查询
  • 算命网站该怎样做设计说明怎么写模板
  • 官网建设企业关键词排名优化公司外包
  • 招生网站建设策划方案南阳高端网站建设
  • 甘肃省工程建设信息官方网站wordpress框架视频
  • 专门做奢侈品的网站有哪些北京公司网站建设推荐
  • 网站设置多少个关键词wordpress添加购买按钮
  • 亚马逊官方网站怎么做昆明网站建设方案托管
  • 宁波如何建网站建个商城网站需要多少钱
  • 加强网站 网站建设网站开发商问花店老板
  • 人工智能网站开发做响应式网站所用的代码
  • 重庆市门户网站制作做网站推广需要具备哪些条件