io
小炫剑指大厂
主要为应届生提供校招或者实习的经验,以及技术博文。
欢迎关注公众号:小炫剑指大厂
展开
-
为什么io关掉前要用flush
flush就是把缓冲区的东西向目标进行读和写。有人肯定会问,那我直接close不行吗?不行!假如你的缓冲区大小是15kb,而你刚刚好传了15kb过去,那就没问题,但如果你传了20kb。那你就只传了15kb。因为缓冲区自动flush的触发条件就是缓冲区满了。没有满就不会触发。可以看下flush的底层代码publicclass BufferedOutputStream ext...原创 2019-05-19 20:25:30 · 1990 阅读 · 0 评论 -
为什么DataOutputStream DataInputStream要用FileOutputStream DataInputStream构造
这里我就以DataOutputStream来讲DataOutputStreamdis = new DataOutputStream(new FileOutputStream(file));这是我们用DataInputStream 的时候的代码。需要用FileOutputStream构造。在这里用到的设计模式是装饰模式。装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展...原创 2019-05-13 09:21:44 · 2852 阅读 · 0 评论 -
java反序列化过程中,没有实现Serializable的父类会被调用构造函数
在这之前,我们要知道什么是序列化.序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程.其实就是把对象保存起来,反序列化当然就是把这个过程反过来。class Foo implements Serializable{ public Foo(){ System.out.println("foo..."); }}class Foo1 exten...原创 2019-05-22 15:38:35 · 3253 阅读 · 2 评论 -
io基础
java.io.File类用于表示文件(目录)File类只用于表示文件(目录)的信息(名称、大小等),不能用于文件内容的访问可用来构造其他Io类RandomAccessFile java提供的对文件内容的访问,既可以读文件,也可以写文件。RandomAccessFile支持随机访问文件,可以访问文件的任意位置(1)java文件模型 在硬盘上的文件是byte byte byte...原创 2019-05-22 15:57:11 · 1527 阅读 · 0 评论 -
关于同步、异步与阻塞、非阻塞的理解
看了好多文章,终于理解了。同步与异步关注的是消息通信机制,是机制,注意。在发出一个调用时,没有得到返回结果,那就不返回。 一旦返回,就得到返回值了。这就是同步。同步需要时不时去轮询,看看返回没。异步就是,发出一个调用,不用管它有没有返回结果。 有返回结果它会通知你的。阻塞与非阻塞他们关心的是等待结果的状态。是线程状态。 如果线程不会被挂起,那就是非阻塞,反之就...原创 2019-07-16 16:00:58 · 1574 阅读 · 0 评论