2017年6月28日

摘要: linkedList主要要注意以下几点: 1构造器 2 添加add(E e) 3 获取get(int index) 4 删除 remove(E e),remove(int index) 5 判断对象是否存在:contain(E e) Jdk8中的linkedList基于双向链表来实现的 双向链表每个 阅读全文
posted @ 2017-06-28 18:11 一只小蜗牛12138 阅读(160) 评论(0) 推荐(0) 编辑

2017年6月27日

摘要: ArrayList主要要注意以下几点: 1构造方法 2添加add(E e) 3 获取 get(int index) 4 删除 remove(int index) , remove(Object o) 5 判断是否存在 contains(Object o) 6 遍历 底层采用数组实现。 1构造方法 有 阅读全文
posted @ 2017-06-27 18:04 一只小蜗牛12138 阅读(125) 评论(0) 推荐(0) 编辑

2017年6月26日

摘要: java多线程系列 阅读全文
posted @ 2017-06-26 18:04 一只小蜗牛12138 阅读(90) 评论(0) 推荐(0) 编辑

2017年6月22日

摘要: java多线程系列 阅读全文
posted @ 2017-06-22 18:14 一只小蜗牛12138 阅读(98) 评论(0) 推荐(0) 编辑

2017年6月21日

摘要: ThreadLocal 叫做 线程局部变量 在详细解释之前 先看一段代码 运行结果如下 可以看到每个Thread都是自己设置进去的那个值,相互不影响 ThreadLocal有两个比较重要的方法 get() set() 下面我们细看一下 get() 下面我们细看一下 set() 总结: 1 Threa 阅读全文
posted @ 2017-06-21 18:09 一只小蜗牛12138 阅读(138) 评论(0) 推荐(0) 编辑

2017年6月20日

摘要: 当系统系统规模较小,我们可以不使用线程池。但是当系统到达一定规模,频繁的创建和销毁线程池会消耗很多资源。 合理利用线程池能够带来三个好处。 1降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 2提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。 3提高线程的可管 阅读全文
posted @ 2017-06-20 18:01 一只小蜗牛12138 阅读(225) 评论(0) 推荐(0) 编辑

2017年6月16日

摘要: 生产者-消费者 生产者消费者模式是一个非常经典的多线程模式,比如我们用到的Mq就是其中一种具体实现 在该模式中 通常会有2类线程,消费者线程和生产者线程 生产者提交用户请求 消费者负责处理生产者提交的任务,在消费者和生产者之间共享内存缓存区进行通信 常见的实现 可以 通过 wait/notifyAl 阅读全文
posted @ 2017-06-16 18:15 一只小蜗牛12138 阅读(131) 评论(0) 推荐(0) 编辑

2017年6月14日

摘要: Master-Worker模式是常用的并行设计模式,可以将大任务划分为小任务,是一种分而治之的设计理念。 系统由两个角色组成,Master和Worker,Master负责接收和分配任务,Worker负责处理任务 。子进程处理完成以后,会把结果返回给Master。 原理图如下 下面代码演示 测试类 注 阅读全文
posted @ 2017-06-14 18:14 一只小蜗牛12138 阅读(164) 评论(0) 推荐(0) 编辑

2017年6月13日

摘要: Future 模式 类似于ajax请求 页面异步的进行后台请求 用户无需等待请求的结果 就可以继续浏览或者操作 核心就是:去除了主函数的等待时间,并使得原本需要等待的时间段可以用于处理其他业务逻辑 JDK内置实现Future模式演示一下 阅读全文
posted @ 2017-06-13 18:22 一只小蜗牛12138 阅读(103) 评论(0) 推荐(0) 编辑

2017年6月12日

摘要: 我们知道 ,hashmap 和 arraylist 是线程不安全的 在多线程环境下有数据安全问题, 当然 我们可以通过Collections的一些方法把他们变成线程安全的, Collections.synchronizedList(list) Collections.synchronizedMap( 阅读全文
posted @ 2017-06-12 18:25 一只小蜗牛12138 阅读(164) 评论(0) 推荐(0) 编辑

导航