自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CAT

机会总留给有准备的人!

  • 博客(148)
  • 资源 (1)
  • 收藏
  • 关注

转载 无法访问GitHub,原因以及快速解决办法

github访问不了

2024-02-07 14:30:22 2170

原创 Java实现集合和Excel文件相互转换

集合与Excel文件互转

2023-11-27 11:55:09 715

原创 11-@Transaction与AOP冲突解决

事务不生效问题解决

2023-11-24 11:07:38 608

原创 分库分表如何处理主键ID

雪花算法,UUID, 分库分表主键生成算法

2023-05-12 18:16:42 1659

原创 上传文件报: /tmp/undertow的解决办法

按理来说,重启之后,上传文件应该去找最新生成的undertow文件路径,但是还在找原来的文件,这个不清楚原因。有了解的,欢迎留言指教。采用了网上常用方式都没用,包含重启,修改yml的配置、修改SpringBoot启动参数。最后把文件补上就可以了。再次上传文件就可以了。

2023-05-11 18:41:23 987 1

原创 10-java实现对上传文件做安全性检查

文件安全性检查

2023-03-14 11:08:30 8180 5

原创 gradle下载依赖报错:Connect to 127.0.0.1:8888 [/127.0.0.1] failed: Connection refused: connect

Connect to 127.0.0.1:8888 [/127.0.0.1] failed: Connection refused

2023-03-03 10:28:29 1015

原创 设计模式实践示例

根据自己掌握的知识出的设计模式题目

2023-02-15 16:19:27 431

转载 SSL certificate problem: self signed certificat

SSL certificate problem: self signed certificat

2023-01-18 10:01:22 1638

转载 Accept与Content-Type的区别

Accept和Content-Type的区别

2023-01-17 17:14:51 476

转载 1.Kafka下载安装

kafka下载安装

2023-01-11 16:07:12 382

转载 Linux环境下安装jdk1.8(安装包版)

centos7.0安装jdk1.8

2023-01-11 15:03:31 2421

原创 【设计模式】32.结构型模式-组合模式(Composite)

将对象组合成树状层次结构,使用户对单个对象和组合对象具有一致的访问性。

2022-12-06 19:34:35 452

原创 【设计模式】31.结构型模式-享元模式(Flyweight)

通过共享技术来有效地支持大量细粒度对象的复用

2022-10-24 09:49:47 129

原创 【设计模式】30.结构型模式-外观(Facade)

为多个复杂的子系统提供一个一致的接口,使这些子系统更加容易被访问。

2022-10-14 11:52:11 141

原创 【设计模式】29.结构型模式-装饰模式(Decorator)

装饰模式能够在不改变原来对象结构和功能的前提下,动态的给对象增加新的功能,相比于使用子类扩展的方式,装饰模式更加的灵活。

2022-09-29 16:21:13 190

原创 【设计模式】28.结构型模式-桥接(Bridge)

桥接模式

2022-09-19 16:59:41 362

转载 13种常见软件体系结构风格定义分析、结构图、优缺点

软件体系架构

2022-09-14 18:04:04 7700

原创 5.堆内存溢出以及导出Excel表格超时问题解决(性能优化心得)

堆内存溢出和导出Excel表格超时问题

2022-09-13 15:24:56 966

原创 【设计模式】27.结构型模式-适配器(Adapter)

将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作

2022-09-13 15:12:27 214

原创 【设计模式】26.结构型模式-代理模式(Proxy)

代理模式

2022-09-06 15:02:11 159

原创 【设计模式】25.行为型模式-解释器(Interpreter)

给定一个语言,定义它的文法的一种标识,并定义一个解释器,这个解释器使用该表示来解释语言中的句子

2022-08-31 09:42:13 125

原创 【设计模式】24.行为型模式-备忘录(Memento)

