java
文章平均质量分 80
yb3232
这个作者很懒,什么都没留下…
展开
-
线程同步--生产者消费者
当同时有很多生产者和消费者往仓库里面增加产品减少产品,会产生以下两个问题: 1当生产者和消费者同时改变仓库对象的属性,最后打印出的结果不能反映仓库的情况 2当生产者过多或者消费者过多会使仓库满或者空,如果不把线程从运行态变成就阻塞态的话,会出现异常 解决方式: 问题1:在改变对象的方法加入同步锁,该方法运行时将对象或者对象的属性锁定,当方法运行完才可以访问该对象或者对象的属性 问题2:在原创 2015-07-07 20:53:30 · 308 阅读 · 0 评论 -
Map--HashMap实现分析
HashMap: 利用数组和链表的数据结构存储 链表: static class Node implements Map.Entry数组: transient Node[] table;储存过程: 1对key进行哈希 2根据哈希值找到数组中对应位置 3如果该位置没有链表则作为头部放入,如果该位置存在链表则遍历链表,如果没找到则在尾部加入 final V putVal(int has原创 2015-07-08 23:34:30 · 288 阅读 · 0 评论 -
Set--TreeSet实现分析
TreeSet对于实现了Comparable接口的对象或者comparator中的对象可以自动排序。 最基本的构造函数:所有面向外部的构造函数都会调用这个构造函数,初始化NavigableMap TreeSet(NavigableMap m) { this.m = m; } 利用对象Comparable接口进行排序的构造函数:利用TreeMap中的keys保存对象原创 2015-07-08 14:20:50 · 386 阅读 · 0 评论 -
IO--PipedInputSteamAndPipedOutputStream
PipedInputStream和PipedOutputStream在两个线程之间建立通信的管道 比如线程A持有PipedOutputStream os,线程B持有PipedInputStream is,可以用os绑定is也可以用is绑定os。然后os写入数据,is读取数据。 import java.io.IOException; import java.io.PipedInputStream原创 2015-07-09 20:32:25 · 366 阅读 · 0 评论 -
IO--ReaderAndWriter
Reader and Writer: Reader按照自定义的编码从输入流中进行读取 Writer按照自定义的编码写入输出流 InputStreamReader: 在初始化的时候传入自定义的编码以及输入流,并生成解码器进行读操作。 public InputStreamReader(InputStream in, String charsetName) throws Uns原创 2015-07-10 11:11:33 · 287 阅读 · 0 评论