最新文章列表

Java I/O 操作及优化建议(I/O,NIO,AIO)

I/O:文件和网路流都是同步阻塞方式 NIO:同步阻塞方式操作文件,同步非阻塞方式操作网路流 AIO:文件和网路流都可异步非阻塞方式操作,也可同步非阻塞方试操作 原文出处: IBM - 周明耀 Java I/O I/O,即 Input/Output(输入/输出) 的简称。就 I/O 而言,概念上有 5 种模型:blocking I/O,nonblocking I/O,I/O mult ...
langgufu 评论(0) 有3893人浏览 2016-04-06 16:27

几个I/O模型的功能和特性对比

BIO:Block IO 传统的阻塞模型(ServerSocket/Socket),一个客户端对应一个I/O线程,为同步I/O,使用简单,可靠性非常差,吞吐量低。 伪异步I/O:线程池+阻塞队列。为同步I/O,使用简单,可靠性差,吞吐量中。 非阻塞I/O(NIO):M:1(一个客户端线程(反应器)处理多个客户端连接,然后在调用业务线程进行处理操作,多路复用器轮询可读写数据,执行业务操作,线程池大 ...
飞翔神话 评论(0) 有554人浏览 2016-03-27 19:52

netty学习总结

netty学习总结一、前言    原本高性能的server一般是用c写的,后来java提供了nio aio,所以现在用java来写也算是个可行的方案。二、高性能server要解决的问题    1、异步socket    2、异步IO    3、多协议支持(传输层之上)    4、减少内存碎片    5、减少锁的影响    ……三、netty的解决方案    1、使用java的nio,最好是aio(内 ...
eric_weitm 评论(0) 有1472人浏览 2016-03-12 18:49

Java NIO and IO

Java NIO vs. IO http://tutorials.jenkov.com/java-nio/nio-vs-io.html 翻译的中文版 http://ifeve.com/java-nio-vs-io/ NIO与传统IO的区别 http://blog.csdn.net/zhouhl_cn/article/details/6568119 作者:海子 出处:http://www.cn ...
darrenzhu 评论(0) 有681人浏览 2016-03-04 10:36

netty3.0的服务端及客户端的搭建

  不喜欢写描述什么的,基本上使用步骤,注意事项都在代码注释中标明了,而相关的内容网上有很多,比自己的理解更好,所以自己对某个知识点的理解则都写在了为知笔记中。 1、服务端的编写 package com.netty.helloserver; import java.net.InetSocketAddress; import java.util.concurrent.ExecutorS ...
MoonMonster 评论(1) 有2701人浏览 2016-02-24 21:58

Java序列化的几种方式

1.自己定义方法 优点:不同预先设置缓存大小  缺点:不方便阅读,以及编写   package com.chalmers.change; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.A ...
MoonMonster 评论(0) 有2081人浏览 2016-02-24 21:46

Java NIO使用及原理分析(三)

在上一篇文章中介绍了缓冲区内部对于状态变化的跟踪机制,而对于NIO中缓冲区来说,还有很多的内容值的学习,如缓冲区的分片与数据共享,只读缓冲区等。在本文中我们来看一下缓冲区一些更细节的内容。 缓冲区的分配 在前面的几个例子中,我们已经看过了,在创建一个缓冲区对象时,会调用静态方法allocate()来指定缓冲区的容量,其实调用 allocate()相当于创建了一个指定大小的数组,并把它包装为缓冲区对 ...
飞翔神话 评论(0) 有641人浏览 2016-02-23 22:56

Java NIO使用及原理分析(二)

在第一篇中,我们介绍了NIO中的两个核心对象:缓冲区和通道,在谈到缓冲区时,我们说缓冲区对象本质上是一个数组,但它其实是一个特殊的数组,缓冲区对象内置了一些机制,能够跟踪和记录缓冲区的状态变化情况,如果我们使用get()方法从缓冲区获取数据或者使用put()方法把数据写入缓冲区,都会引起缓冲区状态的变化。本文为NIO使用及原理分析的第二篇,将会分析NIO中的Buffer对象。 在缓冲区中,最重要的属 ...
飞翔神话 评论(0) 有565人浏览 2016-02-23 22:24

反应器(Reactor)模式

概述 Java NIO非堵塞技术实际是采取反应器模式,或者说是观察者(observer)模式为我们监察I/O端口,如果有内容进来,会自动通知我们,这样,我们就不必开启多个线程死等,从外界看,实现了流畅的I/O读写,不堵塞了。 同步和异步的区别:有无通知(是否轮询) 阻塞与非阻塞的区别:操作结果是否等待(是否马上有返回值),只是设计方式的不同 NIO 有一个主要的类Selector,这个类似一个观 ...
飞翔神话 评论(0) 有581人浏览 2016-02-22 22:24

Reactor模式和NIO

        本文可看成是对Doug Lea Scalable IO in Java一文的翻译。         当前分布式计算Web Services盛行天下,这些网络服务的底层都离不开对socket的操作。他们都有一个共同的结构:         1.Read request         2.Decode request         3.Process service   ...
bijian1013 评论(0) 有3235人浏览 2016-02-21 15:30

Mina解析(二)

4.NIO 基础知识         Java NIO(new IO)是JDK1.4引入的非阻塞IO机制,具体它如何的好,我就不说啦,百度一下看看就了解啦。         Java NIO引入了两个 ...
bijian1013 评论(0) 有1179人浏览 2016-02-21 00:08

Mina基础(三)

        自定义协议编解码,自定义协议是使用最广泛的,因为它非常的灵活! 制定协议         协议需求:向服务端发送请求(频道的ID和说明文字),返回响应结果(该频道下所有的节目信息)。         协议格式如下:         请求格式 Syntax No. of Bits Identifier _ description ...
bijian1013 评论(0) 有1023人浏览 2016-02-20 22:54

Mina基础(二)

        Mina基础(一)中的简单实例,虽然实现了根据\r\n换行符编解码的功能,但是却存在以下问题:         a.编解码器中编码类型Charset硬编码, ...
bijian1013 评论(0) 有1273人浏览 2016-02-20 22:53

Java NIO原理及分析

前言:       最近由于公司项目重构,需要用SOA分布式架构。在这里我采用的是比较轻量级的ZBUS总线来实现。而使用ZBUS总线最关键的就是底层socket通 ...
cgperfect 评论(0) 有2571人浏览 2016-01-25 11:43

Java NIO使用及原理分析 (一)

转载自:李会军•宁静致远   最近由于工作关系要做一些Java方面的开发,其中最重要的一块就是Java NIO(New I/O),尽管很早以前了解过一些,但并没有认真去看过它的实现原理,也没有机会在工作中使用,这次也好重新研究一下,顺便写点东西,就当是自己学习 Java NIO的笔记了。本文为NIO使用及原理分析的第一篇,将会介绍NIO中几个重要的概念。 在Java1.4之前的I/O系统中, ...
h140465 评论(0) 有681人浏览 2016-01-14 10:48

JAVA NIO 之二

引用 继上节利用JAVA NIO实现简单数据传,本节实现自定义对象传输,为了实现接收方构建完整对象,自定义对象实现Serializable接口,以便完成对象序列化与反序化。 下一节我们将采用线程池来管理读写,期待... import java.io.Serializable; /** * 传输对象,利用ObjectOutputStream、ObjectInputStream ...
yangyangmyself 评论(0) 有2010人浏览 2016-01-14 00:35

NIO 入门[转载]

http://www.ibm.com/developerworks/cn/education/java/j-nio/ 在开始之前 关于本教程 新的输入/输出 (NIO) 库是在 JDK 1.4 中引入的。NIO 弥补了原来的 I/O 的不足,它在标准 Java 代码中提供了高速的、面向块的 I/O。通过定义包含数据的类,以及通过以块的形式处理这些数据,NIO 不用使用本机代码就可以利用低级优 ...
nio 
CurrentJ 评论(0) 有600人浏览 2016-01-13 13:00

最近博客热门TAG

Java(141746) 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