摘要: 个人感觉通道就像传送带一样,这边把数据包装一下里往带子上一放,另一头就收到了,在这个例子中,包装就是数据扔到Buffer中得过程,传送的载体就是Channel。 基础 Channel接口就俩操作isOpen()查看状态,close()关闭。 通道分两大类,文件通道和Socket通道,后者有相关的工厂方法(open),前者只能通过RandomAccessFile,FileInputStream和... 阅读全文
posted @ 2012-08-22 13:14 Cratical 阅读(1228) 评论(0) 推荐(0)
摘要: 缓冲区基础 缓冲区说白了就是一个包装后的数组,有一组API,有一些公共和私有的属性 任何缓冲区都有下面的属性: 容量(capacity),缓冲区大小限制(limit),第一个不应被读取或写入的字节的索引,总是小于容量。位置(position),下一个被读取或写入的字节的索引,总是小于限制。 标记(mark),一个备忘位置,调用mark()来设定mark=position 四个属性遵循0<=mar... 阅读全文
posted @ 2012-08-22 10:44 Cratical 阅读(423) 评论(0) 推荐(0)
摘要: 堆溢出 会出现java.lang.OutOfMemoryError,紧接着还会跟一条Java heap space,at… 先通过内存映像分析工具堆dump出来的堆快照分析,分清楚是内存泄漏还是内存溢出 对于内存泄漏,查一下GC Roots的引用链,掌握泄露对象的类型信息及GC Roots引用链的信息,定位出问题的地方 对于内存溢出,看看-Xms和-Xmx,看看能不能调大,从代码上检查是否有些对... 阅读全文
posted @ 2012-08-22 09:34 Cratical 阅读(3020) 评论(0) 推荐(0)