自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(97)
  • 资源 (8)
  • 问答 (3)
  • 收藏
  • 关注

原创 观察者模式

观察者模式

2023-06-22 13:56:49 263

原创 Java 中重写了 equals 为什么还要重写 hashCode?

在Java中,为什么重写了 equals 方法还要重写 hashCode 方法

2022-12-05 22:25:59 3829 2

原创 IDEA 内存设置不生效

IDAE 修改运行内存大小

2022-11-12 10:50:25 3252 6

原创 Hibernate 中持久化对象的状态(重要)

Hibernate 持久化对象的状态

2022-10-24 22:40:56 758

原创 什么是回调?

什么是回调函数

2022-09-26 13:36:01 1172

原创 Hibernate 的 Session 缓存相关操作

Hibernate 的 Session 缓存操作相关方法

2022-08-10 19:39:04 2609

原创 XXL-JOB 分布式任务调度中心搭建

XXL-JOB 平台快速搭建

2022-08-05 10:46:58 516

原创 Hibernate 环境搭建

hibernate 的依赖配置,环境搭建

2022-07-29 09:00:26 729

原创 两阶段终止模式

两阶段终止模式

2022-07-06 00:25:14 654 3

原创 设计模式之工厂模式

介绍  工厂模式也称 简单工厂模式,是创建型设计模式的一种。工厂模式提供了按需创建对象的最佳方式,并且不会对外暴露创建细节,通过一个统一的接口创建所需对象。  使用工厂模式,你不需要知道对象是怎么创建出来的,不需要你去 new,调用者想要创建一个对象,知道对象的名称即可。意图  定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。场景  假设现在有一个造车厂,可以生产奥迪、奔驰、福特三种类型的汽车。那么此时用户要买车,只需要告诉造车厂我需要什么车,不需

2022-05-03 16:44:42 357

原创 no main manifest attribute / .jar中没有主清单属性

问题将 springboot 项目打成 jar 包,随后 java -jar 包名 报错,原因是找不到 jar 包中 main 方法所在的类,找不到程序的主入口。解决情况一你的项目继承自 spring-boot-starter-parent ,则在要打包的微服务的 pom.xml 中加上如下配置: <plugins> <plugin> <groupId>org.springframework.boot

2022-04-21 18:41:26 281

原创 ExcelWriteDataConvertException:Can not find ‘Converter‘ support class Character.

问题今天使用 EasyExcel 来进行写操作时,出现如下错误:com.alibaba.excel.exception.ExcelWriteDataConvertException: Can not find 'Converter' support class Character. at com.alibaba.excel.write.executor.AbstractExcelWriteExecutor.doConvert(AbstractExcelWriteExecutor.java:323) ~

2022-04-12 20:18:41 10335

原创 MySQL 删除自增 id,随后重启 MySQL 服务,再插入数据,自增 id 会从几开始?

问题比如一张 id 自增的表中有 8 条数据,删除两条后,重启 MySQL 服务,又插入一条数据,那么此时自增的 id 会从几开始呢?结论使用 innodb 引擎的情况下。当 MySQL 版本为 8.0 之前时,自增 id 会丢失,下次自增会取表中最大 id + 1。即新增的数据 id 为 7。当 MySQL 版本为 8.0 及之后时,自增 id 不会丢失,仍从删除数据 id 后算起。即新增的数据 id 为 9。使用 myisam 引擎的情况下。不管 MySQL 版本为多少,自增的 id 都不

2022-03-24 20:11:18 5049 1

原创 Dubbo 启动报错 Invalid name=“org.apache.dubbo.config.ApplicationConfig#0“ ...

Dubbo 启动报错

2022-03-24 08:38:43 2920

原创 SpringBoot 单元测试用法

SpringBoot 单元测试

2022-01-07 22:46:47 465 1

原创 Java8 Stream 流

简介Java8两大新特征,一是支持 lambda 表达式,二是 Stream API。在使用 Stream API 之前,最好有 lambda表达式的基础,如果不太清楚,可以看我的另一篇博客lambda表达式。在编写代码的过程中,我们经常要对集合或数组数据进行操作,而有了 Stream API,我们能够非常轻松的对集合、数据进行映射、过滤、查找等操作,使得我们能够像操作数据库一样的操作集合。Stream 本身并不存储元素,它并不改变源数据,每次操作都会形成一个新的流,并且只有执行了Stream的终止操

2021-12-24 01:05:27 2501 4

原创 java.lang.NoClassDefFoundError: org/apache/curator/framework/listen/StandardListenerManager

