随笔分类 -  IO&&NIO

javaNIO:选择器--实践 Selector
摘要:选择器服务器端代码 选择器--理论这篇笔记很多和选择器相关的知识点,下面进入实战,看一下如何写和使用选择器实现服务端Socket数据接收的程序,这也是NIO中最核心、最精华的部分。 选择器的优点和注意点: 1.在传统io soket进行网络通信的时候,使用的阻塞通道,我们能知道什么时候写什么时候读, 阅读全文

posted @ 2021-02-24 17:45 signheart 阅读(183) 评论(0) 推荐(0) 编辑

javaNIO:选择器--理论 Selector
摘要:选择器 最后,我们探索一下选择器,选择器Selector是nio最重要的一个特性。由于选择器内容比较多,所以本篇先偏理论地讲一下,后一篇讲代码,文章也没有什么概括、总结的,写到哪儿算哪儿了,只求能将选择器写明白,并且将一些相对重要的内容加粗标红。 选择器提供选择执行已经就绪的任务的能力,这使得多元I 阅读全文

posted @ 2021-02-24 17:44 signheart 阅读(151) 评论(0) 推荐(0) 编辑

javaNIO:Socket通道
摘要:Socket通道 上文讲述了通道、文件通道,这篇文章来讲述一下Socket通道,Socket通道与文件通道有着不一样的特征,分三点说: 1、NIO的Socket通道类可以运行于非阻塞模式并且是可选择的,这两个性能可以激活大程序(如网络服务器和中间件组件)巨大的可伸缩性和灵活性,因此,再也没有为每个S 阅读全文

posted @ 2021-02-24 17:43 signheart 阅读(400) 评论(0) 推荐(2) 编辑

