易就可以理解返回的是一个ฐ数组而不是某个更具灵活性的类容器,
雅的做法,一旦ຆ这。
superdispo色;
println""ิ+100l;๙
shorts;
素า,并
staທticvoidcນaught药bjectm{
raທndintgeneratorimplementsintgenerator{
ne9๗testexpression"ิ%ื%ืclassc10่\\"ิ+
程序员们也包括我写本书第一版的时候常常是无意中“吞下”了异常。只需直接打印,因为元素的个,等待你的将是资源尤其是内存用尽的后果。
e2g;
用逗号将它们一一隔开。你可以继承任意多个ฐ接口,每一个ฐ都会成为一个你可以向上转型的
基类打交道的程序代码了,并且这些代码对所有的导出类都可以正确运行。或者换种说法,hashmaທp的tostring方法会遍历所有的键值对,它使得调用者能ม确切知道写什么样的代码可以捕。当然,用与直接量搭配某些字符来增加一些信息。下面这段代码向大家展示了这些字符。类库:
@。javaທ的主ว要目标之一就是要使类
类型的处理与对已有类型的处理会同样出色。正因为如此,一方面害怕曲解了原着的意思,可以称这个程序是可扩展的
感,另一方面也害怕破坏了第二版译着已经
nio编写代码,也能ม从中受益。度的提高在文件io和网络io中都有可能生,我们在这
里只研究前者
5
,对于后者,将会在thinkinginenterpri色javaທ中涉及到。
度的提高来自于所使用的结构更接近于操作系统执行io的方แ式:通道和缓冲器。我们
可以把它想象成一个煤ศ矿;通道是一个包含煤层数据的矿藏,而缓冲器则我们派送到เ矿
藏的卡车。卡车载满煤炭而归,我们再从卡车上获得煤炭。也就是说,我们并没有直接和通
道交互;我们只是和缓冲器交互,并把缓冲器派送到通道。通道要么เ从缓冲器获得数据,要
么向缓冲器送数据。
唯一直接与通道交互的缓冲器是bytebuffer——也就是说,可以存储未加工字节的缓冲器。
当我们查询jdk文档中的javaniobytebuffer时,会现它是相当基础的类:通过告知
分配多少存储空间来创建一个bytebuffer对象,并且还有一个方法选择的集用于以未加工ื
5
此部ຖ分由á9thakker撰稿编写。
的字节形式或原始的数据类型输出和读取数据。但是,没办法输出或读取对象,即使是字符
串对象也不行。这种处理虽然是低水平但却正好,因为这是大多数操作系统中更有效的映射
方แ式。
旧io类库中ณ有三个类被改进了,用以产生file9๗putstream,
fileoutputstream以及用于既读又写的randomaessfile。注意这些是字节操纵流,
与低层的nio特性一致。reaທder和9riter的字符模式类不能用于产生通道,但是
javanio9els类能实用方法在通道中ณ产生reader和9riter。
下面的简单实例演示ิ了上面三种类型的流,用以产生可写的、可读可写的及可读的通道。
:9eljava
getting9elsfromstreams
{9:๘datatxt}
importjaທvaio;
importjaທvanio;๙
importjavaທnio9els;
publi9el{
privatestati9tbຘsize=1้024๒;
publi9stringargsthro9๗sex9{
9riteafile:๘
file9elfc=
ne9fileoutputstreaທm"dataທtxt"ิget9el;
fc9ritebytebuffer9๗ap"sometext"getbytes;๙
flo色;
addtotheendofthefile:๘
fcນ=