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

汕头seo网站建设如何上传网站到空间

汕头seo网站建设,如何上传网站到空间,房产网站案例,网络公司企业网站源码Java IO在工作中其实不常用到#xff0c;更别提NIO了。但NIO却是高效操作I/O流的必备技能#xff0c;如顶级开源项目Kafka、Netty、RocketMQ等都采用了NIO技术#xff0c;NIO也是大多数面试官必考的体系知识。虽然骨头有点难啃#xff0c;但还是要慢慢消耗知识、学以致用哈…Java IO在工作中其实不常用到更别提NIO了。但NIO却是高效操作I/O流的必备技能如顶级开源项目Kafka、Netty、RocketMQ等都采用了NIO技术NIO也是大多数面试官必考的体系知识。虽然骨头有点难啃但还是要慢慢消耗知识、学以致用哈~ 以贴近现实的【面试官面试】形式涵盖大部分Java程序员需要掌握的后端知识、面试问题系列博客收录在我开源的JavaGetOffer中会一直完善下去希望收到大家的 ⭐️ Star ⭐️支持这是我创作的最大动力 https://github.com/hdgaadd/JavaGetOffer 文章目录 1. Java NIO1.1 通道和缓冲器1.2 非阻塞IO模型1.3 字符流处理字符 2. Channel和Buffer使用2.1 Buffer2.2 Channel 3. NIO零拷贝未完待续。。。 1. Java NIO 面试官了解过NIO吗 了解的面试官。NIO的出现在于提高IO的速度它相比传统的输入/输出流速度更快。 NIO通过管道Channel和缓冲器Buffer来处理数据可以把管道当成一个矿藏缓冲器就是矿藏里的卡车。 程序通过管道里的缓冲器进行数据交互而不直接处理数据。程序要么从缓冲器获取数据要么输入数据到缓冲器。 1.1 通道和缓冲器 面试官那NIO为什么速度快 是这样的NIO提供了通道和缓冲器这两个核心对象。 1管道Channel 与传统的IO流只能只读或只写的单向流不同NIO通道是双向的也就是说读写操作可以同时进行使得数据的处理效率也更高。 2缓冲器Buffer 传统的输入/输出流一次只处理一个字节而每一次字节读取都是一次系统调用涉及到用户空间和内核空间之间的上下文切换通常来说效率不高。 而NIO采用内存映射文件方式来处理输入/输出Channel通过map()方法把一块数据映射到内存中。程序通过Buffer进行数据交互减少了与原始数据源的直接访问。NIO面向块的处理方式使得效率更高。 1.2 非阻塞IO模型 面试官还有吗 有的。 传统的输入/输出流是同步阻塞IO模型如果数据源没有数据了此时程序将进行阻塞。 而NIO是I/O多路复用模型线程可以询问通道有没可用的数据而不需要在没有数据时阻塞掉线程。 1.3 字符流处理字符 面试官你刚刚说输入/输出流是处理字节字符流不是处理字符吗 不是的。所有数据包括文本数据最终都是以字节形式存储的因为计算机底层只能理解二进制数据。 字符最终也是要转换成字节形式之所以可以在文本文件看到字符是因为系统将底层的二进制序列转换成了字符。 2. Channel和Buffer使用 2.1 Buffer 面试官你具体介绍下Buffer 好的Buffer里有3个关键变量。 capcity表示缓冲器Buffer的最大数据容量。position用来指出下一个可以读出/写入Buffer的索引位置也就是记录指针的作用。limit用来表示在Buffer里第一个不能被读出/写入的索引位置。 另外Buffer还提供了get、put方法来供我们操作数据而使用get/put后position的指针位置也会随之移动。 public abstract byte get();public abstract ByteBuffer put(byte b);2.2 Channel 面试官Channel呢 Channel有常见的3个方法map()、read()和write()。 // 将通道文件的区域直接映射到字节缓冲区中 public abstract MappedByteBuffer map(MapMode mode, long position, long size)// 从此Channel通道读取字节序列到给定缓冲区dst public abstract int read(ByteBuffer dst)// 将给定缓冲区中src的字节序列写入此Channel通道 public abstract int write(ByteBuffer src)以下是Channel的简单使用代码。 public class TestFileChannel {public static void main(String[] args) {File f new File(D:\\JavaGetOffer\\TestFileChannel.java);try {FileChannel inChannel new FileInputStream(f).getChannel();FileChannel outChannel new FileOutputStream(a.txt).getChannel();MappedByteBuffer buffer inChannel.map(FileChannel.MapMode.READ_ONLY, 0, f.length());outChannel.write(buffer);buffer.clear();CharBuffer charBuffer StandardCharsets.UTF_8.newDecoder().decode(buffer);System.out.println(charBuffer);} catch (IOException ex) {ex.printStackTrace();}} }3. NIO零拷贝 面试官知道NIO零拷贝吗 是这样的在NIO零拷贝出现之前一个I/O操作会将同一份数据进行多次拷贝。可以看下图一次I/O操作对数据进行了四次复制同时来伴随两次内核态和用户态的上下文切换众所周知上下文切换是很耗费性能的操作。 而零拷贝技术改善了上述的问题。可以对比下图零拷贝技术减少了对一份数据的拷贝次数不再需要将数据在内核态和用户态之间进行拷贝也意味不再进行上下文切换让数据传输变得更加高效。 未完待续。。。 好了今天的分享就先到这我们下期《Java IO系列》继续。 创作不易不妨点赞、收藏、关注支持一下各位的支持就是我创作的最大动力❤️
http://www.zqtcl.cn/news/107862/

相关文章:

  • 公司网站续费帐怎么做互联网专业
  • 网站开发公司深圳外贸营销策略
  • 主要搜索引擎网站搜索结果比较wordpress novelist
  • 校园网站制度建设WordPress手机不显示
  • 胶州哪家公司做网站wordpress的html
  • 辽宁省建设厅网站江苏住房和城乡建设厅官方网站
  • 链接关系 网站层次结构南宁做网站找哪家公司
  • 定制网站开发哪家好崇明建设镇网站
  • 上海网站制作建设是什么wordpress管理页面
  • 酒店网站设计的目的和意义网络营销相关理论
  • 用google翻译做多语言网站企业官网建站网站
  • 南阳网站建设培训学校莞城短视频seo优化
  • 开发商城网站建设做网站租用那个服务器好
  • 2015做导航网站wordpress中文主
  • 中英文网站建设报价河南网站建设推广公司
  • 什么是建设网站提升seo排名平台
  • 广告设计模板网站模版网站是什么意思
  • 网站网站模板企业网站制作排名
  • 食品网站开发淘客手机版网站怎么做
  • 厦门市网站建设app开发水务 网站建设
  • jfinal网站开发装修公司加盟哪家最好
  • 成都个人网站制作石家庄设计网站公司
  • 阿里巴巴网站本土化建设烟台市两学一做网站
  • 潍坊品牌网站建设公司旅游类作业网站
  • 建设谷歌公司网站费用求职seo推荐
  • 企业网站建设规划ppt企业网站前端模板下载
  • 补习吧 一家专门做家教的网站百度云搜索引擎入口网盘搜索神器
  • 网站建设与制作企业嘉鱼网站建设哪家专业
  • 电脑怎么做网站赚钱柳州柳北建设局网站
  • 农村服务建设有限公司网站设计基础网站推荐