自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (1)
  • 收藏
  • 关注

原创 装饰者模式—对象也能换装啦

1.概念装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。是继承关系的一个替代方案。2.针对问题动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。不改变接口的前提下,增强所考虑的类的性能。何时使用:    1)需要扩展一个类的功能,或给一个类增加附加责任。    2)需要动态的给一个对象增加功能,这些功能可以再动态地撤销

2020-07-07 11:05:07 233

原创 单例模式-面试必问设计模式

概念: 单例模式,也叫单子模式,是一种常用的软件设计模式,属于创建型模式的一种。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复杂环境下的配...

2020-04-10 10:32:23 182

原创 python词云(含中文英文)

python词云from os import pathimport jiebaimport matplotlib.pyplot as pltimport numpy as npfrom PIL import Imagefrom wordcloud import WordCloud, STOPWORDS, ImageColorGeneratord = path.dirname(__...

2020-01-19 13:51:57 444

原创 Netty简单使用

Netty简单使用介绍:使用:io和NIO区别:1.pom文件2.服务端3.服务端处理类4.客户端5.客户端处理类介绍:Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。使用:hadoop、dubbo、akka等分布式功能框架io和NIO区别:NIO面向缓冲区,非阻塞(是通过选择器实现的)IO面向流,是阻塞的。1.pom...

2020-01-19 13:48:09 252

原创 基于spring5.0源码解析

基于spring5.0web容器的源码解析#####入口:spring启动的入口类为配置在web.xml中的监听器在ContextLoaderListener.java这个类里面:@Overridepublic void contextInitialized(ServletContextEvent event) { // 初始化web应用程序上下文 initWebApplicat...

2020-01-19 12:00:59 305

原创 外观模式--抽取复杂业务

1.概念:外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。门面模式又称为外观模式,它是一种对象结构型模式。2.面对场景当我们业务开发的时候,往往一个流程下来非常复杂,其中多个功能要一起完成或者失败,这种代码往往很复杂,这时候我们可以使用门面模式。简单的来说门面模式就是对外暴露一个口...

2020-01-17 18:05:58 244

原创 go语言下的单向双向链表

go语言下的单向双向链表package mainimport "fmt"// 链表结构体type Node struct { date int next *Node}// 双向链表结构体type TwoNode struct { date int next *TwoNode pre *TwoNode}// 展示遍历单向链表func showNode(n *N...

2020-01-15 14:49:38 148

原创 go语言下的单例模式

go语言下的单例模式懒汉模式package demo15import "sync"type Student struct {}var student *Student// 赖汉 非线程安全func GetLazyStudent() *Student { if student == nil { student = new(Student) } return stud...

2020-01-15 14:41:24 162

原创 @SpringBootApplication 注解解析

@SpringBootApplication 注解解析使用springboot第一步都是添加@SpringBootApplication,这个注解有什么作用呢?!看@SpringBootApplication 源码@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@Spr...

2020-01-07 16:35:45 292

原创 策略模式-代替过多的if-else

策略模式-代替过多的if-else简介策略模式简单的来说就是多了一个中间者来分配接下来做的事情看uml图context:策略入口,以及分配策略strategy:策略的抽象类xxxstrategy:具体策略例子拿支付来说,支付包括微信支付,支付宝支付等,不同的支付有不同的支付方式,如果用if-else-if太多,这里就可以使用策略模式上代码:context:public i...

2020-01-03 17:49:08 2740 1

原创 springboot2.3.0源码解读

1.构建源码环境下载源码https://github.com/spring-projects/spring-boot然后添加在最外面的pom添加配置:<disable.checks>true</disable.checks>然后新建一个项目,在【spring-boot-tests】目录下面然后修改【spring-boot-tests】的pom文件,添加自定义工程...

2020-01-03 10:31:45 435

spring5.0源码

spring5.0源码

2020-01-19

空空如也

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

TA关注的人

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