自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蒙奇D灬小武的博客

初入IT小白

  • 博客(34)
  • 收藏
  • 关注

原创 读《文明、现代化、价值投资与中国》一点感受

最近拜读了《文明、现代化、价值投资与中国》,确实获益匪浅,感觉有必要记录下心得。李录,1966年出生于河北省唐山市,美籍华裔投资家兼对冲基金经理,是喜马拉雅资本资本的创始人,查理•芒格家族资产的主要管理者,巴菲特接班人之一。出版了一本书《文明、现代化、价值投资与中国》总是感慨,人与书的相遇是需要各种机缘巧合的,同时也像极了这世间人与人的相遇。初次接触这本书时给我的直观感觉——这是两本书,一本讲述中国的文明与现代化,一本关于价值投资。但是经过仔细阅读后发现这是两个紧密联系的话题,现代化过程本身其实

2022-02-11 23:01:14 4086

原创 2021-04-12——新特性Lambda表达式和Function函数式接口编程

语言新特性Lambda表达式和Function函数式接口编程前言:jdk1.8推出了lambda表达式和函数式接口编程,1、lambda在JSR(Java Specification Requests)首先,我们从JSR需求中可以看到,JSR335即为 Lambda Expressions for the JavaTMProgramming Langua 2、lambda在jsl(Java LanguageSpecifications)...

2021-04-17 19:31:24 599

原创 2021-03-27——自定义注解玩转SpringMVC

自定义注解玩转SpringMVC目录1、为什么使用注解1.1 使用注解的目的1.2元注解1.3 元注解释义2 内置注解3 在spring框架中常用注解介绍4 自定义注解实现MVC4.1 定义配置文件、自定义注解4.2 controller、service4.3 通过自定义注解实现MVC什么是注解?自Java5.0版本引入注解之后,它就成为了Java平台中非常重要的一部分。开发过程中,我们也时常在应用代码中会看到诸如@Override,@Deprecat.

2021-03-28 21:40:15 275

原创 2021-03-15——简述SpringIOC和DI的实现原理

简述SpringIOC和DI的实现原理Inversion of Control,所谓控制反转,就是原先我们代码需要实现的对象创建、依赖的代码,反转给容器便忙实现。那就需要一个容器、一种描述需要创建的对象与对象的关系,这种描述最具体的表现就是我们的配置文件。Dependency Injection,所谓依赖注入,被动接受依赖而不主动去找, 就是对象不是从容器中查找它依赖的类,而是在容器实例化对象的时候主动将它依赖的类注入给它。对象和对象的关系怎么表示?可以用xml、 properties

2021-03-15 23:37:08 291

原创 2021-03-14——玩转泛型

泛型写在前面:泛型程序设计(Generic programming)意味着编写的代码可以被很多不同类型的对象所重用。目录1 泛型(generic)2 为什么使用泛型3 泛型的可重用性4 泛型的不允许子类型化5 泛型的规则5.1 类型擦除5.1.1 类擦除、方法擦除5.1.2 编译器桥接5.1.3 堆污染5.2 翻译泛型表达式5.3 子类型规则5.3.1 类型边界5.3.2 通配符6 泛型的限制7 小结7.1 两个维度:7.2 Arr

2021-03-14 23:09:57 85

原创 2021-03-06——玩转反射在框架中的应用

玩转反射在框架中的应用前言:谈起反射,就不得不提字节码了,从字节码到反射类加载,到在框架中应用,到手写IOC和DI的实现1、字节码字节码文件是一连串的8位字节的二进制流,它包含的数据项是按照固定次序组成的,且相邻的项之间没有间隔。——正因为每一项结构都严格规范,所以才能顺利被解析。本次使用Java语言来讲述字节文件的结构。话不多说先放图,如下:对于文件中的16进制代码,除了开头的cafe babe,剩下的内容大致可以翻译成: 啥玩意啊这是......英雄莫慌,我们就从我们所能认识

2021-03-06 23:42:29 672

原创 访问者模式在JDK以及Spring源码中的应用

行为型模式目录1、访问者模式(Visitor Pattern)1.1 访问者模式UML图1.2 日常生活中看访问者模式1.3 Java代码实现2、访问者模式在源码中的应用2.1 JDK源码中访问者模式体现2.2 Spring源码中访问者模式体现3、访问者模式优缺点3.1 优点3.2 缺点3.3 使用场景3.4 注意事项1、访问者模式(Visitor Pattern)最复杂的设计模式,并且使用频率不高,《设计模式》的作者评价为:大多情况下,你不需要

