每天学习一点点
文章平均质量分 81
buzhidaolvtu
这个作者很懒,什么都没留下…
展开
-
每天学习一点点系列之基本算法学习(链表反转)
基本算法名称:链表反转实现方法:按顺序交换元素级别:基本(入门级)package test.algorithms;class Node{public Node(String name){this.name = name;}public String name;public Node next;public原创 2016-04-13 14:01:19 · 249 阅读 · 0 评论 -
Java HashMap理解
1.Hash最直观的hash理解就是计算input的hashCode,然后直接或间接利用hashCode作为位置索引到相应的value,这种处理方法的弊端就是容易发生误判,即不同的key因为存在相同的hashCode,然后把本不应该索引到的value给检索出来。结果自然是不正确的。2.HashMap那么Java的HashMap是如何避免这种情况的呢?final V putVal(i原创 2016-12-23 11:13:23 · 245 阅读 · 0 评论 -
TCP protocol
对于以下异常的记录:java.io.IOException: 远程主机强迫关闭了一个现有的连接。 at sun.nio.ch.SocketDispatcher.read0(Native Method) at sun.nio.ch.SocketDispatcher.read(Unknown Source) at sun.nio.ch.IOUtil.readIntoNativeBuffer(原创 2016-04-28 23:29:51 · 1632 阅读 · 0 评论 -
原子性和可见性的理解
并发编程中常见的两个问题:原子性和可见性,虽然经常讨论,但是只是停留在应用层面,理解仍然还不是特别深刻。做个笔录加深一下自己的理解。原子性:定义为不可被分割的操作。单个指令可以是原子的,多个指令通过加锁的方式也可以实现原子性。原子性可以是针对单核多线程,也可以针对多核多线程。1)单核多线程:原子性的指令不可以被中断,一定要执行完该条指令之后才可以切换上下文。加锁实现的原子性因为只是以互斥的原创 2017-10-09 14:41:15 · 1504 阅读 · 1 评论