自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不死鸟的传说

那些杀不死我们的,只会让我们变得更强大

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

原创 我和我的ArrayList

文章目录ArrayList简介ArrayList源码整体结构ArrayList简介The ArrayList class extends AbstractList and implements the List interface. ArrayList supports dynamic arrays that can grow as needed.Standard Java arrays ...

2019-10-05 23:38:00 362 1

原创 利用RawImage实现淡入淡出效果

在进行场景切换时,常常会看到淡入淡出的效果。要是以前在unity中,可能会使用GUITexture去实现,但这个类在UnityEngine已经被舍弃了,转而可以使用RawImage去实现。1.在项目下右键->UI->Raw Image接着就可以看见多了Canvas->RawImage,EventSystem两项。2.选中RawImage,更改其中的配置...

2019-06-23 16:11:46 1472

原创 java.lang.IllegalStateException: Could not initialize plugin: interface org.mockito.plugins.MockMake

最近在用Spring Boot 2.1.4做项目的时候,写完单元测试运行,抛出了如下的错误java.lang.IllegalStateException: Could not initialize plugin: interface org.mockito.plugins.MockMaker (alternate: null) at org.mockito.internal.conf...

2019-04-21 12:57:58 7533 3

原创 关于isEmpty(),null,“”的理解

关于null《心经》中有段话说的是“色即是空,空既是色”,那么这里的空指的是什么呢?用Java里术语来说就是null。null指的就是虚无,那怎么体现呢?且看下面小栗子Map<String,String> map = new HashMap<>();String b = map.get("b");if(b == null) { System.out.prin...

2019-01-14 21:21:33 9003 5

原创 表字段的处理(Sql Server)

目录 表的创建创建约束查看约束删除约束插入数据增加字段删除字段表的创建CREATE TABLE student("学号" char(8) not null,"姓名" char(8) not null,"性别" char(2) not null,"出生日期" date default(getdate()),"班级" char(10) null,".

2018-11-29 23:06:50 364

原创 23种设计模式之迭代器

目录 1.简介2.形式1.简介迭代器模式已经是一种没落的模式了,基本不会单独写一个迭代器。但其应用相当广泛,俨然已成为一种基础工具,如Java提供的Iterator。它对外提供一种方法用于访问一个容器对象中的每个元素,同时不会暴露该对象内部的细节信息。主要是为了解决遍历这些容器中的元素。主要包括抽象迭代器,具体迭代器,抽象容器和具体容器。迭代器部分主要负责实现访问和遍历元素。而...

2018-11-26 23:04:42 158

原创 为什么要用@Param

目录1.关于@Param2.原始的方法3.使用@Param4.后记1.关于@Param@Param是MyBatis所提供的(org.apache.ibatis.annotations.Param),作为Dao层的注解,作用是用于传递参数,从而可以与SQL中的的字段名相对应,一般在2=<参数数<=5时使用最佳。2.原始的方法当只有一个参数时,没什么好说的,...

2018-11-19 22:50:45 155438 21

原创 23种设计模式之适配器

目录 1.简介2.形式3.扩展1.简介将一个类的接口转换成客户端所期望的另一种接口,从而使两个由于接口不匹配无法一起工作的类可以一起工作。又称为变压器模式。它通常具有三个角色,目标角色,源角色,适配器角色,适配器角色作为适配器模式的核心角色,用于实现将原角色转换成目标角色。通常会在系统扩展的时候使用,解决接口不相容的问题,灵活性非常好。2.形式目标角色publ...

2018-11-18 21:27:21 108

原创 23种设计模式之策略

目录 1.简介2.优点3.缺点4.形式1.简介将每个算法都封装起来,并使他们之间可以互换。主要采用的使面向对象的继承和多态机制。2.优点由于都实现的是同一个接口,从而算法之间可以自由切换。具有良好的扩展性。3.缺点每一个策略都是一个类,复用的可能性很小,类数量增多。并且需要对外暴露所有的策略类,这违背了LKP。可通过工厂,代理等修正。4.形式抽象...

2018-11-13 23:39:51 138

原创 23种设计模式之装饰

目录 1.简介2.优点3.缺点4.形式1.简介动态的给某些对象增加一些额外的职责,就增加功能来说,它比生成子类更加灵活。主要由四个部分组成:抽象组件,它是最核心的原始对象;具体组件,是抽象组件的实现类;抽象装饰,继承自抽象组件;具体装饰,对组件对象进行修饰(可扩展)。2.优点由于装饰类和被装饰类可独立发展,因而可以解耦。可看作是继承的扩展方案。并且由于是动态的增...

2018-11-12 21:53:39 148

原创 23种设计模式之责任链

目录 1.简介2.优点3.缺点4.形式1.简介通过将这些对象连成一条链,并沿着这条链传递该请求,直到所有对象处理它为止。这样每个对象都会有机会处理请求,从而也就避免了请求的发送者和接收者之间的耦合关系。2.优点将请求和处理分开,两者解耦,提高系统的灵活性。3.缺点当链较长时,常常会引发两个问题。性能问题和调试问题,每个请求都从头遍历到尾,可想而知。4...

2018-11-08 23:20:39 108

原创 URL参数值获取getQueryString

目录介绍实现讲解获取介绍正常情况下的URL是这样的https://blog.csdn.net/sinat_33010325这样的https://blog.csdn.net/sinat_33010325?a=1还有这样的https://blog.csdn.net/sinat_33010325?a=1&amp;ab=2&amp;abc=3&amp;abcd=4没错,...

2018-11-06 21:56:53 27901 2

原创 23种设计模式之命令

目录 1.简介2.优点3.缺点4.形式5.扩展1.简介将一个请求封装成一个对象,从而可以使用不同的请求把客户端参数化,对于请求排队或者记录请求日志,可以提供撤销和恢复功能。其中大概会有以下几个角色,Receive,Command,Invoker。其中Reveiver可以有多个,每个Reveiver都有自己业务需要处理;Command为整个命令模式的核心,其中涉及到对...

2018-11-05 22:39:57 95

原创 23种设计模式之中介者

目录1.简介2.特点3.形式1.简介中介者模式通过建立一个中介对象来封装一系列的对象交互,使得各对象之间不需要直接进行交互,从而达到解耦的作用,而且可以独立地改变他们之间的交互。2.特点减少类之间的依赖,把相互之间的依赖转化为依赖中介者,降低了类之间的耦合,但是这种类越多,关系就越复杂,中介者的逻辑也就越复杂。3.形式抽象中介者public abstrac...

2018-11-04 22:52:19 103

原创 23种设计模式之原型

目录 1.简介2.优点3.缺点4.形式1.简介用原型实例指定创建对象的种类,并且通过拷贝这些这些原型创建新的对象。其核心在于clone方法,通过该方法可以进行对象的拷贝。且于final关键字冲突。2.优点由于clone方法是在内存二进制流的拷贝,相比直接new出来性能更高,尤其是需要在循环体内产生大量对象时非常适用。3.缺点由于是在内存中拷贝,所以构造函...

2018-11-02 21:29:17 131

原创 23种设计模式之代理

目录 1.简介2.优点3.形式3.1 普通代理3.2 强制代理3.3 动态代理1.简介代理模式又叫作委托模式,为其他对象提供一种代理以控制对这个对象的访问。它分为静态代理和动态代理。静态代理种又有普通代理和强制代理。普通代理要求客户端只能访问代理角色,而不能访问真实角色,它适用于扩展性要求较高的场合。强制代理必须通过真实角色查找到代理角色,否则你不能访问。它在实...

2018-11-01 22:34:06 128

原创 23种设计模式之建造者

目录1.简介2.优点3.形式4.扩展5.区别1.简介建造者模式,又名生成器模式。将一个复杂对象的构建从其表示中分离,以便同样的构建过程可以创建不同的表示。它主要包含四个成员,产品类,抽象建造者,具体建造者和导演类。产品类主要通过模板模式实现,抽象建造者用于规范产品的组件,具体建造者实现抽象定义中的所有方法,负责现有模块实现顺序,以及返回对应的实例。2.优点具有良...

2018-10-31 21:55:10 123

原创 23种设计模式之模板

目录 1.简介2.优点3.缺点4.形式5.扩展1.简介定义一个操作中算法的框架,将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。它里面涉及到两类方法,一类是基本方法,一类是模板方法。基本方法主要是一些单个方法,模板方法是由基本方法组成,主要是为完成一些固定的逻辑。2.优点封装不变,扩展可变。将不变的部分封装到父类,子类...

2018-10-30 21:07:49 116

原创 23种设计模式之抽象工厂

目录 1.简介2.优点3.缺点4.形式1.简介抽象工厂模式是为创建一组相关或相互依赖的对象提供的一个接口,并且无需指定具体的类。很明显,它是工厂模式的升级版。之前的工厂模式一个工厂就可以了,现在有种情况是工厂模式无法满足的,就是如果产品之间具有一种相互关系,就只能用抽象工厂模式了。2.优点同样是具有了很好的封装性,并且产品之间的相互关系将处于一种非公开的状态。...

2018-10-28 20:10:18 119

原创 23种设计模式之工厂

目录 1.简介2.优点3.形式4.扩展1.简介定义一个用于创建对象的接口,让子类去决定到底哪个类需要实例化。通过工厂方法使得一个类的实例化从而延迟到子类。这样我们通过依赖抽象接口创建出具体的实例,避免变化所带来的影响,这也正符合DIP。2.优点具有良好的封装性和扩展性。3.形式抽象产品public abstract class AProduct {...

2018-10-26 21:43:39 149

原创 23种设计模式之单例

目录 1.简介2.优点3.缺点4.注意5.形式5.1 饿汉模式5.2 懒汉模式6.扩展1.简介单例模式(Singleton Pattern),为确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。其中的类称为单例类,通过将构造函数设置为private私有访问权限从而限制外部创建对象,也就确保了在一个应用中只产生一个实例,并且自行实例化。2...

2018-10-24 23:55:04 142

原创 六大设计原则之OCP

目录 简介 定义举例简介 开闭原则(Open Closed Principle),简称OCP。定义软件实体应该对扩展开放,对修改关闭。何为软件实体?主要包括项目或软件产品按照一定的逻辑规则划分的模块,抽象,类,方法。实质是通过扩展来实现变化。举例一年一度的11又要来了,鸡冻哇。要是平时物品是正常售出,就像这样public interface IGood...

2018-10-21 23:09:25 3127

原创 六大设计原则之LKP

目录 1.简介2.定义3.举例1.简介最少知识原则(Least Knowledge Priciple),简称LKP。2.定义一个对象应该对其他对象有最少的了解。也就是说一个类应该对自己需要耦合或者调用的类知道最少,即提供较少的public方法,至少内部是如何复杂就不是该考虑的了。它还表现为只和最近的对象沟通,最近的对象指的就是出现在成员变量,方法输入输出参数中的类。...

2018-10-15 22:25:50 2849 1

原创 六大设计原则之ISP

目录 1.简介2.定义3.举例1.简介接口隔离原则(Interface Segregation Principle),简称ISP。2.定义类间的依赖关系应该建立在最小的接口上。意思是说在保证SRP的基础上,尽可能的细化接口,做到高类聚。何为高类聚,高类聚是指提高接口的处理能力,减少对外的交互,提供较少的公共方法。一旦违背了ISP就会出现封装过度的情况,而这是不被允许...

2018-10-14 22:15:21 1261

原创 六大设计原则之DIP

目录1.简介2.定义3.依赖3.1 构造函数传递依赖对象3.2 Setter方法传递依赖对象3.3 接口声明依赖对象4.举例1.简介依赖倒置原则(Dependence Inversion Principle),简称DIP。2.定义高层模块不应该依赖于低层模块,两者都应该依赖其抽象。抽象不应该依赖细节。细节应该依赖抽象。这里的低层模块就是不可分割的原子逻辑...

2018-10-14 10:11:23 1754

原创 六大设计原则之LSP

简介:里氏替换原则(Liskov Substitution Principle),简称LSP。定义:如果对每一个类型为S的对象o1,都有类型为T的对象o2,使得以T定义的所有程序P在所有的对象o1都代换成o2时,程序P的行为没有发生变化,那么类型S是类型T的子类型。定义:所有引用基类的地方必须能透明地使用其子类的对象。总结:父类替换成子类而不会产生任何错误或异常,反之,不一定成立。...

2018-10-10 23:37:57 1795

原创 六大设计原则之SRP

简介:单一职责原则(Single Responsibility Principle),简称SRP。定义:有且仅有一个原因引起接口或类的变更。举例:电话通话的过程将会伴随四个过程---拨号,通话,挂机。对应的电话模拟过程如下public interface Iphone{ //拨通电话 public void dial(String phoneNumber); ...

2018-10-09 22:38:19 4249

原创 JSP服务器端页面技术

写在前面    JSP全称是Java Server Pages,是一个建立在Servlet规范上的动态网页开发技术。也就是在HTML代码中加入Java代码实现的,HTML主要负责网页中静态内容的显示,而Java部分主要负责动态内容的显示,有点类似于PHP,ASP等。它具有跨平台性,实现了业务代码分离,组件重用和预编译等特性。1 JSP基本语法      2 JSP的运行原理  ...

2018-08-08 22:40:06 1730

原创 SpringBoot(三):Web开发

1.静态资源的访问 在实际的web开发中,需要引用大量的静态资源。而SpringBoot默认提供静态资源是放于classpath目录下,且具有如下命名规则/static,/public,/resource,/META-INF/resources。并且在我们直接访问静态资源时,不用带上面的路径,直接访问即可,如http://localhost:8080/static/csdn.jpg。...

2018-07-17 23:46:22 136

原创 SpringBoot(二):ComponentScan注解

写在前面    在实际的项目构建中,我们肯定用到多个控制器,那么在这种情况下,我们又该如何去搭建项目,启动应用程序呢?这里我们就要用到@ComponentScan,其作用就是一个包扫描器。1.编写两个测试控制器package com.csdn.controller;import org.springframework.web.bind.annotation.RequestMapp...

2018-07-15 17:19:52 5446

原创 SpringBoot(一):第一行代码

写在前面SpringBoot遵循“习惯大于配置”的理念,简化了Maven配置,内嵌Servlet容器,从而无需部署WAR文件,可以自行选择Servlet容器。从而可以很容易创建一个独立运行,基于Spring框架的项目。在这我们选用的是Eclipse的集成开发环境。1.构建Maven项目    此时我们要做的就是修改prom.xml文件&lt;project xmlns="http...

2018-07-15 00:15:59 490

原创 Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin:2.7

    最近创建号Maven项目就会出现这样的情况或是出现无法更新Maven的提示,很是头疼,从后面的叙述可以看出基本是由于jar下载不成功造成的(假装错误的图片还在),进入到Maven仓库中查看,果然jar包不全,有的还下载不成功(主要表现为后缀名为.lastUpdated)。此时不要惊慌不要失措,首先删除下载不成功文件夹,接着回到项目中Update Project...    如果试了几次还不...

2018-07-14 23:23:36 9397 1

原创 org.hibernate.boot.InvalidMappingException: Could not parse mapping document

整个异常日志如下:org.hibernate.boot.InvalidMappingException: Could not parse mapping document: com/csdn/domain/Customer.hbm.xml (RESOURCE) at org.hibernate.boot.jaxb.internal.InputStreamXmlSource.doBind(I...

2018-07-14 22:57:47 4119 1

原创 Hibernate的学习笔记(一)

写在前面    什么是ORM?ORM全称是Object Relational Mapping,也叫对象关系映射,是一种持久层的技术。它解决了域模型对象和关系型数据库不匹配的现象,通过映射从而将对象自动持久到数据库中。目前主流的框架是Mybatis,它是一种半自动化的ORM框架,需要写sql语句,操作性强,更为灵活。另一种在许多企业中仍然还在使用,它就是Hibernate,它是一种全自动的ORM...

2018-07-14 22:37:42 144

原创 利用FileZilla连接阿里云服务器最全攻略

利用FileZilla连接阿里云服务器最全攻略

2018-06-27 23:55:21 18019 8

原创 验证码Kaptcha的使用

Kaptcha是一个非常实用的验证码生成工具,可以通过配置生成多样化的验证码。以图片的形式显示,从而无法进行复制粘贴。

2018-06-25 00:27:03 17393 1

原创 Logback的配置和使用

1.为什么要使用记录日志    a.可以快速定位问题的位置;    b.可以显示程序的运行状态。总结:所以一款好的日志文件可以提供出更多定位问题的依据。2.Logback的主要模块    a.logback-access: 与servlet容器集成,提供Http访问日志的功能,即提供第三方软件通过logback-access模块访问logback         记录的日志;    b.logba...

2018-06-07 10:31:27 364

原创 HTML基础总结

1.HTML是什么?全称是HyperText Markup Language,又叫超文本标记语言。它不是一种编程语言,是一种描述性的标记语言,也是一种最基础的网页语言,主要是用来描述超文本中内容的显示方式。其特点是代码都是由标签所组成。注:标签是指形如&lt;标签名称&gt;的标记。其文件后缀是.html或者.htm。直接通过浏览器运行。...

2018-05-31 13:07:06 125

原创 HTML进阶:通过DIV+CSS进行布局

 为什么要使用这种布局?传统表格的布局缺陷布局固定不够灵活。什么是Div?它是一个html标签,一个块级元素(单独显示一行,即如果后面还有元素,将会在下一行显示)。主要用途是结合CSS实现页面的布局。什么是Span?它是一个html标签,一个内联元素(显示一行,即如果后面还有元素,则显示在同一行上)。主要用途是结合CSS对括起来的内容进行样式的修饰。  CSS的...

2018-05-31 09:56:32 718

原创 读书笔记之代理技术

代理(Proxy),通俗的讲就是找个人帮你去处理事务。它又分为静态代理和动态代理。下面将举例进行说明,存在一个Hello接口public interface Hello {void say(String name);}和其实现类public class HelloImpl implements Hello {@Overridepublic v...

2018-05-06 20:07:09 141

空空如也

空空如也

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

TA关注的人

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