2021-01-18 00:10:58 1128

原创 观察者模式在Spring、ZooKeeper以及Dubbo源码中的应用

行为型模式目录1、观察者模式1.1 观察者模式UML图1.2 日常生活中看观察者模式1.3 Java代码实现2、观察者模式在源码中的应用2.1 Spring源码中观察者模式体现2.1.1 spring2.1.2 深入源码理解事件监听执行流程2.2 ZooKeeper源码中观察者模式体现2.2.1 使用ZooKeeper动态监视每一台电脑ip2.2.2 ZooKeeper源码2.3 Dubbo源码中观察者模式体现3、观察者模式优缺点3.1 优点3

2021-01-17 22:28:12 522 1

原创 解释器模式在Spring源码中的应用

行为型模式目录1、解释器模式(Interpreter Pattern)1.1 解释器模式UML图1.2 日常生活中看解释器模式1.3 Java代码实现2、解释器模式在Spring源码中体现3、解释器模式优缺点3.1 优点3.2 缺点3.3 使用场景3.4 注意事项1、解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等

2021-01-17 22:14:11 497

原创 中介者模式在JDK源码中的应用

行为型模式1、中介者模式(Mediator Pattern)说起来也简单、好理解。生活中我们租房经常都是通过中介来实现的。一般租房要么是房东直租要么是中介。那么今天要讲的中介者模式和租房的这个中介是否有关系呢?当然是有点关系的。中介者模式是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,这个类就来处理不同类之间的通讯。租房中介也是这个道理。复制与各个房东和租户之间的通讯。将多对多简化成了一对多的关系。我们下面来具体看看到底是怎么回事吧!用来降低多个对象和类之间的通信复杂性。这种模

2021-01-17 22:13:32 376

原创 备忘录模式在Spring源码中的应用

行为型模式目录1、备忘录模式1.1 备忘录模式UML图1.2 日常生活中看备忘录模式与应用实例1.3 Java代码实现2、备忘录模式Spring源码中的提现3、备忘录模式优缺点3.1 优点3.2 缺点3.3 使用场景3.4 注意事项3.5 多备份实现1、备忘录模式备忘录这个词汇大家应该都不陌生,我就经常使用备忘录来记录一些比较重要的或者容易遗忘的信息,与之相关的最常见的应用有许多,比如游戏存档,我们玩游戏的时候肯定有存档功能,旨在下一次登录游戏时可以

2021-01-05 22:03:32 673

原创 状态模式在JSF源码中的应用

行为型模式目录1、状态模式1.1 状态模式UML图1.2 日常生活中看状态模式与应用实例1.3 Java代码实现2、JSF源码中状态模式体现3、状态模式优缺点3.1 优点3.2 缺点3.3 使用场景3.4 注意事项4、总结4.1状态模式要点4.2状态模式和策略模式对比1、状态模式在状态模式(State Pattern)中,类的行为是基于它的状态改变的。在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 contex..

2021-01-05 21:20:30 248 2

原创 命令模式在JDK以及JUnit源码中的应用

行为型模式目录1、命令模式1.1 命令模式UML图1.2 日常生活中看命令模式与应用实例1.3 Java代码实现2、命令模式在源码中的应用2.1 JDK源码中命令模式体现2.2 JUnit源码中命令模式体现3、命令模式优缺点3.1 优点3.2 缺点3.3 使用场景3.4 注意事项1、命令模式命令模式:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志。以及支持可撤销的操作。说白了,就是将一系列的请求

2021-01-03 23:20:26 613 5

原创 迭代器模式在JDK以及MyBatis源码中的应用

行为型模式目录1、迭代器模式1.1 迭代器模式UML图​1.2 日常生活中看迭代器模式与应用实例1.3 Java代码实现​2、迭代器模式在源码中的应用2.1 JDK源码中迭代器模式体现2.2 MyBatis源码中迭代器模式体现3、迭代器模式优缺点3.1 优点3.2 缺点3.3 使用场景3.4 注意事项4、总结1、迭代器模式迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。迭代器模

2021-01-03 23:19:42 421

原创 责任链模式在Dubbo以及Netty源码中的应用

