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