摘要: 1.源码 java1.7 hashMap 底层实现是数组+链表 java1.8 对上面进行优化 数组+链表+红黑树 2.hashmap 是怎么保存数据的。 在hashmap 中有这样一个结构 Node implenets Map.entity{ hash key value next } 当我们像h 阅读全文
posted @ 2019-02-27 18:08 好记性不如烂笔头=> 阅读(25902) 评论(2) 推荐(8) 编辑
摘要: 1) 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对 运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。Java在语言层面对多线程提供了卓越的 阅读全文
posted @ 2019-02-27 13:59 好记性不如烂笔头=> 阅读(74893) 评论(3) 推荐(3) 编辑
摘要: 一、为什么要线程通信? 1. 多个线程并发执行时, 在默认情况下CPU是随机切换线程的,当我们需要多个线程来共同完成一件任务, 并且我们希望他们有规律的执行, 那么多线程之间需要一些协调通信,以此来帮我们达到多线程共同操作一份数据。 2.当然如果我们没有使用线程通信来使用多线程共同操作同一份数据的话 阅读全文
posted @ 2019-02-27 13:21 好记性不如烂笔头=> 阅读(17112) 评论(0) 推荐(0) 编辑
摘要: 1.什么是线程安全: java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如对同一个数据的增删改查),将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用,从而保证了该变量的唯一性和准确性。 二、 如何使用同步? 在网上简单的搜了一下 阅读全文
posted @ 2019-02-27 11:14 好记性不如烂笔头=> 阅读(786) 评论(0) 推荐(0) 编辑