上一页 1 2 3 4 5 6 ··· 22 下一页
摘要: @Autowired HttpServletRequest之所以线程安全是因为, httpsevletRequest 储存在 RequestContextHolder中。 每次http请求的doXXX 都会被FrameworkServlet拦截,通过 RequestContextHolder.set 阅读全文
posted @ 2019-04-05 20:39 webglcn 阅读(1567) 评论(0) 推荐(0) 编辑
摘要: 在启动流程中,会出发许多ApplicationEvent。这时会调用对应的listener的onApplicationEvent方法。ApplicationEvent时观察者模式, (1) 实体继承ApplicationEvent (2) 注入的Listener 实现接口ApplicationLis 阅读全文
posted @ 2019-04-05 18:46 webglcn 阅读(1121) 评论(0) 推荐(0) 编辑
摘要: 关键字 @Scope @Qualifier Singleton 单例 Spring是单例模式。结合Springboot的例子。 Controller Bean 从不同的客户端或者机器访问url /single 均返回累加值,证明是单例。因此Spring单例模式中谨慎使用类变量。 单例不阻塞 两个不同 阅读全文
posted @ 2019-04-04 15:19 webglcn 阅读(728) 评论(0) 推荐(0) 编辑
摘要: 1、每个节点要么红色,要么是黑色;2、根节点一定是黑色的;3、每个空叶子节点必须是黑色的;4、如果一个节点是红色的,那么它的子节点必须是黑色的;5、从一个节点到该节点的子孙节点的所有路径包含相同个数的黑色节点; 参考 https://www.jianshu.com/p/23b84ba9a498 阅读全文
posted @ 2019-04-03 18:48 webglcn 阅读(136) 评论(0) 推荐(0) 编辑
摘要: ThreadPoolExecutor 核心参数 corePoolSize, QueueCapacity(ArrayBlockingQueue的参数), maxPoolSize 1 If the number of threads is less than the corePoolSize, crea 阅读全文
posted @ 2019-04-02 16:29 webglcn 阅读(131) 评论(0) 推荐(0) 编辑
摘要: JDK1.8 Hashmap JDK1.8 ConcurrentHashMap 参考 http://www.importnew.com/28263.html 和 JDK1.8 HashMap, ConcurrentHashMap 源代码 阅读全文
posted @ 2019-04-01 22:47 webglcn 阅读(139) 评论(0) 推荐(0) 编辑
摘要: CAS -> unsafe -> CAS底层思想 -> ABA --> 原子引用更新 --> 如何规避ABA CAS compareAndSwap 原理 CAS(V,E,N) V表示要更新的变量(内存值) E表示预期值 N表示新值 (当前值和底层值一样时候,才更新) 传入的值是工作内存,底层的值是主 阅读全文
posted @ 2019-04-01 21:57 webglcn 阅读(400) 评论(0) 推荐(0) 编辑
摘要: 一 cpu个数、核数、线程数的关系 cpu个数:是指物理上,也及硬件上的核心数; 核数:是逻辑上的,简单理解为逻辑上模拟出的核心数;一个CPU核心数模拟出2线程的CPU 线程数:是同一时刻设备能并行执行的程序个数,线程数=cpu个数 * 核数,及程数=cpu个数(2) * 核数(2)=4 Windo 阅读全文
posted @ 2019-04-01 21:23 webglcn 阅读(4707) 评论(0) 推荐(1) 编辑
摘要: JDK8 推荐 LongAdder替代 AtomicInteger, AtomicInteger内部是实现使用 (网友使用jad反编译源码 参考 http://ifeve.com/enhanced-cas-in-jdk8/),高并发场景compareAndSwapInt 会不断的试错,有性能问题。 阅读全文
posted @ 2019-04-01 20:28 webglcn 阅读(358) 评论(0) 推荐(0) 编辑
摘要: ReenTrantLock可重入锁(和synchronized的区别)总结 重入性: ReenTrantLock和synchronized都是可重入锁。 同一个线程每进入一次,锁的计数器+1,等到锁的计数器降为0时才释放锁。 实现: Synchronized是依赖于JVM实现的,而ReenTrant 阅读全文
posted @ 2019-03-30 13:49 webglcn 阅读(107) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 22 下一页