自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 解决Property ‘mapperLocations‘ was not specified or no matching resources found问题

问题描述在编写mybatis映射文件时,将XML文件放到了包下,而不是resources文件夹下,maven在打包的时候,默认是不会把xml文件打包编译,因此需要手动在pom文件配置,让maven在编译时把xml文件也进行输出。解决方案在pom文件中加入以下代码<!-- 项目打包时会将java目录中的*.xml文件也进行打包 --> <build> <resources> <resource>

2021-12-19 11:28:36 4394 2

原创 《spring知识点脑图》

2021-12-15 11:29:36 250

原创 《策略模式》

一、什么是策略模式?定义:是一种行为型设计模式,它把算法和策略分开来,单独形成一个算法类和几个策略类,以实现解耦。具体案例:例如我们生活中要出门旅游,要根据距离的远近选择出行的交通工具,例如超过1000公里选择飞机,500-1000公里选择火车,500公里以内选择汽车。二、如何实现策略模式?策略模式有三个对象:抽象策略(Strategy)类:定义了一个公共接口,各种不同的算法以不同的方式实现这个接口,环境角色使用这个接口调用不同的算法,一般使用接口或抽象类实现。具体策略(Concrete St

2021-12-13 14:19:32 210

原创 组合模式(图文并茂)

一、什么是组合模式?组合模式,又称为部分-整体模式,使用户对单个对象和组合对象具有一致的访问性,符合里氏代换原则。如下图中的树枝和树叶,它们都是实现了Composite的类,本质上都是属于同一种数据类型二、如何实现组合模式?有2种实现方式透明方式:抽象类实现所有子类的方法隐藏方式:抽象类只实现所有子类的共同方法下面将使用代码实现上图所示的结构(透明方式):public class CompositeDemo { public static void main(String[]

2021-12-07 16:50:22 354

原创 命令模式(结合案例)

一、什么是命令模式?命令模式定义:将一个请求封装成一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行储存、传递、调用、增加与管理。举个例子:小明要打开电视,那么小明直接点击遥控器的开机按钮,电视就开,在这个过程中的对象如下小明:调用者遥控器:命令发送者电视:命令接收者二、如何实现命令模式?接下来通过以下代码实现上面的例子public class CommandDemo { public static void main(S

2021-12-07 15:10:19 565

原创 观察者模式

一、什么是观察者模式观察者模式,又称发布-订阅模式,是指多个对象之间存在一对多的依赖关系,当一个对象发生改变时,所有依赖于它的对象也会自动更新。举个例子:罗某欠了A、B、C3个银行一共4亿元,但罗某这时候没钱还了,但罗某还有工作收入,每个月都有1000万元收入汇入罗某账户,3个银行就会时刻关注罗某银行账户,当罗某工资到账,3个银行都能知道消息,并进行扣款还债。二、如何实现观察者模式下面来通过代码实现上诉罗某资金到账的例子public class ObserverPatternDemo {

2021-12-07 14:13:16 67

原创 线程池基本知识

一、为什么要使用线程池不使用线程池的坏处:频繁的线程创建和销毁会占用更多的CPU和内存频繁的线程创建和销毁会对GC产生比较大的压力线程太多,线程切换带来的开销将不可忽视线程太少,多核CPU得不到充分利用,是一种浪费使用线程池的优点:降低资源的消耗。线程本身是一种资源,创建和销毁线程会有CPU开销;创建的线程也会占用一定的内存。提高任务执行的响应速度。任务执行时,可以不必等到线程创建完之后再执行。提高线程的可管理性。线程不能无限制地创建,需要进行统一的分配、调优和监控。二、如何创建

2021-12-06 19:55:30 403

原创 多线程(Thread)

一、多线程的基础概念首先要知道什么是进程,什么是线程。进程:正在运行的程序,当一个程序进入内存运行,就是一个进程。线程:包含在进程中,一个进程至少由1个线程组成。多线程需要知道2个概念,串行和并行。以下是图例串行:线程依次执行,A执行完了,B执行,然后再C执行并行:A、B、C同时执行并发产生的问题:线程安全问题:多个线程同时操作同一个变量时,会出现数据不准确问题,例如,对象A银行卡账户有100元,线程A和线程B同时对其操作,线程A操作取出了10元,对象A余额还有90;线程B存入20元

2021-12-06 17:20:23 756

原创 设计模式之单例模式

单例模式学习

2021-12-05 19:47:43 879

原创 静态代理模式

一、为什么要有代理模式?举个例子来说明:假如说我现在想买一辆二手车,虽然我可以自己去找车源,做质量检测等一系列的车辆过户流程,但是这确实太浪费我得时间和精力了。我只是想买一辆车而已为什么我还要额外做这么多事呢?于是我就通过中介公司来买车,他们来给我找车源,帮我办理车辆过户流程,我只是负责选择自己喜欢的车,然后付钱就可以了。通过代理,我可以省去很多的时间和精力,把找车子的任务让代理去帮我找。同理,实际代码设计当中也会有这样的问题:某一个业务类或者几个业务类都需要实现自己独立的业务,但又要求他们都有输出

2021-12-05 11:57:00 204

原创 图解 工厂模式

一、为什么要有使用简单工厂模式工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。在面向对象领域中,遵循开闭原则,即:软件中的对象(类、模块、函数等)对扩展是开放的,对修改是封闭的。这意味着一个实体是允许在不改变它的源代码的前提下变更它的行为。工厂模式是一种典型的 解耦模式 ,可以有效降低耦合度;同时,它

2021-12-05 00:48:10 316

原创 图解学习 JVM基本原理

本文主要记录自己所学习的JVM知识

2021-12-04 17:51:05 881

原创 2021-07-23关于Mysql主键bigint类型自动递增超过1000之后变为数值型类型的问题解决

关于Mysql主键bigint类型自动递增超过1000之后变为数值型类型的问题解决超过1000之后,会自动把数值格式化为"0,000"的格式,中间的".“会让数值在读取时误认为string类型因此,获取数据时,需要把其中的”,"逗号去掉。类似这样的方式最后成功解决...

2021-07-23 23:32:47 564

原创 关于window.location.href=“xxx“跳转不了页面的问题

新手,经常会出现window.location.href="xxx"无法跳转的问题主要出现在location选择的方法不对,应该选择不含()(DOM)的window和location

2021-06-27 16:02:51 1304

原创 关于页面引用外部CSS经常不成功的主要问题

type=“text/css” 这个经常会漏掉,不能缺少,否则会引用不成功

2021-06-27 11:18:01 154

原创 《迭代器模式》

一、什么是迭代器模式?(一)为什么要有迭代器模式?在程序设计中,经常需要访问一个聚合对象的各个元素,诸如数组、列表的遍历,这时候,我们都把创建表和遍历表都放在一个类中,一旦需要修改遍历方式,就需要修改整个类,不利于扩展,这违反了“开闭原则”。(二)迭代器(Iterator)模式的定义:提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。二、如何实现迭代器模式?以下将通过代码实现迭代器模式public class IteratorDemo { public sta

2021-06-26 23:18:01 161 2

原创 《外观模式》

一、什么是外观模式在系统设计过程中,业务实现的复杂逻辑不希望被外界看到,因此为客户端提供了一个访问系统的入口,用于隐藏系统的复杂性。应用场景:JAVA 的三层开发模式。二、如何实现外观模式以下为代码实现:public class FacadeDemo { public static void main(String[] args) { FacadeMaker facadeMaker = new FacadeMaker(); facadeMaker.draw

2021-06-26 21:35:00 82

原创 《适配器模式》

一、什么是适配器模式适配器模式,是两个不兼容接口之间的桥梁,他结合了两个独立接口的功能。举个生活中例子:播放器有音频播放器和视频播放器,音频播放器只能播放音频,视频播放器只能播放视频,那怎么通过视频播放器去播放音频呢,可以通过适配器的方式实现。二、如何实现适配器模式以下通过代码实现上述例子的功能:/*音频播放器接口 */interface AudioPlayer { void playMp3(); void PlayMp4();}/*...

2021-06-25 22:39:47 209

空空如也

空空如也

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

TA关注的人

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