问题SpringBoot 整合 Dubbo 各种报错java.lang.NoClassDefFoundError: org/apache/curator/framework/listen/StandardListenerManager at org.apache.curator.framework.recipes.cache.TreeCache.<init>(TreeCache.java:544) ~[curator-recipes-5.1.0.jar:5.1.0] at org.apa

2021-12-07 16:59:34 3088 2

原创 Can‘t connect to MySQL server on ‘xxx.xxx.xx.xx‘ (111)

问题我在Linux的一台机器中,想要使用MySQL远程连接其它主机时,发现无法连接。错误显示如下:.Can’t connect to MySQL server on ‘xxx.xxx.xx.xx’ (111)解决先进入 mysql 命令行,输入如下命令,广泛授权。赋予任何主机上的root身份都可以访问数据。mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;然后再关闭防火墙systemctl stop fi

2021-12-05 01:27:17 433

原创 nginx配置文件上传大小的限制(错误代码413,且也出现跨域问题)

问题在做文件上传时,因为后端有多个微服务,故用nginx做反向代理,但是上传文件时,在后端加了跨域注解的情况下,还是出现了跨域问题,找了好久,后经查阅,原来是nginx默认的文件上传大小为 1M,而我上传的文件大小超过了 1M ,故出现跨域问题。解决在 http{ … } 块中加上 client_max_body_size 1024M; 配置即可,亲测有效。...

2021-11-25 13:03:11 2454 2

原创 SpringCloud学习——Zuul路由网关

简介zuul是SpringCloud全家桶中的一个组件,用来做网关。网关可以对请求进行过滤,对真实服务地址记性代理并且进行路由跳转等功能。Zuul包含了对请求的路由和过滤两个最主要的功能:其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础而过滤器功能则负责对请求的处理过程进行干预,是实现请求校验、服务聚合等功能的基础.Zuul和Eureka进行整合,将Zuul自身注册为Eureka服务治理下的应用,同时从Eureka中获得其他微服务的消息,也即以后的访问微服务都是

2021-11-14 20:57:01 579 2

原创 SpringCloud——Hystrix熔断/降级

简介Hystrix断路器,又称Hystrix熔断器。它主要做SpringCloud里面的做服务熔断,服务降级的处理。它的思想和Spring里面的前置通知,环绕通知也有相似之处。在复杂的分布式系统中,微服务之间可能有数十个依赖关系,而这些依赖关系中,总会不可避免的出现调用失败。比如A服务调用B服务,B服务又调用C服务…这也就是所谓的扇出,而在这扇出链路上,如果有一个环节出现了问题,就可能导致系统的资源被一直占用着,进而引起系统的崩溃,这并不是我们想看到的。Hystrix就类似于保险丝,比如这会冬天到了,

2021-11-14 19:14:24 1133

原创 SpringCloud学习——Feign负载均衡

TODO

2021-11-14 10:40:50 711

原创 SpringCloud学习——Ribbon负载均衡

简介Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端 、负载均衡的工具。主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer(简称LB)后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器。我们也很容易使用Ribbon实现自定义的负载均衡算法。初步配置前面一直强调,Ribbo

2021-11-13 10:54:33 766

原创 SpringCloud学习——Eureka集群搭建

介绍什么是集群呢?当一头牛拉不动的时候,就多整几头牛。集群就是在不同的服务器上面,配置相同的服务对外提供服务的一个超大的整体。就好比淘宝,背后就有成千上万台服务器支撑。现在Eureka的注册中心只有一个,那如果注册中心挂了呢?所以我们要多配几个。来保证高可用性。配置再创建两个微服务,也用来做Eureka-Server注册中心。在之前的博客中.已经搭建好了相关配置,我们只需要将配置拷贝到另外两个注册中心,并做一定的修改即可。第一步还是在这两个模块中引入 Eureka-Server 相关依赖。

2021-11-12 16:21:27 2844

原创 SpringCloud学习——微服务信息完善/actuator

问题之前将Eureka注册中心配置完毕,也将微服务成功的注册进去。但是还是有一些小瑕疵。打开注册中心页面:并且我们单击 Status 下的超链接,还会来到 404 页面。那么接下里就来做这些微服务信息的完善。完善首先修改 Staus 下的信息。之前是这样,直接将主机都暴露出来了,这也是Eureka的默认设置。当有微服务注册到注册中心,注册成功就会以 hostname的形式显示出来。这个Status相当于是微服务的一个唯一标识,一个别名。找到 springcloudservice-provi

2021-11-12 13:06:45 1092

