自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2021-10-24

Spring七大模块Spring core:提供了Spring框架基本功能(IOC功能),如BeanFactory创建对象、读取xml文件实例化对象、管理组件生命周期等Spring AOP:面向切面编程思想,同时也提供了事务管理Spring MVC:提供了MVC设计模式的实现Spring Context:提供了Spring上下文环境,以及其他如国际化、Email等服务Spring ORM:提供了对Hibernate、myBatis的支持Spring DAO:提供了 对D

2021-10-24 19:35:37 299

原创 每日学习一个设计模式--访问者模式

访问者模式定义将作用于某种数据结构中的各元素的操作分离出来封装成独立的类,使其在不改变数据结构的前提下可以添加作用于这些元素的新的操作,为数据结构中的每个元素提供多种访问方式。它将对数据的操作与数据结构进行分离,是行为型模式中最复杂的一种模式(访问者(Visitor)模式是一种对象行为型模式)结构抽象访问者(Visitor)角色:定义一个访问具体元素的接口,为每个具体元素类对应一个访问操作 visit() ,该操作中的参数类型标识了被访问的具体元素。具体访问者(ConcreteVisitor

2020-07-09 14:46:20 184

原创 每日学习一个设计模式--备忘录模式

备忘录模式定义在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后当需要时能将该对象恢复到原先保存的状态。该模式又叫快照模式结构发起人(Originator)角色:记录当前时刻的内部状态信息,提供创建备忘录和恢复备忘录数据的功能,实现其他业务功能,它可以访问备忘录里的所有信息。备忘录(Memento)角色:负责存储发起人的内部状态,在需要的时候提供这些内部状态给发起人。管理者(Caretaker)角色:对备忘录进行管理,提供保存与获取备忘录的功能,但其不能对

2020-07-08 11:26:18 209

原创 每日学习一个设计模式--迭代器模式

迭代器模式定义提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。迭代器模式是一种对象行为型模式,其主要优点如下结构抽象聚合(Aggregate)角色:定义存储、添加、删除聚合对象以及创建迭代器对象的接口。具体聚合(ConcreteAggregate)角色:实现抽象聚合类,返回一个具体迭代器的实例。抽象迭代器(Iterator)角色:定义访问和遍历聚合元素的接口,通常包含 hasNext()、first()、next() 等方法。具体迭代器(Concretelter

2020-07-08 11:25:00 154

原创 每日学习一个设计模式--中介者模式

中介者模式定义定义一个中介对象来封装一系列对象之间的交互,使原有对象之间的耦合松散,且可以独立地改变它们之间的交互。中介者模式又叫调停模式,它是迪米特法则的典型应用结构抽象中介者(Mediator)角色:它是中介者的接口,提供了同事对象注册与转发同事对象信息的抽象方法具体中介者(ConcreteMediator)角色:实现中介者接口,定义一个 List 来管理同事对象,协调各个同事角色之间的交互关系,因此它依赖于同事角色抽象同事类(Colleague)角色:定义同事类的接口,保存中介者对象

2020-07-07 11:30:04 164

原创 深入浅出系列之cookie跨域

cookie定义Cookie 技术产生源于 HTTP 协议在互联网上的急速发展。随着互联网的快速发展,人们需要更复杂的互联网交互活动,就必须同服务器保持活动状态。为了适应用户的需求,技术上推出了各种保持Web浏览状态的手段,其中就包括了Cookie技术工作原理浏览器第一次访问服务器服务器生成COOKIE,并设置SESSIONID服务器返回COOKIE给浏览器浏览器本地保存COOKIE之后每次HTTP请求浏览器都会将COOKIE发送给服务器端cookie构成字段作用

2020-07-06 21:40:55 977

原创 每日学习一个设计模式--状态模式

状态模式定义对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为;状态模式把受环境改变的对象行为包装在不同的状态对象里,其意图是让一个对象在其内部状态改变的时候,其行为也随之改变(环境类包含状态类对象,不同状态设置不同的状态对象,将不同状态下的行为实现放到状态类中)结构环境(Context)角色:也称为上下文,它定义了客户感兴趣的接口,维护一个当前状态,并将与状态相关的操作委托给当前状态对象来处理。抽象状态(State)角色:定义一个接口,

2020-07-06 13:38:35 136

原创 每日学习一个设计模式--命令模式

命令模式定义将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行储存、传递、调用、增加与管理结构抽象命令类(Command)角色:声明执行命令的接口,拥有执行命令的抽象方法 execute()。具体命令角色(Concrete Command)角色:是抽象命令类的具体实现类,它拥有接收者对象,并通过调用接收者的功能来完成命令要执行的操作。实现者/接收者(Receiver)角色:执行命令功能的相关操作,是具体命令对象业务的

2020-07-05 11:17:16 167

原创 深入浅出系列之cron表达式详解

cron表达式定义Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义;Cron表达式有如下两种语法格式:秒 分 时 日 月 周 年(可选)秒 分 时 日 月 周cron表达式结构Seconds (秒)Minutes(分)Hours(小时)Day-of-Month (天)Month(月)Day-of-Week (周)Year(年)各字段的含义字段允许值允许的特殊字符秒(Seconds)0~59的整数,

2020-07-04 22:44:14 280

原创 深入浅出系列之深入理解JAVA继承

深入理解JAVA继承特性继承是将父类对象包含在子类对象中,父类对象中所有的一切皆在子类对象中父类private字段和方法只是对子类不可见,实际仍旧是存在的在子类中声明与父类同名的字段时,例name,此时子类中包含两个name字段:this.name,super.name当不重写父类方法时,调用的就是父类对象的方法,其实操作的就是父类对象若重写父类方法,根据Java多态的特性,调用的是子类重写方法,父类方法只有通过super指针调用多态只对方法起作用,不对字段起作用举例实例1//父类

2020-07-04 21:59:14 1070

原创 每日学习一个设计模式--策略模式

策略模式定义该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理结构抽象策略(Strategy)类:定义了一个公共接口,各种不同的算法以不同的方式实现这个接口,环境角色使用这个接口调用不同的算法,一般使用接口或抽象类实现具体策略(Concrete Strategy)类:实现了抽象策略定义的接口,提供具体的算法实现环境(C

2020-07-04 17:12:22 128

原创 深入浅出系列之字符集及编码

字符集及编码基本概念字符(Character) 是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等字符表是一个系统支持的所有字符的集合字符集(Character set) 又称编码字符集,是一个包含字符表中每一个字符和对应整数(码位值)映射关系的集合码位值是一个字符在某个字符集中的映射的值,一般是一个整数。字符编码(Character encoding) 是把一个码位值转换为用于存储和传输的二进制序列的方式。是把字符集中的字符编码为特定的二进制数(码位值),以便在计算机中存储。

2020-06-29 22:43:18 338

原创 每日学习一个设计模式--组合模式

组合模式定义有时又叫作部分-整体模式,它是一种将对象组合成树状的层次结构的模式,用来表示“部分-整体”的关系,使用户对单个对象和组合对象具有一致的访问性结构抽象构件(Component)角色:它的主要作用是为树叶构件和树枝构件声明公共接口,并实现它们的默认行为。在透明式的组合模式中抽象构件还声明访问和管理子类的接口;在安全式的组合模式中不声明访问和管理子类的接口,管理工作由树枝构件完成。树叶构件(Leaf)角色:是组合中的叶节点对象,它没有子节点,用于实现抽象构件角色中 声明的公共接口

2020-06-29 12:54:31 129

原创 每日学习一个设计模式--享元模式

享元模式定义运用共享技术来有効地支持大量细粒度对象的复用。它通过共享已经存在的又橡来大幅度减少需要创建的对象数量、避免大量相似类的开销,从而提高系统资源的利用率结构抽象享元角色(Flyweight):是所有的具体享元类的基类,为具体享元规范需要实现的公共接口,非享元的外部状态以参数的形式通过方法传入具体享元(Concrete Flyweight)角色:实现抽象享元角色中所规定的接口非享元(Unsharable Flyweight)角色:是不可以共享的外部状态,它以参数的形式注入具体享元的相

2020-06-28 12:57:37 181

原创 每日学习一个设计模式--外观模式

定义是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体的细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性。结构外观(Facade)角色:为多个子系统对外提供一个共同的接口。子系统(Sub System)角色:实现系统的部分功能,客户可以通过外观角色访问它。客户(Client)角色:通过一个外观角色访问各个子系统的功能。实现public class FacadePattern{

2020-06-24 14:37:35 145

原创 每日学习一个设计模式--装饰者模式

装饰模式定义指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属于对象结构型模式结构抽象构件(Component)角色:定义一个抽象接口以规范准备接收附加责任的对象具体构件(Concrete Component)角色:实现抽象构件,通过装饰角色为其添加一些职责抽象装饰(Decorator)角色:继承抽象构件并包含具体构件的实例,可以通过其子类扩展具体构件的功能具体装饰(ConcreteDecorator)角色:实现抽象装饰的相关方法,并给具体构件对

2020-06-19 11:24:13 152

原创 每日学习一个设计模式--桥接模式

桥接模式定义桥接(Bridge)模式的定义如下:将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。某些类具有两个或多个维度的变化,如图形既可按形状分,又可按颜色分。具体来说, 就是抽取其中一个维度并使之成为独立的类层次, 这样就可以在初始类中引用这个新层次的对象, 从而使得一个类不必拥有所有的状态和行为。结构抽象化(Abstraction)角色:定义抽象类,并包含一个对实现化对象的引用。(基础维度)扩展抽象化(Refined

2020-06-18 14:50:25 166

原创 深入浅出系列之JAVA反射(java.lang.reflect及Class类详解)

JAVA反射获取class对象引用的三种方式Object类中的getClass()方法,object.getClass();通过对象静态属性 .class来获取对应的Class对象(类字面常量)Class.forName("")import cn.easycode.mycode.po.Student;public class Solution { public static void main(String[] args) { Student stu = new Stude

2020-05-10 00:50:30 3641 1

原创 深入浅出系列之Java注解

Java注解的使用基本概念Java 注解是JDK5.0引入的注释机制,可以被使用在类,方法,参数等地方中,并且可以通过Java的反射机制获取注解中的内容,注解相当于标签,可以标识方法,类或属性具有某些特征,在编译器生成的类文件时,可以被嵌入到字节码中。另外用户可以自定义注解,完成定制化的开发,尤其是在利用springboot进行项目开发时,我们会经常使用注解管理spring容器的bean,从...

2020-04-18 19:25:04 215

原创 深入浅出系列之JAVA基本类型及位运算

原码、反码和补码原码,反码,补码的产生过程,就是为了解决,计算机做减法和引入符号位(正号和负号)的问题。原码*原码:*是最简单的机器数表示法。用最高位表示符号位,‘1’表示负号,‘0’表示正号。其他位存放该数的二进制的绝对值。反码反码:正数的反码还是等于原码;负数的反码就是他的原码除符号位外,按位取反。补码补码:正数的补码等于他的原码 负数的补码等于反码+1。 (这只是...

2020-04-11 22:40:45 210

原创 每日学习一个设计模式--适配器模式

适配器模式定义将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。适配器模式分为类结构型模式和对象结构型模式两种,前者类之间的耦合度比后者高,且要求程序员了解现有组件库中的相关组件的内部结构,所以应用相对较少些。模式的结构目标(Target)接口:当前系统业务所期待的接口,它可以是抽象类或接口。适配者(Adaptee)类:它是被访问和...

2020-02-28 11:35:31 155

原创 力学笃行系列之List自定义排序

问题场景公司业务需求,从数据库中返回一个List对象,List中存储的map对象,要求对List进行排序。可以通过重写Comparator接口,实现对List的自定义排序。问题描述List中存储为map对象Map中包含key值分别为"gradeName"、“className”实现对班级的有序排列排序前数据:小六(1)班、高三(5)班、高二(6)班、高三(2)班、高一(3)...

2020-02-26 19:14:22 266

原创 每日学习一个设计模式--代理模式

代理模式定义由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介结构与实现结构抽象主题(Subject)类:通过接口或抽象类声明真实主题和代理对象实现的业务方法。真实主题(Real Subject)类:实现了抽象主题中的具体业务,是代理对象所代表的真实对象,是最终要引用的对象。代理(P...

2020-02-23 16:59:55 153

原创 每日学习一个设计模式--建造者模式

建造者模式定义指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。它是将一个复杂的对象分解为多个简单的对象,然后一步一步构建而成。它将变与不变相分离,即产品的组成部分是不变的,但每一部分是可以灵活选择的。结构产品角色(Product):它是包含多个组成部件的复杂对象,由具体建造者来创建其各个滅部件指挥者(Director):它...

2020-02-19 13:45:32 148

原创 每日学习一个设计模式--简单工厂、工厂方法和抽象工厂模式

简单工厂、工厂方法、抽象工厂简单工厂:一个工厂类,一个抽象产品;缺点:添加新功能时,违反开闭原则;工厂方法:一个抽象工厂、一个抽象产品;一个工厂生产一种产品;遵循开闭原则;抽象工厂:一个抽象工厂、多个抽象产品;一个工厂生产一系列产品簇;简单工厂定义简单工厂模式属于创建型模式又叫做静态工厂方法模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模...

2020-02-18 22:12:56 186

原创 深入浅出系列之正则表达式

正则表达式定义正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。(源自百度百科)作用字符串的匹配功能字符串的替换功能字符串的提取功能(提取子字符串)语法正则表达式组成普通字符:包括所有大写和小写字母、所有数字、所有标点符号和一些其他符号(除去后面定义的一...

2020-01-11 17:10:20 253

原创 每日学习一个设计模式--设计模式总纲

设计模式总纲设计模式有两种分类方法,即根据模式的目的来分和根据模式的作用的范围来分。设计模式的优点做到低耦合,高内聚针对适用的应用场景,提供解决方案根据目的来分创建型模式:用于描述“怎样创建对象”,它的主要特点是“将对象的创建与使用分离”。结构型模式:用于描述如何将类或对象按某种布局组成更大的结构。行为型模式:用于描述类或对象之间怎样相互协作共同完成单个对象都无法单独完...

2019-12-17 10:33:59 157

原创 每日学习一个设计模式--观察者模式(发布-订阅模式)

定义观察者(Observer)模式的定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式,它是对象行为型模式。模式的结构抽象主题(Subject)角色:也叫抽象目标类,它提供了一个用于保存观察者对象的聚集类和增加、删除观察者对象的方法,以及通知所有观察者的抽象方法具体主题(Con...

2019-12-03 10:45:19 310

原创 深入浅出系列之浅析Nginx服务器

Nginx服务器Nginx架构发展结果变成是一个模块化的,事件驱动的,异步的,单线程的非阻塞架构的nginx代码基础模块化的Nginx的模块从结构上分为核心模块、基础模块和第三方模块:核心模块:HTTP模块、EVENT模块和MAIL模块基础模块:HTTP Access模块、HTTP FastCGI模块、HTTP Proxy模块和HTTP Rewrite模块,第三方模块:H...

2019-12-02 17:48:06 196

原创 力学笃行系列之JAVA后台知识体系整理

这些知识可能要花费数年时间学习,仅供自己学习上有目标方向。JAVASEJAVA基础集合多线程(并发编程)JVM网络Java IO体系JAVAEESpring架构Spring工作原理Spring详细使用SpringMVC架构SpringMVC工作原理SpringMVC详细使用Mybatis架构Mybatis工作原理Mybatis详细使用Spring JP...

2019-12-02 15:21:52 458

原创 深入浅出系列之HTTP协议初探

定义http是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。相关知识点:URI\Request\Response\状态码请求消息Requesthttp请求由三部分组成,分别是:请求行、消息报头(请求头Header)、请求正文(Body)请求行:请求方法(GET\POST\HEAD\PUT\DELETE)、URL...

2019-11-29 15:39:58 521

原创 每日学习一个设计模式--责任链模式

定义责任链(Chain of Responsibility)模式的定义:为了避免请求发送者与多个请求处理者耦合在一起,将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。特点在责任链模式中,客户只需要将请求发送到责任链上即可,无须关心请求的处理细节和请求的传递过程,所以责任链将请求的发送者和请求的处理者解耦了。...

2019-11-29 13:51:32 130 1

原创 每日学习一个设计模式--面向对象设计原则

开放-关闭原则参考:http://c.biancheng.net/view/1322.html定义开闭原则(Open Closed Principle,OCP)由勃兰特·梅耶(Bertrand Meyer)提出,他在 1988 年的著作《面向对象软件构造》(Object Oriented Software Construction)中提出:软件实体应当对扩展开放,对修改关闭(Softwa...

2019-11-29 11:04:18 163

原创 初出茅庐系列之Servlet工作原理

ServletServlet如何被加载Servlet如何被初始化Servlet如何工作web.xml详解前言参考以下链接,在此感谢!https://www.ibm.com/developerworks/cn/java/j-lo-servlet/https://www.cnblogs.com/murthy/p/6560004.htmlServlet如何被加载Tomcat容器...

2019-11-28 21:58:35 120

原创 每日学习一个设计模式--模板方法模式

模板方法模式定义定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。它是一种类行为型模式特点提高代码复用性,将相同部分的代码放在抽象的父类中,而将不同的代码放入不同的子类中实现了反向控制,正确使用“钩子方法”可以使得子类控制父类的行为模式的结构抽象类:负责给出一个算法的轮廓和骨架。它由一个模板方法和若干个...

2019-11-27 22:34:51 226

原创 深入浅出系列之Tomcat系统架构

web服务器 – Tomcat浅析系统架构前言本文参考以下博客,在此感谢!https://blog.csdn.net/a745233700/article/details/88921203https://www.ibm.com/developerworks/cn/java/j-lo-tomcat1/定义Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器...

2019-11-27 22:30:03 215

原创 力学笃行系列之Spring和JDK设计中用到的设计模式

设计模式常用设计模式单例模式简单工厂工厂方法和抽象工厂代理模式命令模式策略模式门面模式桥接模式观察者模式工厂方法模式和抽象工厂模式有什么区别?工厂方法模式: 只有一个抽象产品类,具体工厂类只能创建一个具体产品类的实例抽象工厂模式: 有多个抽象产品类 ,具体工厂类能创建多个具体产品类的实例Spring中用到了那些设计模式简单工厂模式工厂方法单例模式代理模...

2019-09-28 10:06:50 484

原创 初出茅庐系列之计算机网络

TCP/IP三次握手TCP/IP四次挥手TCP如何保证可靠传输?三次握手协议数据包检验超时重传应答机制对失序数据包重排序TCP还提出流量控制

2019-09-26 11:39:51 138

原创 初出茅庐系列之JAVAWEB知识总结

JAVA WEB知识总结ServletJava Servlet实质上是一种小型的、与平台无关的Java类,其生命周期由服务器的Servlet容器管理。当服务器接收到客户端请求时,服务器调用并执行相应的Servlet动态生成响应内容,然后再由服务器返回给客户端。JSPJSP技术是将Java代码嵌入到HTML代码中形成JSP文件。JSP技术依然是基于Servlet技术的,虽然JSP在编...

2019-09-26 10:33:17 147

原创 初出茅庐系列之JAVAEE框架

JAVA WEB总体框架springSpring mvcmybatisSpring BootMavenSpringSpring IOC原理工厂+反射+配置文件 解耦<bean id="us" Class="com.imooc.UserServiceImpl">Class FactoryBean{ public Static Object getBean...

2019-09-02 11:59:29 191

bootstrap-fileinput-master.zip

bootstrap文件上传插件 GitHub地址:https://github.com/kartik-v/bootstrap-fileinput/ git地址:https://github.com/kartik-v/bootstrap-fileinput.git

2020-06-24

空空如也

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

TA关注的人

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