`
裴小星
  • 浏览: 260764 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
8ccf5db2-0d60-335f-a337-3c30d2feabdb
Java NIO翻译
浏览量:27552
F3e939f0-dc16-3d6e-8c0b-3315c810fb91
PureJS开发过程详解
浏览量:71780
07a6d496-dc19-3c71-92cf-92edb5203cef
MongoDB Java ...
浏览量:61921
社区版块
存档分类
最新评论

JAVA NIO 全书 译稿

阅读更多

JAVA NIO 全书 译稿 

 

 

前言 

 

  本书介绍了Java平台上的高级输入/输出,具体点说,就是使用Java 2标准版(J2SE)软件开发包(SDK1.4及以后版本进行的输入/输出。J2SE 1.4版代号Merlin,包含可观的I/O新特性,对此我们将作详细论述。这些新的I/O特性主要包含在java.nio软件包及其子包中,并被命名为New I/ONIO)。通过本书,您将学会如何使用这些令人兴奋的新特性来极大地提升Java应用程序的I/O效率。   

 

 

第一章 简介 

 

  面向对象的程序设计讲的无非就是封装。封装是个好东西:它分解任务,隐藏实施细节,提高对象的重复利用率。这样的分解、整合既适用于程序,也适用于程序员。您没准就是一位技艺高超的Java程序员,创建极其复杂的对象,完成惊世骇俗的任务,而对支撑Java平台的基本I/O概念却几乎一无所知。本章,我们暂且把封装问题抛在一边,先来看看某些底层I/O实施细节,希望有助于你更好地组织协调各个零部件的I/O操作。

   

第二章 缓冲区 

 

  一个Buffer对象是固定数量的数据的容器。其作用是一个存储器,或者分段运输区,在这里数据可被存储并在之后用于检索。缓冲区如我们在第一章所讨论的那样被写满和释放。对于每个非布尔原始数据类型都有一个缓冲区类。尽管缓冲区作用于它们存储的原始数据类型,但缓冲区十分倾向于处理字节。非字节缓冲区可以在后台执行从字节或到字节的转换,这取决于缓冲区是如何创建的。我们将在本章节后面的部分检查缓冲区数据存储的含义。

  缓冲区的工作与通道紧密联系。通道是I/O传输发生时通过的入口,而缓冲区是这些数据传输的来源或目标。对于离开缓冲区的传输,您想传递出去的数据被置于一个缓冲区,被传送到通道。对于传回缓冲区的传输,一个通道将数据放置在您所提供的缓冲区中。这种在协同对象(通常是您所写的对象以及一到多个Channel对象)之间进行的缓冲区数据传递是高效数据处理的关键。通道将在第三章被详细涉及。  

 

第三章 通道 

 

  Channel用于在字节缓冲区和位于通道另一侧的实体(通常是一个文件或套接字)之间有效地传输数据。

  多数情况下,通道与操作系统的文件描述符(File Descriptor)和文件句柄(File Handle)有着一对一的关系。虽然通道比文件描述符更广义,但您将经常使用到的多数通道都是连接到开放的文件描述符的。Channel类提供维持平台独立性所需的抽象过程,不过仍然会模拟现代操作系统本身的I/O性能。

  通道是一种途径,借助该途径,可以用最小的总开销来访问操作系统本身的I/O服务。缓冲区则是通道内部用来发送和接收数据的端点。 

 

第四章 选择器 

 

   选择器(Selector)提供选择执行已经就绪的任务的能力,这使得多元I/O成为可能。就像在第一章中描述的那样,就绪选择和多元执行使得单线程能够有效率地同时管理多个I/O通道(channels)。

  有时我们需要采用快速检查大量资源中的任意一个是否需要关注,而在某些东西没有准备好时又不必被迫等待的通用模式。这种检查并继续的能力是可扩展性的关键,它使得仅仅使用单一的线程就可以通过就绪选择来监控大量的通道。
  选择器及相关的类就提供了这种 API,使得我们可以在通道上进行就绪选择。
 

 

第五章 正则表达式  

 

  本章我们将讨论新的程序包java.util.regex(见图5-1)中类的API(译注10)。JSR51,即Java规范请求(Java Specification Request),定义了新的I/O权能,它还明确了添加到Java平台上的正则表达式处理技术。尽管严格说来正则表达式并不是I/O,但是它们最常用于浏览从文件或数据流(stream)中读取的文本数据。

  Perl、egrep和其它文本处理工具有着功能强大的模式匹配(pattern matching),本章中你将学会如何使用新的Java API达到相同的模式匹配效果。  

 

第六章 字符集 

 

  在Java平台上,我们经常需要处理多种语言以及组成这些语言的多个字符。幸运的是,Java是第一个被广泛使用的编程语言,它使用内在的Unicode来表示字符。与以字节为导向的编程语言例如C或C++相比,Unicode的固有支持大大的简化了字符数据处理,但决不是自动地处理字符。您仍需要理解字符映射的工作原理以及如何处理多个字符集。 

 

 

  欢迎批评指正、探讨交流。

80
7
分享到:
评论
75 楼 DragonKiiiiiiiing 2016-04-13  
支持楼主,中国互联网太缺这种无私奉献的人了。您的这本书我已拜读,翻译的很不错,通俗易懂,专业性强但是某些时候还不缺反娱乐性语句,让人读起来很愉悦!
以后如果我掌握一定程度的专业知识,我觉得我也需要时常翻译或者写一些有深度文章。
74 楼 cfanllm 2014-05-18  
楼主辛苦了,,,谢谢分享啊
73 楼 join_wu 2014-03-13  
楼主 下载了 感谢
72 楼 BabyDuncan 2013-10-21  
确实挺牛逼
71 楼 aiquestion 2012-10-27  
大赞lz,之前只在网上找到过英文版的,英文的看的效率太低了。
70 楼 yangb2008 2012-08-12  
太棒了,我正找此类书籍,翻译的水平真棒,
69 楼 mifi_cheung 2012-07-04  
必须赞,楼主好人
68 楼 fengpy2009 2012-06-11  
67 楼 步青龙 2012-05-03  
谢楼主,感激不尽!
66 楼 sodmewuhan 2012-04-13  
LZ是好人
65 楼 jude_cn 2012-04-06  
正好需要!
64 楼 messon619 2012-03-20  
lz大哥真是好人啊,自己花大精力和时间去做翻译工作,还免费供大家下载学习!
63 楼 washheart163.com 2012-01-11  
踏实做事,成功做人
62 楼 mifi_cheung 2011-12-25  
顶啊,谢谢
61 楼 lynnkong 2011-12-19  
这年头肯花时间做好事的人越来越少咯
60 楼 zhfally520 2011-11-02  
楼主 太牛逼了
59 楼 cai555 2011-09-14  
帅呆了
58 楼 shujin 2011-09-07  
楼主辛苦了,楼主威武!
57 楼 forchase 2011-08-29  
LZ真是好人呀,不知道翻译这么多内容要花多少时间?
56 楼 zuchunlei2010 2011-08-25  
非常感谢,LZ真牛!

相关推荐

    java NIO和java并发编程的书籍

    java NIO和java并发编程的书籍java NIO和java并发编程的书籍java NIO和java并发编程的书籍java NIO和java并发编程的书籍java NIO和java并发编程的书籍java NIO和java并发编程的书籍java NIO和java并发编程的书籍java...

    JavaNIO chm帮助文档

    Java NIO系列教程(一) Java NIO 概述 Java NIO系列教程(二) Channel Java NIO系列教程(三) Buffer Java NIO系列教程(四) Scatter/Gather Java NIO系列教程(五) 通道之间的数据传输 Java NIO系列教程(六)...

    java nio 包读取超大数据文件

    Java nio 超大数据文件 超大数据文件Java nio 超大数据文件 超大数据文件Java nio 超大数据文件 超大数据文件Java nio 超大数据文件 超大数据文件Java nio 超大数据文件 超大数据文件Java nio 超大数据文件 超大数据...

    Java NIO英文高清原版

    Java NIO英文高清原版

    java NIO 中文版

    讲解了 JavaIO 与 JAVA NIO区别,JAVA NIO设计理念,以及JDK中java NIO中语法的使用

    Java NIO 中文 Java NIO 中文 Java NIO 中文文档

    Java NIO 深入探讨了 1.4 版的 I/O 新特性,并告诉您如何使用这些特性来极大地提升您所写的 Java 代码的执行效率。这本小册子就程序员所面临的有代表性的 I/O 问题作了详尽阐述,并讲解了 如何才能充分利用新的 I/O ...

    java NIO 视频教程

    Java NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始),Java NIO提供了与标准IO不同的IO工作方式。 Java NIO: Channels and Buffers(通道和缓冲区) 标准的IO基于字节流和字符流进行操作的,...

    java nio 实现socket

    java nio 实现socketjava nio 实现socketjava nio 实现socketjava nio 实现socketjava nio 实现socket

    java nio中文版

    java NIO是 java New IO 的简称,在 jdk1.4 里提供的新 api 。 Sun 官方标榜的特性如下: – 为所有的原始类型提供 (Buffer) 缓存支持。 – 字符集编码解码解决方案。 – Channel :一个新的原始 I/O 抽象。 – 支持...

    Java Nio selector例程

    java侧起server(NioUdpServer1.java),基于Java Nio的selector 阻塞等候,一个android app(NioUdpClient1文件夹)和一个java程序(UI.java)作为两个client分别向该server发数据,server收到后分别打印收到的消息...

    基于Java NIO实现五子棋游戏.zip

    基于Java NIO实现五子棋游戏.zip基于Java NIO实现五子棋游戏.zip 基于Java NIO实现五子棋游戏.zip基于Java NIO实现五子棋游戏.zip 基于Java NIO实现五子棋游戏.zip基于Java NIO实现五子棋游戏.zip 基于Java NIO实现...

    java NIO技巧及原理

    java NIO技巧及原理解析,java IO原理,NIO框架分析,性能比较

    java NIO.zip

    java NIO.zip

    java基于NIO实现Reactor模型源码.zip

    java基于NIO实现Reactor模型源码java基于NIO实现Reactor模型源码java基于NIO实现Reactor模型源码java基于NIO实现Reactor模型源码java基于NIO实现Reactor模型源码java基于NIO实现Reactor模型源码java基于NIO实现...

    java nio 读文件

    java nio 读文件,java nio 读文件

    JAVA NIO 学习资料

    JAVA NIO学习资料JAVA NIO学习资料

    java nio入门学习,两个pdf

    java nio入门学习,两个pdfjava nio入门学习,两个pdf

    Java NIO实战开发多人聊天室

    01-Java NIO-课程简介.mp4 05-Java NIO-Channel-FileChannel详解(一).mp4 06-Java NIO-Channel-FileChannel详解(二).mp4 08-Java NIO-Channel-ServerSocketChannel.mp4 09-Java NIO-Channel-SocketChannel.mp4 ...

    Java NIO测试示例

    Java NIO测试示例

Global site tag (gtag.js) - Google Analytics