自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 Forest研究之:开篇

前言本篇栏目主要和大家分享我对国内一款开源框架Forest的一些研究学习文章。如果大家也在对他感兴趣,并且对他底层实现有一定的好奇,希望我的这个栏目文章可以给到大家一些帮助,节省大家的时间,更快的了解到他。为什么我会想要使用这个开源框架确实,如果是调用接口,我们实在是有太多的选择了,feign就是一个好的选择,或者用公司内部封装好的代码。为什么还要在自己的项目里引入一个自己不了解的框架呢?理由很简单,如下:...

2021-08-21 21:45:17 812

原创 Forest源码分析:如何注入将代理类注入Spring容器以及代理生成

前言本文源码基于Forest 1.5.2-BETA Spring boot starter该篇文章主要探究Forest的两个问题Forest如何将代理对象注入到Spring容器中Forest注入的代理对象是如何生成的背景什么是Forest?Forest 是一个开源的 Java HTTP 客户端框架,它能够将 HTTP 的所有请求信息(包括 URL、Header 以及 Body 等信息)绑定到您自定义的 Interface 方法上,能够通过调用本地接口方法的方式发送 HTTP 请求。

2021-08-21 21:44:51 1295

原创 Spring之路:解析Spring bean创建bean过程,顺便谈谈bean的生命周期

写在前面原本计划写一篇从启动代码开始,逐行分析Spring Boot整个启动过程的文章。写完第一部分发现这样做并不现实,而且也不合理,且成品对读者也友好。最后觉得,还是应该拆开,从不同部分去解读Spring这个框架。于是便有了该系列文章。该系列文章会均以源码为基础,一起来探索Spring这个框架(以Spring Boot2的方式)。该系列每篇文章都会带着一个疑问去看代码。本文的问题是:Spring是如何创建bean的?在什么时候创建?原型和单例的bean的创建有何不同?Spring中bean的生命周期

2021-04-15 23:25:39 464 2

原创 Design Pattern之路——装饰者模式

前言当你在开发过程中想要对某个类进行功能扩展的时候,第一给想到的方法往往是继承该类对该类进行扩展。但是滥用继承会造成系统的不必要的复杂性,而且子类过多的依赖父类,特别是多层继承的情况下,逻辑的实现在各个层次跳来跳去,容易让人困惑。这个时候,我们的装饰者模式或许能够帮到你。定义动态的将新功能附加到对象上。在对象功能扩展方面,它比继承更有弹性。——《head first 设计模式》也就是说...

2019-07-07 21:48:59 150

原创 Design Pattern之路——观察者模式

前言今天一起来学习观察者模式,这是一个非常好用的模式,我们平时在很多框架中都能看到它的使用,比如Spring中的Listener。现在我们通过一个场景,一起去探索这个模式——观察者模式。注:对于模式每个人的具体实现可能不一样,但思想是一样的。定义先从定义上了解一下观察者模式:定义了对象之间的一对多依赖,当一对象改变了状态,它所有依赖者都会收到通知,并自动更新。简而言之,就是当被观察...

2019-06-29 20:12:43 113

原创 Design Pattern之路——策略模式,接口的魔力

前言该文主要通过一个场景的实现来介绍策略模式,当然对于设计模式本身的理解,每个人都有自己的理解,如果角度不同,看法自然不同,还请大家不吝指教,多多交流。定义引用《First Head 设计模式》一书中对策略模式(strategy Pattern)的定义:策略模式定义了算法簇,分别封装起来,让它们之间可以相互替换。让算法独立于使用者。我认为策略模式的精华就在于它能够让算法独立于使用者,...

2019-06-23 11:04:54 133

原创 LeetCode之路——二叉树的垂序遍历(JAVA实现)

前言该题的实现是本人自己的实现,脑子愚笨,肯定不是最好的实现,该文只是学习记录,如果能帮到你,是我的荣幸。JDK版本1.8题目给定二叉树,按垂序遍历返回其结点值。对位于 (X, Y) 的每个结点而言,其左右子结点分别位于 (X-1, Y-1) 和 (X+1, Y-1)。把一条垂线从 X = -infinity 移动到 X = +infinity ,每当该垂线与结点接触时,我们按从上到下...

2019-06-21 12:44:35 441

原创 JVM之运行时数据区域介绍---以在堆中对象创建、布局、访问的过程为例

前言全文共分为三部分,分别为java运行时数据区域、JVM的垃圾收集算法与算法垃圾收集器。参考资料《深入理解JAVA虚拟机》作者周志明,基于JDK1.7。一、java运行时数据区域运行时数据区域是指JVM在执行JAVA程序时会把它所管理的内存划分为若干个不同的数据区域,如下图:其中方法区与堆这两块内存随着虚拟机进程的启动而存在,整个程序结束而收回,而诸如虚拟机栈、本地方法栈、程序计数器这...

2019-06-08 20:01:14 134

原创 Spring-boot之启动原理--源码分析+实现ApplicationContextInitializer和SpringApplicationRunListener

阿斯达

2019-05-20 01:00:11 677

原创 SpringAOP详细介绍+实现原理(个人理解)

前言一切皆为学习交流。本文主要介绍Spring AOP,以及我对它的实现原理的理解。在介绍spring AOP的过程中顺带展示如何使用基于注解的Spring AOP何为AOP大家都知道OOP(Object-Oriented Programing,面向对象编程),OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。但是,当我们需要对那些分散的对象加入一些公共行...

2019-05-14 15:54:55 1637

原创 HashMap为什么不是线程安全?

前言该试题从互联网获得,真实性没有考究,加上本人学识浅薄,所以面试题参考为主,解析分享为主。若对解析有不同看法,还请评论指正。谢谢。HashMap为什么不是线程安全?以JDK1.8的HashMap为例,引用作者: 一字马胡 所写文章中的一张图:上图为...

2019-05-03 22:07:41 25490 8

原创 Docker详细介绍

一、前言本文为学习Docker的笔记,本人学识浅薄,有错误之处还请指出。本文主要以概念总结为主,操作就不进行赘述,因为网络上写的好的前辈大有所在。二、为什么会出现Docker当一款产品需要从开发到上线,必须得经历开发+部署两个阶段,在这两者之间,我们不得不面对各种各样的问题,比如环境问题,版本迭代后环境的兼容问题。相信有开发经验的小伙伴都能经过要把在windows上的开发好的应用转移到Lin...

2019-04-30 00:49:46 140

原创 ArrayList源码学习笔记

一、ArrayList继承结构java.lang.Object java.util.AbstractCollection<E> java.util.AbstractList<E> java.util.ArrayList<E> 所有实现的接口Serializable , Cloneable , Iterable <E>, C...

2019-04-07 22:54:21 187

原创 在spring-boot2.14下利用JPA进行测试级联删除出现事物自动回滚的解决

在spring-boot2.14下利用JPA进行测试级联删除出现事物自动回滚的解决所写之文是用于记录平日自己学习过程中的一些总结,学识浅薄还请一笑了之。在一次做项目中,测试一个级联删除时,没有报错,但是事务总是回滚。背景:现有两个类为Order.class以及OrderDetail.class分别代表实体订单以及订单详情,两者关系为1:n//Order.class//为1的一方,放弃维...

2019-04-06 23:20:03 997 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除