20200729 synchronzied 马士兵视频学习笔记
摘要:c,c++ 自己管理内存,释放内存 java有自己的GC垃圾回收机制,不用手工管理,缺点是会有stw Java中Stop-The-World机制简称STW,是在执行垃圾收集算法时,Java应用程序的其他所有线程都被挂起(除了垃圾收集帮助器之外)。Java中一种全局暂停现象,全局停顿,所有Java代码
阅读全文
posted @
2020-07-29 22:09
lkjhgfdsa123
阅读(196)
推荐(0)
java线程之间通信,多种方式实现生产者消费者模式
摘要:java多线程之间的通信,及使用多种方式实现生产者消费者模式 实现需求:两个线程交替打印1,0,打印10轮 java多线程口诀: 高内聚,低耦合 线程操作资源类 判断干活通知 防止虚假唤醒 方式一:使用synchronized和Object的wait和notifyAll方法 wait:使当前线程阻塞
阅读全文
posted @
2020-07-12 21:46
lkjhgfdsa123
阅读(245)
推荐(0)
JDK1.8 CopyOnWriteArrayList源码学习
摘要:ArrayList 底层:Object数组,非线程安全 默认容量:10,其实是0,第一次add时,才会主动去扩容 每一扩容,变为原来容量的1.5倍。10->15->22 /* */ private void grow(int minCapacity) /* */ { /* 254 */ int ol
阅读全文
posted @
2020-07-12 17:44
lkjhgfdsa123
阅读(244)
推荐(0)
JDK1.8 HashMap源码学习
摘要:HashMap 概念:key-value键值对,非线程安全,key可以为空,无序 底层:jdk1.7 数组+链表 jdk1.8数组+链表+红黑树 由来:数组的查找速度很快,但是插入和删除效率很低 链表的插入和删除的效率很低,但是查找速度很慢 HashMap,其查找速度近似O(1)。如何实现:使用了h
阅读全文
posted @
2020-07-12 10:29
lkjhgfdsa123
阅读(220)
推荐(0)
JDK1.8 TreeMap源码学习
摘要:TreeMap 底层基于红黑树的集合,其特点就是可排序 红黑树 概念:一种自平衡的二叉查找树。 由来:二叉查找树:特点(左子树<父节点<右节点),其crud效率最高可达O(logn),但是最低可达O(logn),即退化成链表。 因此出现了平衡二叉树(avl),任意节点的左右孩子节点高度差<=1,查找
阅读全文
posted @
2020-07-09 21:00
lkjhgfdsa123
阅读(189)
推荐(0)
关于java不支持泛型数组的思考
摘要:起因:今天在看LinkedList源码时,发现 public <T> T[] toArray(T[] a)方法创建一个泛型数组使用了很奇怪的方式 a = (T[])java.lang.reflect.Array.newInstance( a.getClass().getComponentType()
阅读全文
posted @
2020-07-08 23:25
lkjhgfdsa123
阅读(253)
推荐(0)