- 博客(18)
- 收藏
- 关注
原创 JDK源码那些事儿之传说中的AQS-独占锁
上一篇文章中笔者已经介绍过AQS的基础知识,但是更加具体的源码实现还未涉及,本篇文章笔者就结合具体的AQS实现类来聊一聊AQS的独占锁实现过程
2020-10-24 14:33:02 179 1
原创 JDK源码那些事儿之传说中的AQS-概览
从这篇文章开始分析JDK源码中AQS的底层实现原理,作为多线程访问共享资源的同步器框架基础实现,涉及到的东西还是比较多的,一起来看看传说中的AQS实现吧
2020-07-04 11:55:21 162
原创 JDK源码那些事儿之LockSupport
前面一篇文章中说明了Object的阻塞唤醒机制,今天我们要讲解另一个类LockSupport,在AQS中你能看见它的身影,所以需要提前了解其实现和使用机制,便于后面深入AQS的学习
2020-05-10 11:50:57 163
原创 JDK源码那些事儿之万物之源Object
从这篇文章开始进行AQS相关的学习,如果你还不明白什么是AQS,可以先去了解下,由于涉及的源码众多,笔者会一步一步进行深入说明整理,在学习AQS前,有很多基础知识是需要我们先去了解的,比如本文所说的Object
2020-04-29 12:26:08 167
原创 JDK源码那些事儿之神秘的ThreadLocal下篇
上一篇文章中说明了ThreadLocal的使用,部分源码实现以及Thread,ThreadLocal,ThreadLocalMap三者之间的关联关系,其中核心实现ThreadLocalMap将在本篇文章中进行讲解,让我们一起来探究下jdk中的ThreadLocalMap是如何实现的
2020-03-28 16:12:37 138
原创 JDK源码那些事儿之神秘的ThreadLocal上篇
在java中,ThreadLocal算是一个比较神秘的类了,我相信如果没接触过Spring源码或者一直在做CRUD操作的开发者一般也很少能接触到它,但是面试时却经常被问到,其实对于更深层次的学习,是需要去了解其使用和实现的,今天就一起了解下这个神秘的ThreadLocal
2020-03-15 15:21:51 149
原创 JDK源码那些事儿之FutureTask
上一篇文章中我们已经介绍了ThreadPoolExecutor线程池,在通过submit方法提交执行任务时曾提及可以跟踪任务执行状态的FutureTask,那么在jdk中是如何实现的呢?
2020-02-28 09:43:00 129
原创 JDK源码那些事儿之ThreadPoolExecutor
前面的文章中分析了Thread的源码,并介绍了其基本应用,然而在实际的企业级应用中执行任务的线程很少直接通过创建Thread,实现run方法的方式完成,通常是通过线程池的方式提交任务来更好的利用资源,进一步简化线程的使用,并防止线程资源的滥用。今天我们就一起来学习下ThreadPoolExecutor的源码,看一看jdK中线程池是如何创建和使用的
2020-02-18 10:45:23 103
原创 JDK源码那些事儿之浅析Thread下篇
上一篇文章对Thread的状态转换和其中的部分源码进行了一个说明,今天继续对Thread源码进行解读,有很多涉及到底层的知识,笔者这里也只能进行简单了解,一起看一看吧
2020-01-12 18:06:07 156
原创 JDK源码那些事儿之浅析Thread上篇
JAVA中多线程的操作对于初学者而言是比较难理解的,其实联想到底层操作系统时我们可能会稍微明白些,对于程序而言最终都是硬件上运行二进制指令,然而,这些又太过底层,今天来看一下JAVA中的线程,浅析JDK源码中的Thread类,之后能帮助我们更好的处理线程问题
2019-12-29 15:29:13 122
原创 rocketmq那些事儿之本地调试环境搭建
上一篇文章中我们已经介绍过rocketmq的集群环境搭建,然而在源码的学习中我们还需要进行本地的调试和问题的定位查找,毕竟还是在本地方便些,今天就说一说如何进行源码的本地调试下载编译对于rocketmq源码部分的学习,我们当然要先去官网将源码下载到本地,这里笔者使用的是4.5.2版本,从github上官网上下载:https://github.com/apache/rocketmqrock...
2019-12-22 19:35:58 478
原创 算法那些事儿之堆排序
算法和数据结构可能是大多数初级程序员都不喜欢了解的知识,毕竟涉及到很多数学算法,之前曾经看过一些老师讲解的课程,讲解了程序员应该了解的数学知识,如果仔细了解的话,应该会发现,无论什么编程语言都包含了数学概念,而且,越深入学习越需要了解更多的算法和数据结构知识前言堆排序作为排序算法里的一种,本身而言不算特别复杂,需要认真理解即可明白,写这篇主要是因为源码学习中涉及到了,而且本身也需要在学习算法和...
2019-12-14 10:09:58 105
原创 JVM那些事儿之内存区域
相信绝大多数java开发者或多或少的都应该知道jvm,但是有多少人又深入去了解过,笔者深感自身能力的不足,去看了些资料,觉得还是有必要整理下自己的学习记录,时常回头看看,多看多实践提升自己的能力,故开始进行jvm相关的知识梳理和记录,一起来学习吧前言从我们刚开始学习java时,我们就被告知其“一次编写,到处运行”的特点,随着学习和工作的深入,你也应该了解了构成这种特点的原因,说到这里,有点像中...
2019-12-13 22:08:38 88
原创 Docker那些事儿之编排工具docker-compose
前面已经讲解过docker的一些基础使用,镜像创建的操作过程,如果大量容器需要同时部署,一个一个容器进行服务器上的部署,估计要疯掉,在使用上我们需要找到更好更便捷的使用方式,今天要讲解的容器编排工具docker-compose就是其中之一简介Compose是一个用于定义和运行多容器Docker应用程序的工具。使用Compose,您可以使用YAML文件来配置应用程序的服务。然后,使用单个命令,...
2019-12-13 22:06:19 118
原创 Docker那些事儿之镜像创建
之前已经了解了docker的基本使用方式,简单的上手,也能让大部分人了解到这个技术的使用方法,今天继续说明docker如何构建自己所需要的镜像,开发人员掌握使用基础即可,有兴趣的可以自行深入研究前言docker的相关操作命令不是本文的重点部分,自行查找资料或去官网学习,另外,docker也有其api接口(类似restful api),需要使用时需要进行设置开启api端口,具体参照官网本文主要...
2019-12-13 22:05:58 116
原创 Docker那些事儿之初识Docker
公司内部一直在使用Docker进行服务的部署和应用的升级,从开始使用Docker一直到线上的部署以及一些基础服务的开发本人都有参与,而且自己的网站也是在Docker的基础之上进行构建的,想想也需要总结下,才能更好的使用这个工具,本篇就先进行一些简单的基础说明以便新人了解简介Docker 是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。Docker可以让开发者打包他们的...
2019-12-13 22:05:14 81
原创 rocketmq那些事儿之集群环境搭建
上一篇入门基础部分对rocketmq进行了一个基础知识的讲解说明,在正式使用前我们需要进行环境的搭建,今天就来说一说rockeketmq分布式集群环境的搭建前言之前已经介绍了rocketmq的入门基础,相信各位已经基本了解,今天进行一个分布式集群的搭建,其实可以通过本地源码来进行源码的使用和学习,但是作为开发维护人员还是需要去了解分布式集群的部署流程,方便后面集群的调试和测试配置参数注意官...
2019-12-13 21:35:53 189
原创 rocketmq那些事儿之入门基础
分布式消息队列中间件作为高并发系统的核心组件之一,能够帮助业务系统解构提升开发效率和系统稳定性,其复杂性可见一斑,作为核心组件,有必要去深入了解学习前言分布式消息队列中间件主要具有以下优势:削峰填谷(主要解决瞬时写压力大于应用服务能力导致消息丢失、系统奔溃等问题)系统解耦(解决不同重要程度、不同能力级别系统之间依赖导致一死全死)提升性能(当存在一对多调用时,可以发一条消息给消息系统,让...
2019-12-13 21:34:32 331
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人