行为型模式目录1、责任链模式1.1 责任链模式UML图1.2 日常生活中看责任链模式与应用实例1.3 Java代码实现2、责任链模式在源码中的应用2.1 Dubbo源码中责任链模式体现2.2 Netty源码中责任链模式体现3、责任链模式的优缺点3.1 优点3.2 缺点3.3 使用场景3.4 注意事项4、职责链模式存在以下两种情况1、责任链模式为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对象记住其下一个对象的引用

2021-01-03 23:18:53 285

原创 策略模式在JDK以及Spring源码中的应用

行为型模式目录1、策略模式1.1 策略模式UML图1.2 日常生活中看策略模式与应用实例1.3 Java代码实现2、策略模式在源码中的应用2.1 JDK源码中策略模式体现2.2 Spring源码中策略模式体现2.2.1 Spring MVC中 DispatcherServlet 使用策略模式2.2.2实例化对象的时候用到了Strategy模式3、策略模式的优缺点3.1 优点3.2 缺点3.3 应用场景3.4 注意事项4、总结与分析1、策略.

2020-12-24 22:21:32 1245

原创 模板方法模式在Netty以及MyBatis源码中的应用

行为型模式1、模板方法模式在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。

2020-12-24 20:50:59 386

原创 委派模式在JDK以及Spring源码中的应用

行为型模式目录1、委派模式1.1 委派模式UML类图1.2 日常生活中看委派模式1.3 Java代码实现2、委派模式在源码中的应用2.1 JDK源码中委派模式体现2.2 Spring源码中委派模式体现2.2.1 IOC中对象实例化委派模式2.2.2SpringMVC中,类DispatcherServlet3、委派模式优缺点3.1 优点3.2 缺点3.3 应用场景4、委派模式与代理模式异同1、委派模式委派模式不属于GOF23种设计模式,但.

2020-12-23 20:55:49 210

原创 桥接模式在JDK源码中的应用

结构型模式 ————顺口溜:适装桥组享代外目录1、桥接模式1.1桥接模式UML图1.2日常生活中看桥接模式与应用实例1.3Java代码实现2、桥接模式在JDK源码中体现3、桥接模式优缺点3.1 优点3.2 缺点3.3 使用场景3.4 注意事项4、桥接模式与适配器模式4.1适配器模式与桥接模式的区别和联系4.2适配器模式与桥接模式的联合5、总结1、桥接模式桥接(Bridge)是用于把抽象化与实现化...

2020-12-20 20:27:00 894 1

原创 适配器模式在Spring以及MyBatis源码中的应用

结构型模式 ————顺口溜:适装桥组享代外目录1、适配器模式1.1 适配器模式UML图1.2 日常生活中看装饰器模式1.3 应用实例1.4 Java代码实现1.4.1类适配器模式1.4.2对象适配器模式2、适配器模式在源码中的应用2.1 Spring源码中适配器模式体现2.1.1 AOP中的应用2.1.2 MVC中的应用2.2 MyBatis源码中适配器模式体现3、适配器模式的优缺点3.1 优点3.2 缺点...

2020-12-20 19:37:01 993 1

原创 组合模式在JDK以及MyBatis源码中的应用

结构型模式 ————顺口溜:适装桥组享代外1、组合模式

2020-12-20 18:22:32 656

原创 享元模式在Apache Pool源码中的应用

结构型模式 ————顺口溜:适装桥组享代外1、享元模式享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。说到享元模式,第一个想到的应该就是池技术了,String常量池、数据库连接池、缓冲池等等都是享元模式的应用,所以说享元模式是池技术的重要实现方式。比如我们每次创建字符串对象时,都需要创建一个新的字符串对象的话,内存开销会很...

2020-12-17 23:43:09 198

原创 装饰器模式在MyBatis以及Spring源码中的应用

结构型模式 ————顺口溜:适装桥组享代外目录1、装饰器模式1.1 装饰器模式UML图1.2 日常生活中看装饰器模式1.3 使用场景1.4 Java代码实现2、装饰器模式在源码中的应用2.1 MyBatis源码中装饰器模式2.1.1 Executor2.1.2 CachingExecutor (装饰器的具体实现对象)2.1.3 Cache2.1.4 具体使用2.2Spring源码中装饰器模式2.2.1Decorato...