原创 SpringCloud学习——Eureka的服务注册与发现

简介Eureka可以当做微服务的门神。Netflix 在设计 Eureka 时遵守的是 AP 原则。Eureka是Netflix的一个子模块,也是核心模块之一。Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移。服务注册与发现对于微服务架构来说是非常重要的,有了服务发现与注册,只需要使用服务的标识符(也就是微服务的名称),就可以访问到服务,而不需要修改服务调用的配置文件了。功能类似于dubbo的注册中心,比如Zookeeper。比如我们去写字楼,一般在写字楼的一楼都

2021-11-12 09:51:26 456

原创 SpringCloud学习——微服务模块搭建

简介  使用SpringBoot开发单体微服务,使用SpringCloud来协调治理各个微服务。SpringCloud为各个微服务之间提供服务注册、服务发现、配置管理、断路器、路由等功能。搭建微服务模块  在构建项目时,一般会定义一个父工程,统一对所有的子工程进行管理,并且在父工程中定义依赖版本,提供版本仲裁。类似SpringBoot中的 spring-boot-starter-parent 工程一样。创建父工程创建一个工程,首先配置好 pom.xml。...

2021-11-11 20:55:47 1094

原创 maven中依赖、继承、聚合、dependencyManagement、parent标签、modules标签的作用

简介Maven是Apache软件基金会组织维护的一款自动化构建工具,专注服务于Java平台的项目构建和依赖管理。Maven这个单词的本意是:专家,内行。读音是['meɪv(ə)n]或['mevn]。依赖依赖范围maven中依赖常见的范围有 compile、provided、test 三种。compile范围依赖:对主程序是否有效:有效对测试程序是否有效:有效是否参与打包:参与是否参与部署:参与典型例子:spring-coreprovided范围依赖:对主程序是否有效:有效对测

2021-11-09 11:01:39 2654

原创 Centos(6/7/8) 安装 Docker

前提Docker支持CentOS 6.5 (64-bit) 或更高的版本。Docker运行在CentOS-6.5或更高的版本的CentOS上,要求系统为64位、系统内核版本为2.6.32-431或者更高版本。Docker运行在CentOS 7.上,要求系统为64位、系统内核版本为3.10以上。查看内核版本:uname -rcentos 6 安装Dockerdocker使用EPEL发布,RHEL系的OS首先要确保已经持有EPEL仓库,否则先检查OS的八本,然后安装响应的EPEL包。1、yum

2021-10-30 11:39:06 417

原创 SpringBoot异常处理流程

默认异常情况在SpringBoot的项目中,如果出现异常,那么默认是如下白板页面。那么我们一般并不会使用默认的错误页面,而都是自定义错误页面。定制错误页面定制错误页面也有两类情况。1、如果们使用模板引擎的情况下,那么我们可以在 templates 目录下创建一个 error 目录,在里面创建 404.html 页面,这样如果出现 404 的问题,就会跳转到该页面。但是4开头的错误和5开头的错误页是很多的,一个一个去写,比较麻烦,所以SpringBoot也帮我们提供了通用的写法,即我们可以创建

2021-10-29 10:45:37 872

原创 Java实现快速排序

