- 博客(19)
- 问答 (1)
- 收藏
- 关注
原创 ArrayList源码分析
ArrayList源码分析ArrayList作为Collection的实现类之一,在日常开发中会经常被用到,绝大部分Java Programmer都很熟悉ArrayList提供的各种操作方法,但是真正了解其内部实现的又有多少人呢?今天通过我们通过阅读源码的方式,重新学习下ArrayList并了解其内部的实现。1、什么是ArrayList?先看下JDK源码中对ArrayList的介绍,如下:...
2019-07-28 23:21:03 318
原创 ThreadLocal源码分析
线程局部变量-ThreadLocal源码分析相信很多使用Java语言的同学在开发过程中都用到过ThreadLocal,或者是在面试时被问到过关于ThreadLocal的问题。不管是在开发中使用还是面试时回答,你是否足够了解ThreadLocal呢?今天我们通过分析源码的方式来重新学习ThreadLocal。1、什么是ThreadLocal?面试时面试官问关于ThreadLocal的问题,我觉...
2019-07-21 16:52:47 307
原创 阻塞队列之PriorityBlockingQueue源码分析
阻塞队列之PriorityBlockingQueue上一篇文章笔主介绍了Java中的优先级队列,即PriorityQueue,了解了其内部的具体实现。今天,我们再来学习下Java中的优先级阻塞队列,即PriorityBlockingQueue。PriorityBlockingQueue的定义我们看下JDK中对的PriorityBlockingQueue定义,如下:An unbounded...
2019-06-01 10:38:42 361
原创 优先级队列之PriorityQueue源码分析
优先级队列之PriorityQueue上一篇文章笔主介绍了BlockingQueue的实现类之一,即DelayQueue。了解到DelayQueue对于元素的存储是完全借助于PriorityQueue来实现的,今天,我们来学习下优先级队列之PriorityQueue。PriorityQueue的定义我们看下JDK中对的PriorityQueue定义,如下:An unbounded pri...
2019-05-31 09:41:38 384 1
原创 阻塞队列之DelayQueue源码分析
阻塞队列之DelayQueue上一篇文章笔主介绍了BlockingQueue的实现类之一,即ArrayBlockingQueue,了解了其内部的具体实现。今天,我们再来学习下BlockingQueue的另一个实现类DelayQueue。DelayQueue的定义我们看下JDK中对DelayQueue的定义,如下:An unbounded {@linkplain BlockingQueue...
2019-05-26 12:00:03 254
原创 阻塞队列之ArrayBlockingQueue源码分析
阻塞队列之ArrayBlockingQueue上一篇文章笔主介绍了BlockingQueue的实现类之一,即LinkedBlockingQueue,了解了其内部的具体实现。今天,我们再来学习下BlockingQueue的另一个实现类ArrayBlockingQueue。还是老套路,我们看下JDK中对ArrayBlockingQueue的定义,如下:A bounded {@linkplain...
2019-05-26 09:21:26 186
原创 阻塞队列之LinkedBlockingQueue源码分析
阻塞队列之LinkedBlockingQueue上一篇文章笔主介绍了BlockingQueue,了解了什么是阻塞队列,阻塞队列的支持的操作以及阻塞队列的应用场景。现在,我们来学习下BlockingQueue的实现类之一LinkedBlockingQueue。还是老套路,我们看下JDK中对LinkedBlockingQueue的定义,如下:An optionally-bounded {@li...
2019-05-19 08:49:13 258
原创 阻塞队列之BlockingQueue
阻塞队列之BlockingQueue从1.5版本开始,JDK提供了阻塞队列的接口及其不同的实现类,阻塞队列的接口为BlockingQueue。那么,先聊聊什么是队列。关于队列的定义,我们看下百度百科对于队列的定义。队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称...
2019-05-12 14:33:43 177
原创 走近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 320
原创 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 890
原创 Redis使用总结
Redis使用总结在项目开发过程中,笔主使用Redis也有一段时间了。在一些特性的场景,Redis能帮助我们解决一些问题。因此,总结一下分享给大家。1.使用Redis实现分布式锁使用Boolean setIfAbsent(K key, Vvalue)/** * Redis访问工具类 */@Componentpublic class RedisDao { private sta...
2018-12-03 16:45:50 595 1
原创 字符串的所有大小写组合问题
字符串的所有大小写组合问题题目描述:一个字符串,字符串中的字符只包含ASCII码内的值,请输出字符串的所有大小写组合(若包含非字母,直接输出即可)。输入:一个字符串,字符串中的字符只包含ASCII码内的值输出:字符串的所有大小写组合(若包含非字母,直接输出即可)样例输入:aa123bb样例输出:aa123bbAa123bbAA123bbAA123BbA...
2018-09-28 16:39:14 3788
原创 分布式锁-使用Redis实现分布式锁
使用Redis实现分布式锁关于分布式锁的实现,我的前一篇文章讲解了如何使用Zookeeper实现分布式锁。关于分布式锁的背景此处不再做赘述,我们直接讨论下如何使用Redis实现分布式锁。关于Redis,笔主不打算做长篇大论的介绍,只介绍下Redis优秀的特性。支持丰富的数据类型,如String、List、Map、Set、ZSet等。支持数据持久化,RDB和AOF两种方式支持集群工作模式...
2018-09-26 18:37:38 1058 1
原创 一道笔试题看出你是否掌握多线程
前段时间在某求职网站上受邀投递了阿里的某个职位,由于本人工作年限有限,项目经验也缺乏亮点,并没有期望简历能够通过筛选。某个下午,突然接到阿里面试官的电话,进行了简单的交流。面试官告知要先进行笔试,笔试题会在晚上某个时间发至本人的邮箱,3道笔试题,要求在90分钟内完成。通话结束后,既兴奋又惊慌,兴奋是简历通过筛选了,惊慌是没有做好足够的准备。 在这里先说下最终的结果吧,笔试后过了大概四五天,面试官...
2018-08-28 15:44:09 737 2
原创 浅谈Java中的克隆机制
从JDK1.0版本开始,Java语言就提供了克隆机制。看到“克隆”二字,我们可能会有一些疑问。克隆针对的是类还是对象?Java如何实现克隆?“克隆”二字对于我们并不陌生,克隆就是进行复制。现实生活中也有很多克隆的案例,比如克隆鱼、克隆羊等。从面向对象的角度来看,鱼、羊就是我们抽象出来的类,克隆鱼、克隆羊就是类的实例。所以,Java语言中克隆针对的是类的实例。克隆羊、克隆鱼都是基于细胞...
2018-08-23 22:59:07 10147 6
原创 多线程并行同步辅助工具之CountDownLatch
什么是CountDownLatchCountDownLatch这个类在多线程场景中已经用过跟多次了,一直没有认真总结下。今天来对这个类做个总结,算是重新学习下。 CountDownLatch类在java.util.concurrent包中,诞生于JDK1.5版本,是一个同步辅助工具。为了彻底了解它,我们来看下源码。/** * CountDownLatch是一个同步辅助工具,允许一个或更...
2018-08-16 15:32:05 325
原创 SpringBoot中注入RedisTemplate实例异常解决
最近,在项目开发过程中使用了RedisTemplate,进行单元测试时提示“Field redisTemplate in com.example.demo1.dao.RedisDao required a bean of type ‘org.springframework.data.redis.core.RedisTemplate’ that could not be found”,翻译过来就是“...
2018-08-10 18:36:03 156418 35
原创 分布式锁-使用Zookeeper实现分布式锁
使用Zookeeper实现分布式锁目前,分布式应用渐渐取代了传统的单体应用,也有越来越多的程序员投入到分布式应用开发中。既然是分布式开发,肯定会遇到共享资源的访问(修改)问题。单体应用中多线程访问(修改)共享资源,我们想到的解决方案是synchronized、ReentrantLock,以保证数据的安全性和一致性。那么问题来了,分布式应用如何实现分布式锁呢?好慌,打开浏览器百度一波,我们得...
2018-08-08 17:36:02 549 3
原创 初识datatables
**初识datatables**———-Datatables是一款jquery表格插件。它是一个高度灵活的工具,可以将任何HTML表格添加高级的交互功能。Datatables的特性不再进行介绍,本人也是最近做项目用到了datatables的插件,第一次接触datatables。使用前浏览了不少博客,发现这些博客介绍的datatables的参数过于复杂,并不太适合初学者使用。因此,本人直接浏览d
2016-05-24 18:29:45 907 1
空空如也
redis按照指定配置文件运行
2016-01-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人