通道(Channel)是java.nio的第二个主要创新。它们既不是一个扩展也不是一个增强,而是全新、极好的Java I/O示例,提供与I/O服务的直接连接。Channel用于在字节缓冲区和位于通道另一侧的实例之间有效地传输数据。通道是一种途径,借助该途径,可以用最小的总开销来访问操作系统本身的I/O服务。缓冲区则是通道内部用来发送和接受数据的端点,也可以说是数据的载体。
Java NIO之【缓冲区】
平时写业务代码不一定会直接涉及到底层IO的使用,但是作为一个有点思想的码农,就算用不到,至少也应该知道。所以准备系统地学习下Java NIO,为日后看框架源码打下点基础。本系列博客学习的依据是前人翻译的《Java NIO》中文版,网友对该书褒贬不一,可能各个人群的需求不一样,确实重口难调。但是,没有经历过,怎么知道对自己是否合适。废话不多说了,摆好姿势,开始学习了。先建个项目,用于存放测试用力,本人的项目位于Github。
尝试ZeorC-ICE之【从还未入门到放弃】
本想看看这传说中的老牌RPC产品到底好在哪里,但是看到后面,这一堆的属性配置,尤其是大篇幅的xml配置,实在是难以下咽。所以想了几天还是决定放弃了。这个系列的博客就不删了,就当是留个念想吧。
尝试ZeorC ICE之【在线预定图书项目(二)】
本章节继续借助在线预定图书项目来学习Ice。
实现客户端调用
客户端的写法和之前ice_better_hello中Client的写法基本一样,,测试的时候先把IceBox启动,然后直接跑Client的main方法就可以了,代码虽简单,这里也贴一下,以后这么简单的代码就不展示了:
尝试ZeorC ICE之【在线预定图书项目(一)】
从本章开始,我们以《ZeroC Ice权威指南》中提供的在线预定图书为例,来深入学习Ice的使用。
RPC调用详解
首先还是新建个项目ice_book,步骤就不说了,已经建过两个项目了,有经验了。在slice文件夹中新建Service.ice文件: