集合学习--LinkedList学习最终版

ListLinkedList为什么用static class ?private static class Node<E> { E item; Node<E> next; Node<E> prev; Node(Node<E> prev, E element, Node<E> next) { this.item = e …… 阅读全文

集合学习--HashMap 源码初探

HashMap底层实现Hash的实现时数组加链表 如图所示 而hashMap我们每一次get 只获取 第一个值。初始容量和负载因子##因为put的时候可能需要做扩容,扩容会导致性能损耗,所以如果可以预知Map大小的话,可以设置合理的初始大小和负载因子来避免HashMap的频繁扩容导致的性能消耗。 默认为16与0.75put 源码public V put(K key, V value) { …… 阅读全文

集合学习--HashTable 源码初探

HashTable装填因子的定义α=表中填入的记录数哈希表的长度\alpha=\frac{表中填入的记录数}{哈希表的长度}线性探测再散列的哈希表查找成功时的成功查找长度Snl≈12(1+11?α)S_{nl}\approx\frac{1}{2}\left(1+\frac{1}{1-\alpha}\right)随机探测在再散列丶二次探测再散列丶再哈希的哈希表查找成功时的平均查找长度为Snr≈?1αl …… 阅读全文

Java由HashMap生成树形菜单/部门

1.获取部门列表2.根据部门的Id映射部门实体类先看下部门实体类public class TbEnterpriseDepartment { private int id; private String name; private int number; private int parentId; private List<TbEnterpriseDepartm …… 阅读全文

图解NIO(1) Buffer 与 Channel

众所周知的NIO的两个重要组件就是buffer与channel,那么他们是怎么相互传输数据呢。那么还支持多buffer => 单channel的转换 …… 阅读全文

图解NIO(2) Selector and 聊天室

Selector可以拥有无限制个连接,当然在硬件承受范围之内。通过不断的轮询selectionKey查看当前的可操作的通道,也可以在注册到selector上面。也可以保存通道做一个点对点的聊天播放器。规定消息的格式,比如lisi:nihao 给李四发送消息nihao。 //保存姓名和网络地址(host:port)的一一对应关系 Map<String, SocketAddress> nameA …… 阅读全文

Java IO思维导图

对应的测试类 public static void main(String[] args) { String path = "D:" + File.separator + "data.txt"; File file = new File(path); try( FileReader fr = new FileReader(file); …… 阅读全文

java 日期转换校验

/** * 测试字符串转换日期(严格模式) * * Lenient => 宽容 * */ @Test public void testExactingDateFormat() { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); //S …… 阅读全文