![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 79
yb3232
这个作者很懒,什么都没留下…
展开
-
线程同步--生产者消费者
当同时有很多生产者和消费者往仓库里面增加产品减少产品,会产生以下两个问题:1当生产者和消费者同时改变仓库对象的属性,最后打印出的结果不能反映仓库的情况2当生产者过多或者消费者过多会使仓库满或者空,如果不把线程从运行态变成就阻塞态的话,会出现异常解决方式:问题1:在改变对象的方法加入同步锁,该方法运行时将对象或者对象的属性锁定,当方法运行完才可以访问该对象或者对象的属性问题2:在原创 2015-07-07 20:53:30 · 300 阅读 · 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 · 276 阅读 · 0 评论 -
Set--TreeSet实现分析
TreeSet对于实现了Comparable接口的对象或者comparator中的对象可以自动排序。最基本的构造函数:所有面向外部的构造函数都会调用这个构造函数,初始化NavigableMapTreeSet(NavigableMap m) { this.m = m; }利用对象Comparable接口进行排序的构造函数:利用TreeMap中的keys保存对象原创 2015-07-08 14:20:50 · 375 阅读 · 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 · 355 阅读 · 0 评论 -
IO--ReaderAndWriter
Reader and Writer:Reader按照自定义的编码从输入流中进行读取Writer按照自定义的编码写入输出流InputStreamReader:在初始化的时候传入自定义的编码以及输入流,并生成解码器进行读操作。public InputStreamReader(InputStream in, String charsetName) throws Uns原创 2015-07-10 11:11:33 · 273 阅读 · 0 评论