最新文章列表

【Do家】一个Java进程到底如何占用物理内存?

1、首先,通过Linux监控一个Java进程,关注VmRSS指标,如下: cat /proc/<pid>/status |grep Vm # cat /proc/87/status |grep Vm VmPeak: 10864592 kB VmSize: 10534320 kB VmLck: 0 kB VmPin: 0 kB VmHWM: ...
can_do 评论(0) 有961人浏览 2021-02-23 20:27

高性能 IO 设计 Reactor 模式

传统的服务器设计是:一连接一处理线程,也就是我们常说的 BIO 编程。BIO 在读取和发送时是阻塞的,在请求的整个生命周期内,不管有没有数据可读或待发送,都绑定和占用了这个处理线程。 BIO 多线程并发模式,一个连接一个线程的优点是:   一定程度上极大地提高了服务器的吞吐量,因为之前的请求在read阻塞以后,不会影响到后续的请求,因为他们在不同的线程中。这也是为什么通常会讲“一个线程只能对应一个 ...
NIO 
maosheng 评论(0) 有393人浏览 2020-04-11 08:40

Java基础之:nio

一、理论讲解: 史上最强Java NIO入门:担心从入门到放弃的,请读这篇! https://www.cnblogs.com/imstudy/p/11108085.html 二、代码实战: Java NIO?看这一篇就够了! https://mp.weixin.qq.com/s/c9tkrokcDQR375kiwCeV9w
Lixh1986 评论(0) 有500人浏览 2019-11-13 15:38

Netty实战系列教程_三套全_含源码_4.x版本

Netty是 一个异步事件驱动的网络应用程序框架, 用于快速开发可维护的高性能协议服务器和客户端。 Netty是一个NIO客户端服务器框架,可以快速轻松地 ...
nettyjc 评论(0) 有382人浏览 2019-08-24 18:32

Java网络通信基础-BIO

  分享一下关于Java网络通讯方面的内容. 下载地址:https://github.com/mldn/echo   Java基础知识:BIO、NIO、AIO三者的技术实现,以及彼此之间的区别   Netty:TCP 程序实现为主,代码的核心:Echo程序模型,通过网络实现一个基础的Echo。 一.BIO模型   同步阻塞IO处理   在程序的开发之中Java里面最小的处理单元就是线程 ...
bijian1013 评论(0) 有728人浏览 2019-06-08 10:36

NIO前世今生

发展: BIO -> NIO -> AIO BIO就是我们传统意义上的IO,它的特点是阻塞的。例如以前我们进行网络编程时,一个客户端使用一个线程来进行处理。这样会导致一个问题:服务器的线程数是有限制的,而不是每个客户端时时都有数据进行传输的。所以大量空的线程占了位置,但是又不工作,导致服务器的性能受限。 这会涉及到4次上下文切换和4次拷贝。 第一次切换:从用户态切换到内核态,将数 ...
一剪梅 评论(0) 有1020人浏览 2019-03-11 13:43

【Java NIO 简例】AsynchronousFileChannel

