摘要: 区别维度: 1. 可变性 a. String用final修饰,不可变 b. Stringbuilder和StringBuffer均继承抽象父类AbstractStringBuilder,其中也是用char[]数组储存字符串,但无final修饰 2. 线程安全性:源码中StringBuilder和St 阅读全文
posted @ 2020-07-26 19:29 big_data_hins 阅读(192) 评论(0) 推荐(0)
摘要: 二、重点非阻塞模型:NIO模型1. Channel:和流等级一样,双向的,可读可写 2. Buffer:存数据的地方,可以用来读写 3. Selector:NIO的核心类,可以监听多个channel的时间(连接打开,数据到达)-->使得单线程可以管理多个channel,只有在读写事件发生时才找线程过 阅读全文
posted @ 2020-07-25 17:33 big_data_hins 阅读(231) 评论(0) 推荐(0)
摘要: 一、IO模型分类 1. 阻塞IO模型: a. 读写过程会出现阻塞现象 b. 数据没有就绪,用户线程会一直处于阻塞状态,一直读不到数据,造成线程浪费 2. 非阻塞IO模型 a. While 去read()数据,立即返回结果,数据没有准备好就报错,继续循环read,直到数据准备好,会一直占有cpu去re 阅读全文
posted @ 2020-07-25 17:27 big_data_hins 阅读(203) 评论(0) 推荐(0)
摘要: 3.4.1 hash map 整体框架是数组结构,每一个位置储存同hashcode的链表与j7对比,j8变更的是,储存的链表改成红黑树,从On时间复杂度降低至Ologn3.4.2 concurrentHashMap不可扩容数组储存16个segment,每个sement为线程安全的数组,每一个数组类似 阅读全文
posted @ 2020-07-18 21:51 big_data_hins 阅读(1023) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2020-07-18 21:22 big_data_hins 阅读(2596) 评论(0) 推荐(1)
摘要: 数组: 1. 不安全 ArrayList 2. 安全 Vector链表LinkedList不安全 3.2.1 ArrayList 1. 适合随机查找和遍历,不适合删除和增加 2. 大小不足时,需要将已有数据复制到新空间3.2.2 Vector 1. 线程安全 2. 导致访问比ArrayList慢3. 阅读全文
posted @ 2020-06-30 08:11 big_data_hins 阅读(361) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2020-06-27 14:25 big_data_hins 阅读(188) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2020-06-15 08:57 big_data_hins 阅读(100) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2020-06-08 07:49 big_data_hins 阅读(46) 评论(0) 推荐(0)