2020-12-16 00:40:53 1742 1

原创 门面模式在MyBatis以及Tomcat源码中的应用

结构型模式 ————顺口溜:适装桥组享代外目录1、门面模式(外观模式)1.1 门面模式UML类图1.2 日常生活看门面模式1.3 使用场景1.4 Java代码实现2、门面模式在源码中应用2.1 MyBatis源码中门面模式体现2.2 Tomcat源码中门面模式体现3、门面模式优缺点及使用场景3.1 优点3.2 缺点3.3 注意事项3.4 使用场景1、门面模式(外观模式)外观模式(Facade Pattern)隐...

2020-12-14 01:11:14 476

原创 代理模式在Spring、MyBatis以及Feign源码中的应用

结构型模式 ————顺口溜:适装桥组享代外目录1、代理模式1.1 代理模式UML图1.2 日常生活中看代理模式1.3 使用场景1.4 java代码实现2、JDK动态代理问题2.1 为何调用代理类的方法就会自动进入InvocationHandler 的 invoke()方法呢?2.2 为什么被代理类要实现接口2.3 为什么JDK动态代理中要求目标类实现的接口数量不能超过65535个3、CGLib 和 JDK 动态代理对比4、代理模...

2020-12-12 22:08:56 720 1

原创 原型模式在JDK以及Spring源码中如何进行串联

1、原型模式

2020-12-12 18:32:25 407

原创 单例模式在JDK以及Spring源码中如何进行串联

创建型模式目录1、单例模式1.1 单例模式UML图1.2 日常生活中看单例模式1.3 使用场景1.4 具体例子1.4.1 背景1.4.2 网站计数的单例实现2、单例模式在源码中的应用2.1JDK源码中单例模式2.2 Spring源码中单例模式3、单例模式优缺点与场景3.1 优点3.2 缺点3.3 使用注意事项3.4 适用场景3.5 应用场景举例4、实现单利模式的原则和过程1、单例模式单例模式(Singleton Patte..

2020-12-08 23:52:11 889

原创 建造者模式在Netty,MyBatis以及spring源码中如何进行串联

1、

2020-12-07 23:13:24 378

原创 抽象工厂模式在spring源码中的应用

创建型模式目录1、抽象工厂模式1.1 抽象工厂的UML类图1.2 日常生活中看抽象工厂模式1.3 具体例子2、抽象工厂模式在spring源码中的应用3、抽象工厂优缺点3.1 优点3.2 缺点3.3 使用场景1、抽象工厂模式抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。在抽象

2020-12-02 00:16:41 2742 2

原创 工厂模式在Logback以及Dubbo源码中的应用

创建型模式目录1、工厂模式1.1 工厂模式的UML类图1.2 日常生活看工厂模式1.3 具体例子——拍摄《速度与激情8》需要车库外的车为例1.4 另一个例子,实现加减乘除,简单工厂模式与工厂模式异同比较2、工厂模式在Logback源码中的应用3、工厂模式在Dubbo源码中的应用4、简单工厂和工厂的区别4.1 简单工厂模式优点4.2 工厂模式4.3 工厂模式优点4.4 工厂模式缺点1、工厂模式工厂模式方法(factory method),定义一个用

2020-12-01 00:02:51 421

原创 简单工厂模式在Logback源码以及JDK源码中的应用

一、创建型模式1、简单工厂模式在Logback源码以及JDK源码中的应用

2020-11-30 00:31:12 761

转载 方法传入的始终是形参;

public class Test3 { private static int a; public static void main(String [] args) { modify(a); System.out.println(a); } public static void modify(int a) { a++; }}打印结果是0;;;新手总是认为打印应该是1;但实际上在...

2018-04-21 01:25:14 182

原创 深入理解 == 与 equals 的区别,

    大家基本都知道:1、==:        基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean   他们之间的比较,应用双等号(==),比较的是它们的值。        复合数据类型(类)   当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true...

2018-04-21 01:08:37 175

转载 一道面试题:StringBuffer a=new StringBuffer ("A"); StringBuffer b=new StringBuffer

这两天看到,深入理解一下。public class Jtest{ public static void main(String[] args) { StringBuffer a=new StringBuffer ("A"); StringBuffer b=new StringBuffer ("B"); o...

2018-04-18 20:12:10 3443

空空如也

空空如也

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

TA关注的人

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