- 博客(73)
- 资源 (3)
- 收藏
- 关注
原创 乞力马扎罗的雪 - 笔记
白居易写好了诗歌,会给老奶奶讲,然后老奶奶说听懂了;海明威写好了小说,给我们去读,然后我们会哦哦哦了。这本书经典地诠释了,每个文字都可以看得懂,连在一起也能看明白表面意思,但是深层次的含义,实在太含蓄的很!敌军还有三十秒到达战场,看完乞力马扎罗的雪,我的智商突然直接逼近鲁班大师,好打击我啊!看完后体会到,实在受不了太含蓄的书籍,只是针对我自己而已,也许有很强大的寓意,但是好比我们近在咫尺却远在天涯
2017-06-26 20:48:30 378
原创 钟表馆 - 笔记
钟表馆得到的推理小说启示: 一.谁死了,他怎么死的,他的死因是什么,以上内容不要轻易听信作者的介绍,有可能是作者的误导; 二.介绍的物品时,它有它的常用属性,也有隐藏属性。尽管隐藏属性不常见,但却是决定性的。如果你相信了,那么你就输了。类似于当你见到砖头的第一印象它是建筑使用的,但磨成粉面可以做涂料、拿起砖头可以去杀人,而这恰恰是读者的思维盲点。 三.人物关系内容,有表面关系、隐
2017-06-24 10:41:24 343
原创 人偶馆 - 笔记
这是一本实在无理可推的惨不忍睹的推理小说! 为什么这么说呢?如果说国内的恐怖电影最后都是犯罪片,那么作为国人的我们一眼就可以看出结局。之所以喜欢看外国的恐怖片,是因为真的有鬼啊!借用恐怖电影的说法,如果没有足够的线索让我们去推理,告诉你一个结论的时候都是作者事后自导自演的话,那还叫什么推理小说呢?很烦躁的是,作者根本没有给我们足够的线索去推理,很多内容或者疑惑都是事后诸葛。事后去解说,还有什
2017-06-21 21:13:12 385
原创 thread54 - 自定义线程池
package com.neutron.t23;/** * 线程池 * 1.固定个数的线程池 * 2.缓存线程池,开始线程数0 * 3.只有1个线程的线程池 * 4.ScheduledPool * 5.WorkStealingPool(任务窃取,都是守护线程) * 6.ForkJoinPool * * 线程池实现原理 * 各种线程池
2017-06-17 12:17:24 378
原创 thread53 - ForkJoinPool
package com.neutron.t23;import java.io.IOException;import java.util.Arrays;import java.util.Random;import java.util.concurrent.*;/** * 线程池 * 1.固定个数的线程池 * 2.缓存线程池,开始线程数0 * 如果需要
2017-06-17 12:04:42 327
原创 thread52 - WorkStealingPool
package com.neutron.t23;import java.io.IOException;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.TimeUnit;/** * 线程池 * 1.固定个数
2017-06-17 12:03:44 2387
原创 thread51 - ScheduledPool
package com.neutron.t23;import java.util.Random;import java.util.concurrent.ExecutionException;import java.util.concurrent.Executors;import java.util.concurrent.ScheduledExecutorService;import j
2017-06-17 12:02:56 429
原创 thread50 - SinglePool
package com.neutron.t23;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.TimeUnit;/**
2017-06-17 12:02:02 421
原创 thread49 - CashedPool
package com.neutron.t23;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.TimeUnit;/**
2017-06-16 21:08:32 369
原创 thread48 - 线程池在并行计算中案例
package com.neutron.t23;import java.util.ArrayList;import java.util.List;import java.util.concurrent.*;/** * 线程池案例 * 线程池在并行计算中使用案例 */public class T237ParallelComputing { public static v
2017-06-16 20:53:40 449
原创 thread47 - Future和FutureTask
package com.neutron.t23;import java.util.concurrent.*;/** * 线程池接口 * 了解线程池Future,FutureTask */public class T236Future { /** * Future包含两部分 * FutureTask:将要执行的任务,实现了Runnable接口
2017-06-16 20:27:36 247
原创 thread46 - 线程池
package com.neutron.t23;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.TimeUnit;/** * 线程池接口 * 了解线程池 */public class T235ThreadPo
2017-06-16 18:33:53 346
原创 thread45 - 了解Callable
package com.neutron.t23;/** * 线程池接口 * 初步了解Executor,ExecutorService接口 * * public interface ExecutorService extends Executor * * public interface Callable * * @return computed result * @thro
2017-06-16 17:50:26 249
原创 thread44 - ExecutorService
package com.neutron.t23;/** * 线程池接口 * 初步了解Executor,ExecutorService接口 * * public interface ExecutorService extends Executor */public class T232ExecutorService { /* * 介绍ExecutorService
2017-06-16 17:39:48 360
原创 thread43 - Executor
package com.neutron.t23;import java.util.concurrent.Executor;/** * 线程池接口 * 初步了解Executor接口,java线程池中最顶级的接口 */public class T231Executor implements Executor { // 会执行任务,任务如何实现,则需要自定义 @Over
2017-06-16 17:30:35 288
原创 thread43 - 同步容器
对于map(set)的使用如果不要求线程安全 HashMap TreeMap LinkedHashMap并发量小 Hashtable Collections.synchronizedXXX并发量大 ConcurrentHashMap // 高并发不涉及顺序 ConcurrentSkipListMap // 高并发考虑顺序
2017-06-16 16:44:30 274
原创 thread42 - SynchronizedQueue
package com.neutron.t22;import java.util.concurrent.BlockingQueue;import java.util.concurrent.SynchronousQueue;/** * SynchronizedQueue * 是特殊的LinkedTransferQueue,内部调用的是LinkedTransferQueue *
2017-06-16 16:17:57 2057 1
原创 thread41 - LinkedTransferQueue
package com.neutron.t22;import java.util.concurrent.LinkedTransferQueue;/** * LinkedTransferQueue * 使用场景消费者线程先启动,生产者去生产首先找有没有消费者,如果有消费者就不扔到队列,直接给消费者 * * 比如玩棋牌类游戏,a发牌后需要通知bcd,那么消息可以发送到队列中,然后
2017-06-16 16:07:55 326
原创 thread40 - DelayQueue
package com.neutron.t22;import java.util.concurrent.BlockingQueue;import java.util.concurrent.DelayQueue;import java.util.concurrent.Delayed;import java.util.concurrent.TimeUnit;/** * Queue
2017-06-16 14:08:25 273
原创 thread39 - ArrayBlockingQueue
package com.neutron.t22;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;import java.util.concurrent.TimeUnit;/** * Queue * 1.并发加锁 ConcurrentLinkQ
2017-06-16 13:40:01 286
原创 thread38 - LInkBlockingQueue
package com.neutron.t22;import java.util.Random;import java.util.concurrent.LinkedBlockingQueue;import java.util.concurrent.TimeUnit;/** * Queue * 1.并发加锁 ConcurrentLinkQueue * 2.阻塞
2017-06-16 13:24:47 610
原创 thread37 - queue
package com.neutron.t22;import java.util.Queue;import java.util.concurrent.ConcurrentLinkedDeque;import java.util.concurrent.ConcurrentLinkedQueue;/** * 单向和双向队列 */public class T224Queue {
2017-06-16 12:50:47 275
原创 thread36 - synchronizedXXX
package com.neutron.t22;import java.util.ArrayList;import java.util.Collections;import java.util.List;/** * Collections.synchronizedXXX * 就是将list、map等常见的数据结构编程线程安全的 */public class T223Synchr
2017-06-16 12:40:52 493
原创 thread37 - CopyOnWrite
package com.neutron.t22;import java.util.*;import java.util.concurrent.*;/** * 写时复制容器 copy on write * 多线程环境下, 写时效率低,读时效率高 * 适合写少读多的情况 */public class T222CopyOnWrite { /** * 测试什么
2017-06-16 12:30:00 277
原创 thread36 - ConcurrentHashMap
package com.neutron.t22;import java.util.*;import java.util.concurrent.ConcurrentHashMap;import java.util.concurrent.ConcurrentSkipListMap;import java.util.concurrent.ConcurrentSkipListSet;impor
2017-06-16 11:58:55 259
原创 thread35 - 售票5
package com.neutron.t21;import java.util.Objects;import java.util.Queue;import java.util.concurrent.ConcurrentLinkedDeque;import java.util.concurrent.TimeUnit;/** * 有N张火车票,每张票都有1个编号,同时有10个窗口对外
2017-06-16 10:57:30 215
原创 thread32 - 售票4
package com.neutron.t21;import java.util.ArrayList;import java.util.List;import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLo
2017-06-16 10:42:14 211
原创 thread32 - 售票4
package com.neutron.t21;import java.util.ArrayList;import java.util.List;import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLo
2017-06-16 10:42:06 346
原创 thread31 - 售票3
package com.neutron.t21;import java.util.ArrayList;import java.util.List;import java.util.Vector;import java.util.concurrent.TimeUnit;/** * 有N张火车票,每张票都有1个编号,同时有10个窗口对外售票 * * 分析下面程序可能存在哪些问题:重
2017-06-15 06:49:02 252
原创 thread30 - 卖票2
package com.neutron.t21;import java.util.Vector;import java.util.concurrent.TimeUnit;/** * 有N张火车票,每张票都有1个编号,同时有10个窗口对外售票 * * 分析下面程序可能存在哪些问题:重复售票,还是超量售票? */public class Ticket2 { /* 使用同步容
2017-06-15 06:44:24 214
原创 thread29 - 卖票1
package com.neutron.t21;import java.util.ArrayList;import java.util.List;/** * 有N张火车票,每张票都有1个编号,同时有10个窗口对外售票 * * 分析下面程序可能存在哪些问题:重复售票,还是超量售票? */public class Ticket1 { static List tickets
2017-06-15 06:35:25 241
原创 thread27 - 线程安全的单例模式
package com.neutron.t20;/** * 线程安全的单例模式 * 既不用加锁,又能实现懒加载 */public class Singleton { private Singleton() { } private static class Inner { private static Singleton s = new Si
2017-06-14 22:21:08 345
原创 thread27 - ThreadLocal2
package com.neutron.t19;import java.util.concurrent.TimeUnit;/** * ThreadLocal线程局部变量 * * ThreadLocal是使用空间换时间,synchronized是使用时间换空间 * 比如hibernate中session就存在ThreadLocal中,避免synchronized的使用 */pub
2017-06-14 21:26:35 289
原创 thread26 - ThreadLocal1
package com.neutron.t19;import java.util.concurrent.TimeUnit;/** * ThreadLocal线程局部变量 */public class T191 { /* * 为什么必须加上volatile? * 虽然不加上volatile,得出的结果和目标结果一样,但是存在安全隐患,涉及到jvm原理
2017-06-14 21:08:44 366
原创 thread25 - Lock和Condition
package com.neutron.t18;import java.util.LinkedList;import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concu
2017-06-14 20:57:14 345
原创 thread24 - wait和notify和notifyAll
package com.neutron.t18;import java.util.LinkedList;import java.util.concurrent.TimeUnit;/** * 写一个固定容量的同步容器,拥有put和get方法,以及getCount方法。 * 能够支撑2个生产者线程,以及10个消费者线程的阻塞调用 * * 所谓同步容器,即如果容量满了,那么put阻塞;
2017-06-14 20:56:04 287
原创 thread23 - ReentrantLock4
package com.neutron.t17;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/** * ReentrantLock用于替代synchronized * 案例中由于m1锁定this,只有m1执行完毕后,m2才能执行 * 复习synchron
2017-06-13 07:05:16 280
原创 thread22 - ReentrantLock3
package com.neutron.t17;import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/** * ReentrantLock用于替代synchronized * 案例中由于m
2017-06-12 06:46:32 272
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人