一、描述  定义:在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复至原来保存的状态。  理解:当需要保存某个对象的操作数据或者该对象状态时,使用另外一个类记录原始对象的数据以及状态,以便回退到以前的某种数据。  角色:  1.Originator(原发器):定义原始类的数据以及状态信息,包含创建备忘录的方法。  2.Memonto(备忘...

2022-08-22 18:05:00 121

原创 9-分表查询耗时过长问题解决

问题背景:需要查询指定条件下的数据信息,但是总是会查询超时,经排查,由于同一个业务表分成了5张分表,总数据量在4千万多,不到5千万。但是如果查询条件中不含有分片键,导致全表扫描,耗时过长。之前看SharedingSphere的官网可以实现强制路由,因此想尝试一下这种机制,指定查询某张分表减少查询耗时。借着这个问题正好研究一下SharedingSphere的强制路由机制。好,进入正题:一、Hin...

2022-08-15 15:42:00 1383

原创 【设计模式】23.行为型模式-访问者(Visitor)

一、描述  访问者模式是一种将数据结构与数据操作分离开来的行为模式。每个访问者标识一个作用于某对象结构中各元素的操作,它可以使你在不改变各元素的类的前提下定义作用于这些元素的新操作。  角色:  1.结构类:包含元素类,添加访问者类。  2.抽象元素类:定义接收访问者访问的抽象方法。  3.具体元素类:调用访问者访问当前元素的方法  4.抽象访问者类:为对象结构中的具体元素类定义一种...

2022-08-08 10:19:00 121

原创 【设计模式】22.行为型模式-迭代器(Iterator)

一、描述  提供一种方法来访问聚合对象,而不暴露这个对象的内部表示,其别名为游标。聚合对象提供数据以及数据访问功能,若聚合对象变化的话,数据访问也要同步修改,不符合开闭原则。在客户访问和聚合对象之间插入迭代器,实现解耦。迭代器模式可以为不同的容器提供一致的遍历行为,而不用关心容器内容元素组成结构  角色:    1.抽象聚合类:定义一系列组成聚合对象的方法,并且定义创建抽象类的方法  2...

2022-08-01 09:51:00 90

原创 【设计模式】21.行为型模式-中介者(Mediator)

一、描述  定义一个中介对象来简化原有对象之间的交互关系,降低系统中对象间的耦合度,使原有对象之间不必相互了解。  角色:  1.抽象中介类:它是中介者的接口,提供了同事对象注册与转发同事对象信息的抽象方法  2.具体中介类:实现中介者接口,定义一个 List 来管理同事对象,协调各个同事角色之间的交互关系,因此它依赖于同事角色。  3.抽象同事类:定义同事类的接口,保存中介者对象,提...

2022-07-25 10:55:00 113

原创 【设计模式】20.行为型模式-观察者(Observer)

一、描述  定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。也称为发布-订阅模式。  角色:  1.抽象目标类:除自身业务逻辑外,包含增加、删除、唤醒观察者功能。  2.具体目标类:为那些在目标发生改变时需获取通知的对象定义一个更新接口。  2.抽象观察类:定义响应抽象方法。  3.具体观察类:继承抽象观察类,实现抽象方法。 ...

2022-07-20 17:34:00 142

原创 【设计模式】19.行为型模式-状态(State)

一、描述  允许一个对象在其内部状态发生改变时改变其行为能力。对象的行为依赖于它的状态,并且可以根据它的状态改变而改变它的相关行为。每个状态通过持有Contetxt的引用,来实现状态转移。  一个对象的状态改变了,那么他的操作也会随之改变。  角色:  1.使用环境角色(Context):根据不同的状态在相同方法下作出不同行为的类。  2.抽象状态类(AbstractState):定义...

2022-07-15 09:36:00 85

原创 8.分库分表-MAX_CONNECTIONS_SIZE_PER_QUERY设置导致系统崩溃

一、问题描述  发生在生产环境的真实案件,加了一张分表之后,导致系统挂掉,此外,分表还未有任何数据记录。分表配置与其他相同分表的配置相同。二、排查过程  1.刚开始系统挂掉时,以为是系统问题,因此重启系统。重启完成之后,系统正常了几分钟之后,又继续宕机。  2.去除新增的分表之后,系统正常。三、数据背景  1.一共10张表涉及到分表,根据订单号orderId进行分表,每张表已有4张分...

2022-07-13 09:43:00 770 2

原创 【设计模式】18.行为型模式-职责链(Chain of Responsibility)

一、描述:  把请求从链中的一个对象传到下一个对象,直到请求被响应为止。通过这种方式去除对象之间的耦合。避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。  角色:  1.抽象处理者角色:定义处理的抽象方法,可以设置具体处理者  2.具体处理者角色:实现抽象处理方法。  (1)每个角色可处理它负责的请求,...

2022-07-11 09:53:00 85

原创 【设计模式】17.行为型模式-命令(Command)

一、描述  将一个请求封装为一个对象,使请求者和接收者分离开来,实现解耦。可以提供命令的撤销和恢复功能。  角色:  1.请求者:发出请求,调用命令。  2.抽象命令类:定义抽象接口。  3.具体命令类:实现抽象命令类中的抽象接口,将命令发送给接收者。  4.接收者:接收命令,并且做出相关操作。  类图:二、优点  1.将请求者与接收者解耦,降低耦合度。请求者不需要知道接受...

2022-07-04 10:33:00 91

原创 【设计模式】15.行为型模式-模板方法(TemplateMethod)

一、描述  定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。  角色:  1.抽象模板类:负责定义算法方法  2.具体模板类:实现抽象模板类方法  类图: 二、优点  1.封装不变部分,扩展可变部分  2.提取公共代码,便于维护  3.行为由父类控制,子类实现三、缺点  1.每一个不同的实现都需要一...

2022-06-28 15:49:00 94

原创 【设计模式】16.行为型模式-策略(Strategy)

一、描述  定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的改变不会影响使用算法的客户。  1.角色    (1)抽象类:定义算法方法。    (2)具体实现类:继承抽象类,实现算法方法。  2.类图二、以快速排序算法、合并排序算法为例,类图很简单,和上面的类图差不多,所以就不画了。直接上代码:  1.抽象计算类public interface Calc...

2022-06-28 15:49:00 76

原创 【设计模式】13.创建型模式-抽象工厂(AbstractFactory)

一、描述  提供一个创建产品族的接口,其每个子类可以生产一系列相关的产品。不同于工厂方法模式,工厂方法模式的工厂只能生产一种产品。  抽象工厂的角色分类:    1.抽象产品:定义产品的使用方法。    2.具体产品:实现抽象产品,定义了该种产品的具体使用方法。    3.抽象工厂:定义生产产品的功能。    4.具体工厂:实现抽象工厂,可以生产一系列产品。  类图:二、优点...

2022-06-22 09:38:00 95

原创 【设计模式】14.创建型模式-建造者(Builder)

一、描述  是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。在用户不知道对象的建造过程和细节的情况下就可以直接创建复杂的对象。建造者模式按顺序创建复杂对象(把内部的建造过程和细节隐藏起来)。  角色包含以下分类:    产品(Product):产品以及其包含的属性。    抽象建造者(AbstractBuilder):包含产品实体、建造产品属性的抽象方法、返...

2022-06-22 09:38:00 111

原创 7.@Data注解及其hashCode设值的研究

今天写原型模式的示例时,涉及到Object的clone方法,发现了一个问题,加了@Data的实体在使用clone方法之后,二者比对的hash值相同,使用get、set方法的实体,在使用clone方法之后,二者比对的hash值不同,把示例贴出来,如下:1.使用@Data:@Datapublic class User implements Cloneable { private S...

2022-06-14 16:45:00 805

原创 【设计模式】12.创建型模式-工厂方法(Factory Method)

一、描述  定义一个用于创建产品的接口,由子类工厂决定生产什么产品。解决了简单工厂模式破坏开闭原则的弊端  工厂方法模式的角色包含:    1.抽象工厂:构造了一个生产产品的接口方法。    2.具体工厂:指定生产某种产品,实现了抽象工厂的接口方法。    3.抽象产品:定义了一系列产品的通用使用方法。    4.具体产品:某一种产品的具体使用方法。  工厂方法的类图:  二...

2022-06-14 09:51:00 71

原创 【设计模式】11.创建型模式-简单工厂模式(Simple Factory)

在工厂模式的大类中,具体有三个小的子类模式,包含简单工厂模式、工厂方法模式、抽象工厂模式。其中简单工厂模式并没有放到23种设计模式中,但是对于理解另外两种设计模式有重要作用。这篇文章中,主要介绍一下简单工厂模式:一、描述  简单工厂模式有一个具体的工厂类,可以生成多个不同的产品。  该模式的使用场景为:如果用户需要使用一个产品,首先要创建这个产品,之后再使用该产品。但是用户并不关心产品的构...

2022-06-13 09:52:00 112

原创 【设计模式】9.创建型模式-单例模式(Singleton)

一、描述:  某个类只能生成一个实例,该类提供了一个全局访问点供外部获取该实例,其拓展是有限多例模式。二、特点:  1.单例类只有一个实例对象  2.该单例对象必须由单例类自行创建  3.单例类对外提供一个访问该单例的全局访问点。三、优点:  1.单例模式可以保证内存里只有一个实例,减少了内存的开销。  2.可以避免对自愿的多重占用。  3.单例模式设置全局访问点,可以优化和共...

2022-06-07 10:22:00 102

查找含相同字母的单词(Java)

查找含相同字母的单词(Java)

2020-12-23

空空如也

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

TA关注的人

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