代码public static int[] quickSort(int[] arr, int left, int right) { if (left > right) return new int[]{}; int i = left; int j = right; int pivot = arr[i]; // 基准位 while (i < j) { // 一定要考虑到等于的

2021-10-24 21:41:01 65

原创 SpringBoot自动装配原理(超详细,深入理解)

简介SpringBoot 这款框架几乎是现在企业级开发的标配,使用SpringBoot进行开发,能够大量减少xml配置文件的编写,并且能为我们提供一站式服务。SpringBoot我们只需要导入相关模块的starter,就可以使用相关功能,但是我们几乎没有写配置,那么SpringBoot是如何帮我们配置的呢?又比如说我们可以在application.properties或者application.yml 配置文件中进行一些配置,比如设置 server.port=8081,那么我们是如何知道可以设置哪些属性

2021-10-24 16:32:04 7257 2

原创 设计模式之代理模式(循序渐进,一看就会)

理论代理模式是Java设计模式中很常见的一种设计模式,它属于一种结构型模式,并且在许多框架中,底层都使用到了代理模式。代理模式分为两种,静态代理和动态代理。而在动态代理中,又分为JDK动态代理和CGLIB动态代理。故也有人将动态代理分为三种。代理模式在生活中也有很多应用场景,比如买票,你可以找黄牛,黄牛就是一个代理的角色。比如主播带货,厂家并不直接卖货,而是通过主播进行代理来实现卖货。比如电脑中我们创建的快捷方式,通过快捷方式来访问计算机中的资源。又比如说我们去国外服务器下载资源,但是很慢,而我们一般都

2021-10-24 10:30:43 271

原创 Spring中给bean注入值的两种方式(注解)

简介在传统的配置xml配置方式中,我们在 spring 的配置文件中,使用 bean 标签来注册一个bean,通过property标签进行赋值。然而,配置文件过于繁琐,我们可以使用注解方式达到同样的效果。在Spring中,有这么两种给bean注入属性的方式,一种是 @ConfigurationProperties注解,还有一种是 @Value注解。@ConfigurationProperties我创建两个类,一个Person类,一个是Cat类。在Person类上标注@ConfigurationProp

2021-10-22 21:32:25 1903

原创 设计模式之单例模式

简介单例模式可以说是Java常用的23种设计模式中,最为简单的一种,应用也十分广泛,实现方式也很多。很多框架都使用到了单例模式,比如mybatis的SqlSessionFactory就是一个单例模式的应用,以及JDK中Runtime这个类,也是单例模式,对于一些经常创建销毁的对象,以及系统中只需要一份的对象,我们就可以使用单例模式。单例模式又分为饿汉式和懒汉式。饿汉式饿汉式,字如其名,就是上来给你提供一个实例。最常见最基础的饿汉式代码如下(静态变量):public class Singleton {

2021-10-17 15:21:46 112 2

原创 图解MySQL连接(最详细,看完包会!), join 大合集

  当一张表的数据无法满足我们的需求时,就需要进行多表查询,而多表查询分为多种情况,这里我先用图来展示,后面用代码验证。内连接inner join 内连接,取的就是两张表的交集。select 字段 from tableA inner join tableB on A.key = B.key左(外)连接left join 左(外)连接,那就是要左表的全部,A和B的共有加上A的独有。select 字段 from tableA left join tableB on A.key = B.key。如

2021-10-16 20:53:55 2172

原创 Java实现将十六进制转换成十进制

需求  今天看到一道面试题,说是给你一个十六进制的字符串,然后转换成对应的十进制数,乍一看还蛮简单,实际一敲,确实还行,就是着实用到了大量的API。代码public static int hexToDec(String s) { String s1 = s.toUpperCase(); // 全转大写 char[] chars = s1.toCharArray(); // 转成 char 数组 Stack<Character> stack =

2021-10-14 20:13:37 1717

原创 前端的模块化操作

概述  在后端中,可以将 controller、service、mapper 之间的调用看做是后端的模块化操作。而前端,也已经不再是以前的前端了,那么前端的模块化操作是什么呢?就是js与js之间的调用。ES5的模块化操作创建一个 01.js// 定义两个方法const add = function(a, b){ return a + b;}const sub = function(a, b) { return a - b;}// es5 使用 module.export

2021-10-13 00:54:14 163

原创 Spring中注入bean的几种方式

前言  Spring是一个开源的框架,为开发者提供了便利,也为企业级开发产生的复杂问题提供了多种解决方法。当我们想要将组件注入到Spring的IOC容器中,除了@Controller、@Service、@Repository、@Component,还有一些常用的方法,下面我就这些方法简单的介绍下。ps:下面所有的输出都是基于以下代码:public void testBean() { AnnotationConfigApplicationContext applicationContex

2021-10-04 14:00:27 4187

原创 Spring中使用@Value注解读取xxx.properties文件乱码问题

在使用@Value注解来读取properties文件中的值时,发现输出该值出现乱码问题,先尝试在导入外部资源的注解上加入encoding配置,如下:@PropertySource(value = {"classpath:/person.properties"},encoding = "utf-8")发现无效,后来在IDEA的设置中,修改默认编码方式,成功解决。...

2021-09-30 09:46:57 424

redis-6.0.8Linux版.zip

redisLinux版

2021-08-19

nginx1.20.1Linux版.zip

nginx的Linux版本

2021-08-18

jdk8-linux版.zip

jdk-8u291-linux-x64.tar.gz

2021-07-05

tomcat9.zip

Linux版的Tomcat

2021-07-05

jdk-15.0.2_windows-x64_bin

jdk-15.0.2_windows-x64_bin

2021-03-01

jdk-11.0.10_windows-x64_bin

jdk-11.0.10_windows-x64_bin

2021-03-01

jdk-8u271-windows-x64.zip

jdk8

2021-03-01

JUnit测试jar包.zip

JUnit测试jar包

2021-02-23

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

TA关注的人

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