- 博客(30)
- 资源 (7)
- 收藏
- 关注
原创 串行处理的优化方式有哪些?
在做业务功能的时候,难免会遇到一个功能需要几部分的信息,结果获取完毕后,然后把它们聚合起来构造对应的响应信息,通常情况下我们会把这些毫无相关的业务处理串行的处理掉,这种处理方式当然可以解决这个业务。但是考虑到接口响应时间相关的问题时,或许我们可以使用其它办法来提高它的响应速度。......
2022-06-02 11:35:19
691
原创 Spring IOC容器初始化源码剖析(三)
文章目录前言prepareBeanFactory(beanFactory);postProcessBeanFactory(beanFactory)invokeBeanFactoryPostProcessors(beanFactory)registerBeanPostProcessors(beanFactory)initMessageSourceinitApplicationEventMulticaster()onRefresh()registerListeners()Spring IOC容器初始化源码剖
2022-01-10 13:22:35
477
原创 Spring 5.x源码剖析-Beandefinition是如何创建的?
上一章我们了解了IOC容器的相关概念、如何通过代码实例化容器以及容器初始化的核心方法`refresh()`,本章开始初探`refresh()`,在阅读源码前,我们有必要先了解什么是`BeanFactory`以及`BeanDefinition`,这将有利于我们对接来下源码的理解。
2021-10-26 17:35:48
1498
原创 Spring IOC容器初始化之refresh()
知其然知其所以然,是我们做技术所追求的,但在繁忙的工作中也会难于顾及与此。从本文开始,抽出时间对`Spring 5.x`的`IOC容器`初始化的过程进行追踪梳理,探究学习`Spring`这件艺术品
2021-10-25 14:53:05
540
1
原创 通过编码的方式构建示意图?PlantUML你值得拥有!
前言工作中我们充分了解完需求后,会对需求绘制流程图、时序图等,在线编辑工具我们通常使用ProcessOn来进行绘制流程图或时序图等,除了拖拽式的构建,还有一种通过简单代码即可构建流程图或时序图等示意图的工具:PlantUML。PlantUML可以构建哪些示意图?PlantUML可以构建的示意图如下表所示: UML图 非UML图 时序图 JSON Data 用例图 YAML Data 类图 Network diagram (nwdiag)
2021-10-09 10:20:30
534
原创 MySQL explain你掌握了吗?
前言关于EXPLAIN想必每位同学都有使用过,工作中,我们可以通过它来查看慢SQL的执行计划,通过查看输出列,进而有针对性的对慢SQL进行优化,本文将对EXPLAIN的相关知识点进行梳理,做到加深印象,查漏补遗。语法EXPLAIN可以作用在SELECT、DELETE、INSERT、REPLACE和UPDATE语句上。EXPLAIN SELECT FROM tableName WHERE condition;...
2021-09-10 18:23:23
2536
1
原创 万字长文解析CGLib动态代理源码!
CGLIB是一个强大的,高性能,高质量的Code生成类库,它可以在运行期扩展Java类与实现Java接口。
2021-02-25 14:33:04
1936
10
原创 JDK静态代理与JDK动态代理你真的需要了解一下了!
说到动态代理不得不说AOP,它是OOP的补充,通过AOP思想我们可以把公共部分抽取出来,一方面减少了代码污染,另一方面也降低了各业务逻辑之间的耦合度。
2021-02-04 17:32:21
627
6
原创 虚拟机栈的栈元素是什么?可以了解一下!
JVM以方法作为最基本的执行单元,栈帧则是用于支持虚拟机进行方法调用与方法执行背后的数据结构,同样它也是JVM运行时数据区中的虚拟机栈的栈元素。
2021-01-30 17:55:31
1517
4
原创 类加载器与双亲委派模型你了解多少?
文章目录简介类与类加载器简介加载阶段是整个类加载过程中的一个阶段,《Java虚拟机规范》没有指明二进制字节流必须要从哪里获取、如何获取,那也意味着我们的类加载过程中,加载阶段是相对可控的。(不了解类记载过程的建议去了解一下本文不再赘述,传送门)。类与类加载器任意类都必须由加载它的加载器和这个类本身共同确立在JVM中的唯一性,每个类加载器都拥有一个独立的类名称空间。比较两个类是否“相等”,只有在这两个类是由同一个类加载器加载的前提下才有意义,否则,即使这两个类来源于同一个Class文件,被同
2021-01-27 19:13:57
337
2
原创 Class文件结构你有了解过吗?
文章目录1 Class文件结构1.1 Class的伪数据类型1.1.1 magic魔数1 Class文件结构Class文件是一组以8个字节为基础单位的二进制流,紧凑排列无分隔符。当存在需要占用8个字节以上空间的数据项时,则按照高位再迁的方式,分割为8个字节进行存储。1.1 Class的伪数据类型Class文件采用类似于C语言结构体的伪数据结构来存储数据,它有两种数据类型:无符号数,表。无符号数:基本的数据类型,以u1、u2、u4、u8分别来代表1、2、4、8个字节的无符号数,无符号数可以用
2021-01-18 11:57:56
411
原创 jps、jstat、jmap、jinfo、jstack必须掌握的命令你掌握了几个?
我们在给系统定位问题时,数据是我们分析问题的依据,工具则是我们运用掌握的知识来处理数据的一种手段。
2020-12-18 14:37:24
912
原创 ParallelGC的内存分配与回收策略
Java的自动内存管理的根本目标是自动化地解决两个问题:自动给对象分配内存、自动回收分配给对象的内存。
2020-12-15 16:27:41
1649
2
原创 垃圾回收算法你了解过吗?
Java堆和方法区,这两个区域不具有确定性:这部分内存的分配和回收是动态的,只有在运行期间内,才能确定创建哪些对象、方法执行时不同的逻辑分支、接口的多个实现类等,GC所关注的也正是这部分的内存如何管理。
2020-11-17 15:59:41
1548
原创 ServiceLoader与SpringFactoriesLoader源码剖析
SpringBoot中很多地方中使用了SPI扩展机制,那么它是什么实现的呢?
2020-08-31 16:18:30
516
原创 synchronized和volatile的底层实现剖析
在多线程并发中synchronized和volatile都扮演着重要的角色,volatile是轻量级的synchronized,volatile保证了共享变量的`可见性`(当一个线程修改共享变量时,另一个线程能比较后读取到变动后的值),它比synchronized的使用和执行成本更低(不会引起上线文切换和调度)。
2020-08-06 11:26:30
536
原创 单例模式中懒汉模式的线程安全问题浅析
单例模式与多线程的结合,使用过程中如果考虑的不全面,会造成一些意想不到的后果,本文将介绍如何正确在多线程中使用单例模式。
2020-07-09 14:32:59
9427
原创 定时调度Timer与ScheduledExecutorService的使用与源码解析
1.如何实现指定时间执行任务?2.如何实现按指定周期执行任务?3.Timer与ScheduledExecutorService的区别是什么?本文将介绍定时调度Timer与ScheduledExecutorService的使用及源码解析。
2020-07-07 16:36:39
10994
1
原创 ReentrantLock你了解多少?
ReentrantLock你了解多少?本文将介绍ReentrantLock类的使用,ReentrantReadWriteLock类的使用。
2020-07-03 14:17:14
10832
原创 一文详解wait与notify
1)使用wait/notify实现线程间的通信。2)生产者/消费者模式的实现。3)方法join的使用。4)ThreadLocal类的使用。
2020-05-28 14:49:29
11023
原创 一文详解synchronized与volatile
1)synchronized对象监视器为Object时的使用;2)synchronized对象监视器为Class时的使用;3)非线程安全是如何出现的;4)volatile的主要作用;5)volatile与synchronized的区别及使用情况。
2020-04-28 14:55:12
10656
elasticsearch-7.11.1与apache-skywalking-apm-es7-8.4.0安装包
2021-04-29
JDK 9 JDK1.9 x64位下载
2020-11-20
window-hsdis-amd64.zip
2020-07-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人