javaNIO:通道和文件通道 Channel
摘要:通道是什么 通道式(Channel)是java.nio的第二个主要创新。通道既不是一个扩展也不是一项增强,而是全新的、极好的Java I/O示例,提供与I/O服务的直接连接。Channel用于在字节缓冲区和位于通道另一侧的实体(通常是一个文件描述符(window下叫文件句柄)或套接字(网络传输用到, 阅读全文

posted @ 2021-02-24 17:42 signheart 阅读(166) 评论(0) 推荐(0) 编辑

javaNIO:缓冲区 Buffer
摘要:什么是缓冲区 一个缓冲区对象是固定数量的数据的容器,其作用是一个存储器,或者分段运输区,在这里数据可被存储并在之后用于检索。缓冲区像前篇文章讨论的那样被写满和释放,对于每个非布尔原始数据类型都有一个缓冲区类,尽管缓冲区作用于它们存储的原始数据类型,但缓冲区十分倾向于处理字节,非字节缓冲区可以再后台执 阅读全文

posted @ 2021-02-24 17:41 signheart 阅读(262) 评论(0) 推荐(0) 编辑

javaNIO:I/O模型解读
摘要:I/O模型 在开始NIO的学习之前,先对I/O的模型有一个理解,这对NIO的学习是绝对有好处的。我画一张图,简单表示一下数据从外部磁盘向运行中进程的内存区域移动的过程: 这张图片明显忽略了很多细节,只涉及了基本操作,下面分析一下这张图。 用户空间和内核空间 一个计算机通常有一定大小的内存空间,如一台 阅读全文

posted @ 2021-02-24 17:35 signheart 阅读(138) 评论(0) 推荐(0) 编辑

javaNIO:NIO概述
摘要:Java NIO(new io 或者 no blocking no) 由以下几个核心部分组成: Channels (通道)Buffers (缓冲区)Selectors (选择器) 虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Selector 构成了 阅读全文

posted @ 2021-02-24 17:32 signheart 阅读(109) 评论(0) 推荐(0) 编辑

javaIO:java IO 总结 持续更新
摘要:字节流、字符流继承关系 前几篇文章讲解了字节流、字符流的使用,不过Java提供给用户的流类远不止此,限于篇幅原因,没办法一一讲解,而且也没有必要一一讲解,就像我在写博客的时候多次提到的,有问题的时候学会查JDK API即可。OK,虽然不一一讲解每种流,我自己简单画了几张UML图,说明一下字节输入流、 阅读全文

posted @ 2021-02-24 17:26 signheart 阅读(67) 评论(0) 推荐(0) 编辑

javaIO:管道流、对象流
摘要:前言 前面的文章主要讲了文件字符输入流FileWriter、文件字符输出流FileReader、文件字节输出流FileOutputStream、文件字节输入流FileInputStream,这些都是常见的流类。当然除了这些流类之外,Java还提供了很多的流类给用户使用,本文就看一下别的流。 管道流 阅读全文

posted @ 2021-02-24 17:22 signheart 阅读(145) 评论(0) 推荐(0) 编辑

javaIO:字符流进阶BufferedWriter、BufferedReader
摘要:字符流和字节流的区别 拿一下上一篇文章的例子: 第8行"out.close()"注释掉可以看一下效果,"writer.txt"一定是空的,控制台上输出的是"文件中无数据",说明一下原因。 字符流和字节流非常相似,但也有区别,从网上找了一张图: 、 从图上看,字符流和字节流最大的区别在于,字节流在操作 阅读全文

posted @ 2021-02-24 17:21 signheart 阅读(155) 评论(0) 推荐(0) 编辑

javaIO:字符流
摘要:字符流 字节流提供了处理任何类型输入/输出操作的功能(因为对于计算机而言,一切都是0和1,只需把数据以字节形式表示就够了),但它们不可以直接操作Unicode字符,因为上一篇文章写了,一个Unicode字符占用2个字节,而字节流一次只能操作一个字节。既然Java的口号就是"一次编写、处处运行",那么 阅读全文

posted @ 2021-02-24 17:20 signheart 阅读(57) 评论(0) 推荐(0) 编辑

javaIO:字符编码
摘要:前言 字符编码,这本不属于IO的内容,但字节流之后写的应该是字符流,既然是字符流,那就涉及一个"字符编码的"问题,考虑到字符编码不仅仅是在IO这块,Java中很多场景都涉及到这个概念,因此这边文章就专门详细写一下字符编码,具体的网上有很多,但本文目的是尽量讲清楚各种编码方式的作用,个人认为,不求、也 阅读全文

posted @ 2021-02-24 17:19 signheart 阅读(178) 评论(0) 推荐(0) 编辑

javaIO:字节流
摘要:流类 Java的流式输入/输出是建立在四个抽象类的基础上的:InputStream、OutputStream、Reader、Writer。它们用来创建具体的流式子类。尽管程序通过具体子类执行输入/输出操作,但顶层类定义了所有流类的基本通用功能。 InputStream和OutputStream为字节 阅读全文

posted @ 2021-02-24 17:18 signheart 阅读(86) 评论(0) 推荐(0) 编辑

javaIO:RandomAccessFile
摘要:RandomAccessFile RandomAccessFile类可以说是Java语言中功能最为丰富的文件访问类,它提供了众多的文件访问方法。RandomAccessFile类支持"随机访问"方式,可以跳转到文件的任意位置处读写数据。要访问一个文件的时候,不想把文件从头读到尾,而是希望像访问一个数 阅读全文

posted @ 2021-02-24 17:17 signheart 阅读(90) 评论(0) 推荐(0) 编辑

javaIO:IO和File
摘要:IO 大多数的应用程序都要与外部设备进行数据交换,最常见的外部设备包含磁盘和网络。IO就是指应用程序对这些设备的数据输入与输出,Java语言定义了许多类专门负责各种方式的输入、输出,这些类都被放在java.io包中。 File类 File类是IO包中唯一代表磁盘文件本身的对象,File类定义了一些与 阅读全文

posted @ 2021-02-24 17:16 signheart 阅读(69) 评论(0) 推荐(0) 编辑

java io 详细代码实现 纪录
摘要:什么是IO流? byte序列的读写,Java中的IO流是实现输入/输出的基础.1)InputStream : 抽象类读取数据的过程 包含读取方法read(); in 模仿了读取小说的过程 简单说 : in是读取文件的 OutputStream:抽象了写出数据的过程 包含写出方法write(); ou 阅读全文

posted @ 2021-02-24 17:15 signheart 阅读(95) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示