ByteArrayOutputStream baos = new ByteArrayOutputStream();
建立了输出流对象baos,它有一个byte数组型的缓冲区buf用于存储数据。所谓“数据是写入内存中一个byte数组”就是说的这个buf了。DataOutputStream dos = new DataOutputStream(baos);
用DataOutputStream来包装ByteArrayOutputStream,以便可以输出基本数据类型之类的。
下面两句 writeDouble 和 writeBoolean就是将一个随机double值以及一个boolean true写入内存中的byte数组buf。
后面再建立一个ByteArrayInputStream,而且是使用baos.toByteArray作为构造方法参数,这样就建立了一个输入流,其来源是内存中一个byte数组(数组的内容和buf一样但不是同一个)
再包装一层DataInputStream,然后读取double和boolean,实际是从内存中的byte数组读取值。