![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java IO
潘建南
这个作者很懒,什么都没留下…
展开
-
Java 字节流与字符流的区别
字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢? 实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件,如图12-6所示。 下面以两个写文件的操作为主进行比较,但是在操作时字节流和字符流的操作完成之后都不关闭输出流。 范例:使用字节流不关闭执行 Java代码转载 2016-12-25 10:29:13 · 260 阅读 · 0 评论 -
深入分析 Java I/O 的工作机制
转自:https://www.ibm.com/developerworks/cn/java/j-lo-javaio/ Java 的 I/O 类库的基本架构 I/O 问题是任何编程语言都无法回避的问题,可以说 I/O 问题是整个人机交互的核心问题,因为 I/O 是机器获取和交换信息的主要渠道。在当今这个数据大爆炸时代,I/O 问题尤其突出,很容易成为一个性能瓶颈。正因如此,所以 Java 在 I...转载 2019-01-02 14:22:15 · 201 阅读 · 0 评论 -
读Socket流时产生阻塞的解决方案(粘包拆包问题)
转自:https://www.cnblogs.com/qhyuan1992/p/5385289.html 其实最终讨论的是TCP通信过程中的粘包拆包(半包)问题。 在用socket写一个服务器时遇到了问题于是将主要的问题抽了出来,代码如下,由于代码很简单于是也没有注释。 public class Main { private static ServerSocket serverSo...转载 2019-01-08 21:38:42 · 1775 阅读 · 0 评论 -
Linux下I/O多路复用系统调用(select, poll, epoll)介绍
转自:https://zhuanlan.zhihu.com/p/22834126 1. 概念引入 I/O多路复用(multiplexing)的本质是通过一种机制(系统内核缓冲I/O数据),让单个进程可以监视多个文件描述符,一旦某个描述符就绪(一般是读就绪或写就绪),能够通知程序进行相应的读写操作。 Linux中基于socket的通信本质也是一种I/O,使用socket()函数创建的套接字默认...转载 2019-01-11 18:16:25 · 2615 阅读 · 0 评论 -
Java NIO开发需要注意的坑
转自:https://www.cnblogs.com/pingh/p/3224990.html 陷阱1:处理事件忘记移除key 在select返回值大于0的情况下,循环处理。 Selector.selectedKeys集合,每处理一个必须从Set中移除。 Iterator<SelectionKey> it = set.iterator(); While(it.hasNe...转载 2019-01-15 17:10:56 · 1559 阅读 · 0 评论 -
如何用Netty实现一个简单HTTP服务器
本文代码基于netty 4.1版本。 既然你搜到这篇文章了,说明对netty有所了解了,不废话直接上例子,基本上根据netty官网DEMO修改而成。 HttpServer public class HttpServer { private int port; public HttpServer(int port) { this.port = port; ...原创 2019-01-15 23:28:09 · 2946 阅读 · 0 评论