摘要: Java 多线程 volitile 和 atomic 关键字 尝试运行以上代码,发现thread永远也无法发现key0的x被改变 所以这个时候需要加上volitile关键字 具体原因是java中每个线程都有工作内存,以及主存 我的理解就是不加volitile,线程读写变量是先在自己的工作内存中处理, 阅读全文
posted @ 2019-04-05 18:40 stdpain 阅读(444) 评论(0) 推荐(0) 编辑
摘要: Java HashMap jdk 1.8 Java8相对于java7来说HashMap变化比较大,在hash冲突严重的时候java7会退化为链表,Java8会退化为TreeMap 我们先来看一下类图: 可见,HashMap继承了AbstractMap,但是Map并没有扩展Collection接口 我 阅读全文
posted @ 2019-04-05 16:25 stdpain 阅读(729) 评论(0) 推荐(0) 编辑
摘要: Java ArrayList 之前曾经参考 数据结构与算法这本书写过 的demo,本来以为实现起来都差不多,今天抽空看了下 中的 的实现,差距还是很大啊 首先看一下 的类图 实现了 这几个接口,可序列化,可克隆,可以随机访问 构造方法: 之前手写 的时候,都会用一个默认容量来 new 一个数组,在 阅读全文
posted @ 2019-04-05 14:15 stdpain 阅读(810) 评论(0) 推荐(0) 编辑
摘要: Linux IO多路复用 poll 之前曾经提到过 select poll 跟select类似,poll改进了select的一个确定,就是poll没有监听上限 不过poll还是需要遍历以及频繁的把数组拷贝到内核空间,在监听较多文件描述符的时候性能会下降 传递的三个参数 fds:结构体数组 nfds: 阅读全文
posted @ 2019-04-05 10:39 stdpain 阅读(312) 评论(0) 推荐(0) 编辑