Java基础
文章平均质量分 90
zhaoheng314
技术之路,道阻且长。
展开
-
多线程并行同步辅助工具之CountDownLatch
什么是CountDownLatchCountDownLatch这个类在多线程场景中已经用过跟多次了,一直没有认真总结下。今天来对这个类做个总结,算是重新学习下。 CountDownLatch类在java.util.concurrent包中,诞生于JDK1.5版本,是一个同步辅助工具。为了彻底了解它,我们来看下源码。/** * CountDownLatch是一个同步辅助工具,允许一个或更...原创 2018-08-16 15:32:05 · 306 阅读 · 0 评论 -
ArrayList源码分析
ArrayList源码分析ArrayList作为Collection的实现类之一,在日常开发中会经常被用到,绝大部分Java Programmer都很熟悉ArrayList提供的各种操作方法,但是真正了解其内部实现的又有多少人呢?今天通过我们通过阅读源码的方式,重新学习下ArrayList并了解其内部的实现。1、什么是ArrayList?先看下JDK源码中对ArrayList的介绍,如下:...原创 2019-07-28 23:21:03 · 299 阅读 · 0 评论 -
阻塞队列之PriorityBlockingQueue源码分析
阻塞队列之PriorityBlockingQueue上一篇文章笔主介绍了Java中的优先级队列,即PriorityQueue,了解了其内部的具体实现。今天,我们再来学习下Java中的优先级阻塞队列,即PriorityBlockingQueue。PriorityBlockingQueue的定义我们看下JDK中对的PriorityBlockingQueue定义,如下:An unbounded...原创 2019-06-01 10:38:42 · 349 阅读 · 0 评论 -
优先级队列之PriorityQueue源码分析
优先级队列之PriorityQueue上一篇文章笔主介绍了BlockingQueue的实现类之一,即DelayQueue。了解到DelayQueue对于元素的存储是完全借助于PriorityQueue来实现的,今天,我们来学习下优先级队列之PriorityQueue。PriorityQueue的定义我们看下JDK中对的PriorityQueue定义,如下:An unbounded pri...原创 2019-05-31 09:41:38 · 368 阅读 · 1 评论 -
阻塞队列之DelayQueue源码分析
阻塞队列之DelayQueue上一篇文章笔主介绍了BlockingQueue的实现类之一,即ArrayBlockingQueue,了解了其内部的具体实现。今天,我们再来学习下BlockingQueue的另一个实现类DelayQueue。DelayQueue的定义我们看下JDK中对DelayQueue的定义,如下:An unbounded {@linkplain BlockingQueue...原创 2019-05-26 12:00:03 · 228 阅读 · 0 评论 -
阻塞队列之BlockingQueue
阻塞队列之BlockingQueue从1.5版本开始,JDK提供了阻塞队列的接口及其不同的实现类,阻塞队列的接口为BlockingQueue。那么,先聊聊什么是队列。关于队列的定义,我们看下百度百科对于队列的定义。队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称...原创 2019-05-12 14:33:43 · 166 阅读 · 0 评论 -
阻塞队列之LinkedBlockingQueue源码分析
阻塞队列之LinkedBlockingQueue上一篇文章笔主介绍了BlockingQueue,了解了什么是阻塞队列,阻塞队列的支持的操作以及阻塞队列的应用场景。现在,我们来学习下BlockingQueue的实现类之一LinkedBlockingQueue。还是老套路,我们看下JDK中对LinkedBlockingQueue的定义,如下:An optionally-bounded {@li...原创 2019-05-19 08:49:13 · 236 阅读 · 0 评论 -
走近Java类的祖先-Object
走近Java类的祖先-Object从接触Java语言开始,就知道了Object类是所有Java类的祖先。笔主也有去看过Object类的源码,但一直没有把对Object类的学习和理解形成文章记录下来,今天借这篇文档重新学习下Object类。查看JDK中Object类的源码,类的注释如下:/** * Class {@code Object} is the root of the class h...原创 2019-05-07 14:54:06 · 299 阅读 · 0 评论 -
阻塞队列之ArrayBlockingQueue源码分析
阻塞队列之ArrayBlockingQueue上一篇文章笔主介绍了BlockingQueue的实现类之一,即LinkedBlockingQueue,了解了其内部的具体实现。今天,我们再来学习下BlockingQueue的另一个实现类ArrayBlockingQueue。还是老套路,我们看下JDK中对ArrayBlockingQueue的定义,如下:A bounded {@linkplain...原创 2019-05-26 09:21:26 · 168 阅读 · 0 评论 -
Java中的包装类缓存
Java中的包装类缓存最近在网上看到一个有意思的笔试题目,题目是考察Integer类的valueOf(String s),题目如下:以下四行代码输出的结果依次是什么?System.out.println(Integer.valueOf("1000")==Integer.valueOf("1000")); System.out.println(Integer.valueOf("128")==...原创 2019-05-06 12:08:32 · 868 阅读 · 0 评论 -
一道笔试题看出你是否掌握多线程
前段时间在某求职网站上受邀投递了阿里的某个职位,由于本人工作年限有限,项目经验也缺乏亮点,并没有期望简历能够通过筛选。某个下午,突然接到阿里面试官的电话,进行了简单的交流。面试官告知要先进行笔试,笔试题会在晚上某个时间发至本人的邮箱,3道笔试题,要求在90分钟内完成。通话结束后,既兴奋又惊慌,兴奋是简历通过筛选了,惊慌是没有做好足够的准备。 在这里先说下最终的结果吧,笔试后过了大概四五天,面试官...原创 2018-08-28 15:44:09 · 718 阅读 · 2 评论 -
浅谈Java中的克隆机制
从JDK1.0版本开始,Java语言就提供了克隆机制。看到“克隆”二字,我们可能会有一些疑问。克隆针对的是类还是对象?Java如何实现克隆?“克隆”二字对于我们并不陌生,克隆就是进行复制。现实生活中也有很多克隆的案例,比如克隆鱼、克隆羊等。从面向对象的角度来看,鱼、羊就是我们抽象出来的类,克隆鱼、克隆羊就是类的实例。所以,Java语言中克隆针对的是类的实例。克隆羊、克隆鱼都是基于细胞...原创 2018-08-23 22:59:07 · 10099 阅读 · 6 评论 -
ThreadLocal源码分析
线程局部变量-ThreadLocal源码分析相信很多使用Java语言的同学在开发过程中都用到过ThreadLocal,或者是在面试时被问到过关于ThreadLocal的问题。不管是在开发中使用还是面试时回答,你是否足够了解ThreadLocal呢?今天我们通过分析源码的方式来重新学习ThreadLocal。1、什么是ThreadLocal?面试时面试官问关于ThreadLocal的问题,我觉...原创 2019-07-21 16:52:47 · 290 阅读 · 0 评论