原文:《Java NIO AsynchronousFileChannel》 AsynchronousFileChannel 使得异步读写文件成为可能。此教程将解释如何使用该类。   创建一个 AsynchronousFileChannel 可通过 AsynchronousFileChannel.open() 方法创建实例: Path path = Paths.get("C ...
nio 
草料场 评论(0) 有544人浏览 2019-03-03 22:30

【Java NIO 简例】Files

原文:《Java NIO Files》 Java NIO 的 Files 类(java.nio.file.Files)提供了多个方法用于操纵文件系统中的文件。此教程包含这些方法中最常用的几个。Files类 ...
nio 
草料场 评论(0) 有538人浏览 2019-03-03 20:02

【Java NIO 简例】Path

原文:《Java NIO Path》 Java NIO Path 接口是 NIO 2 更新的一部分。其全称为 java.nio.file.Path。   一个 Path 实例表示文件系统中的一个路径(path)。path 可以 ...
nio 
草料场 评论(0) 有545人浏览 2019-03-01 18:47

【Java NIO 简例】NIO vs IO

原文:《Java NIO vs. IO》 当学习Java NIO 和 IO 的API时,很快会遇到一个问题: 什么时候用IO,什么时候用NIO? 我会尝试在本文提供一些关于Java NIO 与 IO ...
nio 
草料场 评论(0) 有423人浏览 2019-02-26 23:38

介绍服务端 Netty 的工作架构图

服务端 Netty 的工作架构图:    
robustwang 评论(0) 有731人浏览 2019-02-22 17:15

【Java NIO 简例】Pipe

原文:《Java NIO Pipe》 Java NIO 的 Pipe 是一个线程间的单向数据连接。一个Pipe有一个 source channel 和 一个 sink channel。你可以向 sink channel 写入数据。这些数据可以从 source channel 中被读出。 简化结构如下:   创建Pipe Pipe pipe = Pipe.open();   ...
nio 
草料场 评论(0) 有489人浏览 2019-02-15 17:00

【Java NIO 简例】DatagramChannel

原文:《Java NIO  DatagramChannel》 DatagramChannel是可以发送与接收UDP数据包的channel。因为UDP是无连接的网络协议,所以你不能像操作其它channel那样对其读写。你需要发送或接收数据包。   开启DatagramChannel DatagramChannel channel = DatagramChannel.open(); c ...
nio 
草料场 评论(0) 有392人浏览 2019-02-15 16:31

【Java NIO 简例】非阻塞服务端

原文:《Java NIO: Non-blocking Server》 GitHub 上的实例代码 https://github.com/jjenkov/java-nio-server   非阻塞IO管道 非阻塞IO管道是一系列组件的链接。简化结 ...
nio 
草料场 评论(0) 有462人浏览 2019-02-15 15:36

【Java NIO 简例】ServerSocketChannel

原文:《Java NIO ServerSocketChannel》 Java NIO 中的 ServerSocketChannel 用于在TCP通信中监听来自客户端的连接。   开启 ServerSocketChannel ServerSocketChannel channel = ServerSocketChannel.open();   关闭 ServerSocket ...
nio 
草料场 评论(0) 有464人浏览 2019-02-13 16:32

【Java NIO 简例】SocketChannel

原文:《Java NIO SocketChannel》 Java NIO 中的 SocketChannel 用于处理 TCP 网络连接。   开启 SocketChannel 示例:连接远程服务器 SocketChannel channel = SocketChannel.open(); channel.connect(new InetSocketAddress("ab ...
nio 
草料场 评论(0) 有405人浏览 2019-02-13 16:06

【Java NIO 简例】FileChannel

注:利用 FileChannel.transferTo 和 FileChannel.transferFrom 方法可以更高效地读写文件。 (《FileChannel 数据传输》)   原文:《Java NIO FileChannel》 Java NIO 中的 FileChannel 可用于读写文件。FileChannel 总是以 阻塞 模式运行,不支持非阻塞模式。   开启 File ...
nio 
草料场 评论(0) 有655人浏览 2019-02-13 14:50

【Java NIO 简例】Selector

原文:《Java NIO Selector》 Selector 可以检查多个 Channel 实例,发现那些已经就绪,可以读/写的 Channel。通过这个机制,可以实现 单线程处理多个Channel,从而处理多个网络连接。   为什么要使用 Selector ? 对操作系统来说,线程之间的切换代价较高,而且每个线程都会占用一些内存资源。所以线程越少越好。而利用Select可以实现只 ...
nio 
草料场 评论(0) 有513人浏览 2019-02-12 17:23

5 种 I/O 模型总结

  5 种 I/O 模型总结
robustwang 评论(0) 有447人浏览 2019-02-12 15:28

【Java NIO 简例】FileChannel 数据传输

原文:《Java NIO Channel to Channel Transfers》   FileChannel 的 transferFrom 和 transferTo 方法可以方便地将数据传入 FileChannel(写文件)或 读取 FileChannel 中的数据(读文件) 这两个方法比简单的 循环 读取-写入 更高效。因为许多操作系统能直接将 源Channel 中的数据传输到 文件 ...
nio 
草料场 评论(0) 有653人浏览 2019-01-31 10:29

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics