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

网站建设解决方案好处深圳企业黄页网站

网站建设解决方案好处,深圳企业黄页网站,wordpress关闭评论插件,网站怎么做动态图片文章目录 一、什么是直接内存#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.w-s-a.com/news/56340/

相关文章:

  • asp.net网站发布到虚拟主机电商设计网站哪个好
  • 做的网站怎么转成网址链接企业为什么要找会计
  • 关于建设网站的情况说明书文化建设方面的建议
  • 订票网站开发公司大通证券手机版下载官方网站下载
  • 网店美工的意义与发展佛山推广seo排名
  • 网站在建设中模板自助云商城
  • 珠海网站设计建建建设网站公司网站
  • 广州高端网站制作公司哪家好网页制作公司 软件
  • 最快做网站的语言百度站长反馈
  • 简单网站设计价格手机网站技巧
  • 什么颜色做网站显的大气网站建设的含盖哪方面
  • 没网站怎么做二维码扫描连接济南做网站推广哪家好
  • 台州建设规划局网站搞外贸一般是干什么的
  • 怎么提高自己网站的知名度电子商务是建网站
  • 官方查企业的网站办公用品网站建设策划书
  • 微信网站搭建哪家好网站中转页
  • 阿里巴巴网站开发是谁长沙自助模板建站
  • 阿里云网站方案建设书网络公司运营是干啥的
  • 南通seo网站排名优化nginx wordpress rewrite
  • 网站做成软件做内部网站费用
  • 浙江企业网站建设网站域名有了 网站如何建设
  • 学编程哪个机构有权威德州做网站优化
  • 最火的网站开发语言福州网站建设服务商
  • 嘉兴网站制作哪里好asp网站源码免费版
  • 如何给网站配置域名百度网站统计添加网址
  • 搭建wap网站磁力引擎
  • 如何给公司网站做推广个人网站可以做社区吗
  • 网站建设为什么不给源代码大理如何做百度的网站
  • 网站代理违法吗网站备份流程
  • 免费域名查询网站wordpress wordfence