摘要: RandomAccessFile RandomAccessFile类的实例支持对随机访问文件的读取和写入。随机访问文件的行为类似存储在文件系统中的一个大型 byte 数组。存在指向该隐含数组的光标或索引,称为 文件指针 ;输入操作从文件指针开始读取字节,并随着对字节的读取而前移此文件指针。如果随机访 阅读全文
posted @ 2017-05-20 17:32 风中小蘑菇 阅读(152) 评论(0) 推荐(0) 编辑
摘要: io异常的处理 old style 这个代码冗长 并且 如果最后close失败 最终会抛出final块中的异常,无论try捕获的异常是否更有 意义。 JDK7 try with resouces This is the try with resources construct. The FileIn 阅读全文
posted @ 2017-05-19 14:48 风中小蘑菇 阅读(169) 评论(0) 推荐(0) 编辑
摘要: IO流的大体结构 pipes 中的四个流提供了线程之间通信的能力。java中的管道不同于Linux中的管道,前者只能只能是同一进程下的两个线程通信,后者是不同进程可通过管道通信 这里需要注意一点的是:如果去掉 sleep(),会报:java IOException: Write end dead”的 阅读全文
posted @ 2017-05-18 12:50 风中小蘑菇 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 仿真 多线程的优点之一就是仿真: 银行仿真: 阅读全文
posted @ 2017-05-15 21:22 风中小蘑菇 阅读(126) 评论(0) 推荐(0) 编辑
摘要: loading 阅读全文
posted @ 2017-05-14 18:15 风中小蘑菇 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 死锁 死锁:等待形成一个循环 操作系统中经典问题: 哲学进餐问题 package Philosopher; public class Chopstick { private boolean taken = false; public synchronized void take() throws I 阅读全文
posted @ 2017-05-13 11:03 风中小蘑菇 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 线程协作 正如以前所见的多线程同时运行多个任务时候,可以通过使用锁(互斥)来同步两个任务的行为。从而使得一个任务不会干涉另一个任务的资源 线程协作,现在的问题不是彼此干涉而是彼此之间的协调。当任务协调的时候,关键是这些任务之间的握手。为了实现握手我们使用了相同的基础特性:互斥。这种情况下,互斥确保了 阅读全文
posted @ 2017-05-12 15:09 风中小蘑菇 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 设计模式总览: 设计模式代表有经验的面向对象软件开发人员使用的最佳实践。 设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。 这些解决方案是由许多软件开发人员在相当长的时间内通过试错获得的。 最佳实践 设计模式已经经过一段很长的时间发展,它们为软件开发过程中面临的某些问题提供了最佳解决 阅读全文
posted @ 2017-05-11 14:02 风中小蘑菇 阅读(165) 评论(0) 推荐(1) 编辑
摘要: 接sping源码分析(二) doLoadBeanDefinitions去解析 inputResoucre 和Resource 的具体实现: 这里解析 成Document 的操作主要是运用了 JDK自带的XML解析工具JAXP。同时还涉及 profile 以及 XML验证 DTD、XSD 的验证方法。 阅读全文
posted @ 2017-05-10 22:51 风中小蘑菇 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 容器的基本实现 首先查看小例子: 项目结构: 现在 BeanFactory 已经很少使用了而是使用 ApplicationContext 功能分析: 1. 首先读取配置文件 2. 实例化读到的类 3. 调用类的方法 ConfigReader 用于读取已经验证配置文件。 Reflection 用于反射 阅读全文
posted @ 2017-05-10 12:36 风中小蘑菇 阅读(224) 评论(0) 推荐(0) 编辑