java
文章平均质量分 84
凌风郎少
这个作者很懒,什么都没留下…
展开
-
也谈JVM垃圾回收
垃圾回收算法整理1.标记-清除 2.标记-整理 3.标记-复制上面三种回收算法思想很多资料上都有说明,这里就不细说了,有很多资料上会把增量回收和分代回收归类为回收算法,我个人并不这么认为,因为增量回收和分代回收只是为了更好的利用上面三种回收算法,它们两个并不是直接回收垃圾的算法。 先有鸡还是先有蛋?很多资料上来就说java堆分为新生代和老年代,新生代又细分为1个eden区和2个survi原创 2016-02-18 00:25:32 · 612 阅读 · 0 评论 -
深入浅出AQS之独占锁模式
每一个Java工程师应该都或多或少了解过AQS,我自己也是前前后后,反反复复研究了很久,看了忘,忘了再看,每次都有不一样的体会。这次趁着写博客,打算重新拿出来系统的研究下它的源码,总结成文章,便于以后复习。原文地址:http://www.jianshu.com/p/71449a7d01afAbstractQueuedSynchronizer(以下简称AQS)作为java.util.concurre原创 2017-09-26 18:53:34 · 423 阅读 · 0 评论 -
深入浅出AQS之共享锁模式
在了解了AQS独占锁模式以后,接下来再来看看共享锁的实现原理。原文地址:http://www.jianshu.com/p/1161d33fc1d0搞清楚AQS独占锁的实现原理之后,再看共享锁的实现原理就会轻松很多。两种锁模式之间很多通用的地方本文只会简单说明一下,就不在赘述了,具体细节可以参考我的上篇文章深入浅出AQS之独占锁模式一、执行过程概述获取锁的过程: 1. 当线程调用acquireSh原创 2017-09-27 07:46:17 · 636 阅读 · 1 评论 -
深入浅出AQS之条件队列
相比于独占锁跟共享锁,AbstractQueuedSynchronizer中的条件队列可能被关注的并不是很多,但它在阻塞队列的实现里起着至关重要的作用,同时如果想全面了解AQS,条件队列也是必须要学习的。原文地址:http://www.jianshu.com/p/3f8b08ca21cd这篇文章会涉及到AQS中独占锁跟共享锁的一些知识,如果你已经对这两块内容很了解了,那就直接往下看。否则在读本文之原创 2017-09-30 19:32:08 · 530 阅读 · 1 评论 -
深入浅出AQS之组件概览
之前分析了AQS中的独占锁,共享锁,条件队列三大模块,现在从结构上来看看AQS各个组件的情况。原文地址:http://www.jianshu.com/p/49b86f9cd7ab深入浅出AQS之独占锁模式 深入浅出AQS之共享锁模式 深入浅出AQS之条件队列 前面三篇文章如果之前没有AQS基础的话看起来会比较吃力,这篇文章说明一下AQS的基础知识,方便快速了解AQS。首先AQS的基本执行过程原创 2017-10-14 12:24:01 · 427 阅读 · 0 评论 -
Java调度线程池ScheduledThreadPoolExecutor源码分析
最近新接手的项目里大量使用了ScheduledThreadPoolExecutor类去执行一些定时任务,之前一直没有机会研究这个类的源码,这次趁着机会好好研读一下。该类主要还是基于ThreadPoolExecutor类进行二次开发,所以对Java线程池执行过程还不了解的同学建议先看看我之前的文章。 当面试官问线程池时,你应该知道些什么?一、执行流程与ThreadPoolExecutor不同,向原创 2017-10-22 17:44:55 · 217 阅读 · 0 评论 -
Log4j各级别日志重复打印的问题
今天在配置Log4j日志的时候,发现日志重复打印的问题。网上查了很多资料,发现介绍Log4j配置的文章数量不少,但提到这个问题的文章却寥寥,解决了自己的问题以后,赶紧记录一下。原文地址:http://www.jianshu.com/p/7f0a1121a6df本文基于log4j 1.2.17版本进行说明<dependency> <groupId>log4j</groupId>原创 2017-10-24 20:24:36 · 8008 阅读 · 1 评论