君子博学而日参省乎己 则知明而行无过矣

博客园 首页 新随笔 联系 订阅 管理

随笔分类 -  java socket(java nio)&Apache mina&netty

上一页 1 2

摘要:在第一篇中,我们介绍了NIO中的两个核心对象:缓冲区和通道,在谈到缓冲区时,我们说缓冲区对象本质上是一个数组,但它其实是一个特殊的数组,缓冲区对象内置了一些机制,能够跟踪和记录缓冲区的状态变化情况,如果我们使用get()方法从缓冲区获取数据或者使用put()方法把数据写入缓冲区,都会引起缓冲区状态的变化。本文为NIO使用及原理分析的第二篇,将会分析NIO中的Buffer对象。在缓冲区中,最重要的属性有下面三个,它们一起合作完成对缓冲区内部状态的变化跟踪:position:指定了下一个将要被写入或者读取的元素索引,它的值由get()/put()方法自动更新,在新创建一个Buffer对象时,pos 阅读全文
posted @ 2012-10-15 22:58 刺猬的温驯 阅读(351) 评论(0) 推荐(0)

摘要:最近由于工作关系要做一些Java方面的开发,其中最重要的一块就是Java NIO(New I/O),尽管很早以前了解过一些,但并没有认真去看过它的实现原理,也没有机会在工作中使用,这次也好重新研究一下,顺便写点东西,就当是自己学习 Java NIO的笔记了。本文为NIO使用及原理分析的第一篇,将会介绍NIO中几个重要的概念。在Java1.4之前的I/O系统中,提供的都是面向流的I/O系统,系统一次一个字节地处理数据,一个输入流产生一个字节的数据,一个输出流消费一个字节的数据,面向流的I/O速度非常慢,而在Java 1.4中推出了NIO,这是一个面向块的I/O系统,系统以块的方式处理处理,每一个 阅读全文
posted @ 2012-10-15 22:56 刺猬的温驯 阅读(484) 评论(0) 推荐(0)

摘要:转载http://blog.csdn.net/lin_bei/article/details/1067506我想任何一本介绍模式的书在讲到Decorator模式的时候不能不提到它的实际应用--在Java/IO库里面的应用,<<Java与模式>>这本书也不例外,有点不一样的是,这本书在介绍的时候有个专题,是从两个模式来看Java/IO库,完这个专题后,个人感觉对Java/IO库有了全新的认识同时也加深了Decorator模式跟Adapter适配器模式的理解,现和大家分享下这个在我看来很伟大的成果,同时说明下,以下大部分文字跟图片是来自<<Java与模式> 阅读全文
posted @ 2012-10-05 21:59 刺猬的温驯 阅读(256) 评论(0) 推荐(0)

摘要:我将按照基类的顺序:InputStream、OutPutStream、Reader、Writer来分别对Java I/O加以总结。java中的流,简单理解就是管道里有流水,这个管道连接了程序和文件。InputStream、OutPutStream是字节输入流的所有类的超类。Reader、Writer是字符输入流的所有类的超类。Java IO流对象(其实大家都和懂啦,我这里再赘述一下)1.输入字节流InputStreamIO 中输入字节流的继承图可见上图,可以看出:InputStream 是所有的输入字节流的父类,它是一个抽象类。ByteArrayInputStream、StringBuffer 阅读全文
posted @ 2012-10-05 21:39 刺猬的温驯 阅读(250) 评论(0) 推荐(0)

摘要:java中io包运用到了装饰器模式,下面是java中io的类结构图:无论是哪种编程语言,输入跟输出都是重要的一部分,Java也不例外,而且Java将输入/输出的功能和使用范畴做了很大的扩充。它采用了流的机制来实现输入/输出,所谓流,就是数据的有序排列,而流可以是从某个源(称为流源或Source of Stream)出来,到某个目的地(称为流汇或Sink of Stream)去的。由流的方向,可以分成输入流和输出流,一个程序从输入流读取数据向输出流写数据。 如,一个程序可以用FileInputStream类从一个磁盘文件读取数据,如下图所示: 像FileInputStream这样的处理器叫做流. 阅读全文
posted @ 2012-10-05 21:12 刺猬的温驯 阅读(1193) 评论(0) 推荐(0)

摘要:Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架。当前发行的 MINA 版本支持基于 Java NIO 技术的 TCP/... 阅读全文
posted @ 2012-09-16 14:59 刺猬的温驯 阅读(280) 评论(0) 推荐(0)

摘要:转载http://tenyears.iteye.com/blog/40489 格式化处理从JDK1.4开始,Java的标准库中就包含了NIO,即所谓的“New IO”。其中最重要的功能就是提供了“非阻塞”的IO,当然包括了Socket。NonBlocking的IO就是对select(Unix平台下)以及 WaitForMultipleObjects(Windows平台)的封装,提供了高性能、易伸缩的服务架构。说来惭愧,直到JDK1.4才有这种功能,但迟到者不一定没有螃蟹吃,NIO就提供了优秀的面向对象的解决方案,可以很方便地编写高性能的服务器。话说回来,传统的Server/Client实现是基 阅读全文
posted @ 2012-09-15 16:58 刺猬的温驯 阅读(401) 评论(0) 推荐(0)

摘要:事实上网络编程简单的理解就是两台计算机相互通讯数据而已.对于程序员而言,去掌握一种编程接口并使用一种编程模型相对就会显得简单的多了.Java SDK提供一些相对简单的Api来完成这些工作.Socket就是其中之一.对于Java而言.这些Api存在与java.net 这个包里面.因此只要导入这个包就可以准备网络编程了. 网络编程的基本模型就是客户机到服务器模型.简单的说就是两个进程之间相互通讯,然后其中一个必须提供一个固定的位置,而另一个则只需要知道这个固定的位置.并去建立两者之间的联系..然后完成数据的通讯就可以了.这里提供固定位置的通常称为服务器,而建立联系的通常叫做客户端.基于这个简单的模 阅读全文
posted @ 2012-06-14 12:05 刺猬的温驯 阅读(269) 评论(0) 推荐(0)

摘要:Microsoft.Net Framework为应用程序访问Internet提供了分层的、可扩展的以及受管辖的网络服务,其名字空间System.Net和 System.Net.Sockets包含丰富的类可以开发多种网络应用程序。.Net类采用的分层结构允许应用程序在不同的控制级别上访问网络,开发人 员可以根据需要选择针对不同的级别编制程序,这些级别几乎囊括了Internet的所有需要--从socket套接字到普通的请求/响应,更重要的是,这 种分层是可以扩展的,能够适应Internet不断扩展的需要。 抛开ISO/OSI模型的7层构架,单从TCP/IP模型上 的逻辑层面上看,.Net类可以视. 阅读全文
posted @ 2011-06-22 18:33 刺猬的温驯 阅读(1547) 评论(0) 推荐(0)

上一页 1 2