个人简介

Echo Blog


江湖无名 安心练剑
  • Java NIO-04-Channel
    Channel vs 流 Java NIO Channel通道和流非常相似,主要有以下几点区别: 通道可以读也可以写,流一般来说是单向的(只能读或者写)。 通道可以异步读写。 通道总是基于缓冲区Buffer来读写。 实现 Channel 的实现(Channel Implementations) 下面列出Java NI...
    2018-09-22 04:20:47 | Java
  • Java NIO-03-Charsets
    Standard charsets Java 暂时支持如下的标准编码 US-ASCII: 7位ASCII字符。 ISO-8859-1: ISO拉丁字母 UTF-8:这是8位UCS转换格式。 UTF-16BE:这是16位UCS转换格式,字节顺序大 UTF-16LE:这是16位UCS变换,以字节顺...
    2018-09-22 03:20:47 | Java
  • Java NIO-02-Path/Files
    Path 我接触到 nio,最先的应用就是 Path 这个类。 最直观的感觉就是 api 设计的很优雅(相对于传统的 File)。 Path 类 Java的path接口是作为Java NIO 2的一部分是Java6,7中NIO的升级增加部分。 Path在Java 7新增的。 相关接口位于java.nio.file包下,所以Javaz内Path接口的完整名称是 java.nio.f...
    2018-09-22 01:20:47 | Java
  • Java NIO-01-Overview
    NIO 是什么 Java NIO是java 1.4之后新出的一套IO接口,这里的的新是相对于原有标准的Java IO和Java Networking接口。NIO提供了一种完全不同的操作方式。 作用 Java NIO使我们可以进行非阻塞IO操作。 比如说,单线程中从通道读取数据到buffer,同时可以继续做别的事情,当数据读取到buffer中后,线程再继续处理数据。写数据也是一样的。...
    2018-09-22 01:18:47 | Java
  • Java IO-09-文件内存泄漏 memory leak
    什么是内存泄露 定义:当生命周期长的实例 L 不合理地持有一个生命周期短的实例 S,导致 S 实例无法被正常回收 代码例子 public class AppSettings { private Context mAppContext; private static AppSettings sInstance = new AppSettings(); //som...
    2018-09-21 09:36:38 | Java
  • Java IO-08-MMAP 内存映射 Channel
    需求 通道是 Java NIO 的核心内容之一,在使用上,通道需和缓存类(ByteBuffer)配合完成读写等操作。 与传统的流式 IO 中数据单向流动不同,通道中的数据可以双向流动。 通道既可以读,也可以写。 这里我们举个例子说明一下,我们可以把通道看做水管,把缓存看做水塔,把文件看做水库,把水看做数据。 当从磁盘中将文件数据读取到缓存中时,就是从水库向水塔里抽水。 当然,从磁...
    2018-09-21 09:36:38 | Java
  • Java IO-07-RandomAccessFile
    RandomAccessFile 特点 RandomAccessFile 是 java Io 体系中功能最丰富的文件内容访问类。 即可以读取文件内容,也可以向文件中写入内容。但是和其他输入/输入流不同的是,程序可以直接跳到文件的任意位置来读写数据。 因为RandomAccessFile 可以自由访问文件的任意位置,所以如果我们希望只访问文件的部分内容,那就可以使用RandomAcces...
    2018-09-21 09:36:38 | Java
  • Java IO-06-异常处理
    异常处理 错误实例 InputStream input = new FileInputStream("c:\\data\\input-text.txt"); int data = input.read(); while(data != -1) { //do something with data... doSomethingWithData(data); ...
    2018-09-21 09:36:38 | Java