自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

死牛胖子的技术随笔

分享JAVA学习经验

  • 博客(266)
  • 问答 (1)
  • 收藏
  • 关注

原创 vscode使用EditorConfig进行项目配置

vscode项目配置

2024-04-27 15:54:29 200

原创 vscode安装中文插件不生效

vscode汉化

2024-04-27 15:09:25 226

原创 报错:Property glob does not exist on type ImportMeta

针对 Vite 项目中 Property glob does not exist on type ImportMeta 的报错处理方法

2024-04-19 12:19:21 387

原创 mysql数据导入导出(export & import)

Mysql数据导入导出

2024-02-23 08:16:42 714

原创 手写VUE后台管理系统10 - 封装Axios实现异常统一处理

从零开始手写VUE后台管理系统,封装Axios

2023-12-11 16:24:34 801

原创 手写VUE后台管理系统9 - 多环境配置

从零开始手写VUE后台管理系统,多环境配置

2023-12-11 14:33:00 121

原创 手写VUE后台管理系统8 - 配置404NotFound路由

从零开始手写VUE后台管理系统,配置404路由

2023-12-04 15:26:30 200

原创 手写VUE后台管理系统7 - 整合Less样式

从零开始手写VUE后台管理系统,整合Less样式

2023-12-02 16:58:07 239

原创 手写VUE后台管理系统6 - 支持TS声明文件.d.ts

手写VUE后台管理系统,支持TS声明文件.d.ts

2023-12-02 11:31:44 348

原创 手写VUE后台管理系统5 - 整合状态管理组件pinia

从零开始手写VUE后台管理系统,整合状态管理组件pinia

2023-11-29 17:49:10 280

原创 Vite+Vue3+TS(5)应用路由守卫动态修改WEB页标题

在meta中定义title属性title : '工作台' } } ]

2023-07-25 11:10:04 758

原创 手写VUE后台管理系统4 - 整合UI框架AntDesignVue

从零开始手写VUE后台管理系统,整合UI框架ant-design-vue

2023-03-24 20:04:25 1466 1

原创 Mysql8.0如何重置密码

环境:mysql8.0以上版本。

2022-08-25 11:06:10 5272

原创 Vite+Vue3+TS(4)整合路由组件Vue-Router之导航守卫

导航的过程为了保持良好的可扩展性,设计了守卫及钩子,守卫可以重定向路由,而钩子则不能修改导航本身。守卫跟钩子有全局定义的,也有路由私有的,全局定义的每次导航都会被调用,而路由私有的则只会导航到相应路由时才会被调用。

2022-07-18 11:10:37 2201

原创 手写VUE后台管理系统3 - 整合路由组件 vue-router

从零开始手写VUE后台管理系统,整合路由组件vue-router

2022-07-06 20:01:50 2487

原创 手写VUE后台管理系统2 - 配置@表示src路径

使用 @ 表示项目的 src 目录

2022-07-06 17:58:45 4822 2

原创 Spring源码分析 | FactoryBean的使用及实现原理

Spring是目前使用最广泛的J2EE框架,主要包括IOC及AOP两部分功能,IOC即依赖注入,

2022-06-21 16:34:19 159

原创 Spring源码分析 | BeanFactoryPostProcessor的用法与源码分析

接口只提供了一个回调方法,通过该方法可以调整容器的属性。 还有一个子接口 ,该接口也提供了一个回调方法,通过该方法可以向容器注册 。 方法的回调时间在 方法之前,也就是说优先注册 。BeanFactoryPostProcessor 在容器启动过程中的执行时机Spring 应用通过 方法启动容器,在 中会对所有的 执行回调, 的执行时间是在完成 加载之后,执行 实例化之前。所以在 中可以修改容器属性,可以注册 ,但最好不要手动做 Bean 实例化,不然可能导致不可预知的错误。如何注册 B

2022-06-20 21:30:40 281

原创 Spring源码分析 | 设置自定义PropertyEditor

自定义一个对象,为 address 属性通过 注解设置一个默认值,该值是一个字符串,而属性类型是一个对象,正常来说肯定会报错,通过自定义 进行类型转换才可以正常注入。编码自定义 PropertyEditor创建类型转换器 类继承自 类,并重写 方法。自定义 PropertyEditorRegistrar创建类型转换器登记器 ,实现接口 ,在 方法实现对 类型转换器的注册。注册 CustomEditorConfigurer 是一个 ,在 Spring 启动时,会回调 方法实现对

2022-06-08 15:01:18 199

原创 Spring源码学习 | ResourceLoader资源加载

Spring 将所有的资源统一成了 Resource,不同的资源对应 Resource 的一个实现类,众多的实现类共同组成 Resource 家族,需要加载什么资源,只需要实现 Resource 接口,就可以成为 Resource 家族的一员,统一使用 Resource 接口进行资源加载。但是,在使用时,需要使用者清楚知道不同的资源对应哪一个实现类,以及实现类该如何构建、如何使用,说到底就还是面向实现编程而不是面向接口编程。为了进一步简化资源加载过程,Spring 又封装了 ResourceLoader

2022-05-28 11:57:23 297

原创 Spring工具类AntPathMatcher的用法及源码分析

路径在很多地方都会使用,比如:文件名,URL地址等,JDK 提供了 Path 类用来表示路径。实际使用时,经常需要通过一个路径表示多个地址,比如,Spring 启动时的扫描路径,这就需要增加对通配符的支持,同时也就需要支持对通配符的匹配。Spring 设计了 PathMatcher 路径匹配器接口,用于支持带通配符的资源路径匹配。这个接口在 Spring 的多个地方得到应用,比如:PathMatchingResourcePatternResolver:资源扫描,启动时扫描并加载资源AbstractU

2022-05-25 10:52:20 6921 2

原创 Maven如何解决版本冲突

Maven 依赖具备传递性,A 依赖 B,B 依赖 C,那么 A 事实上也依赖 C,如果同时 A 还依赖 D,D 依赖 E,E 也依赖 C,也就是说 A 有两条路径都依赖 C,如果两条路径上的 C 版本不一致,那么 A 会选择依赖 C 的哪个版本?Maven 使用以下两个原则处理版本问题最短路径优先原则在项目依赖关系中,路径最短的版本会被使用。以上文中说到的例子作为示例,A -> B -> C(1.0) 路径长度比 A -> D -> E -> C(2.0) 短,虽然后

2022-05-23 23:34:19 923

原创 Maven安装与配置

下载从 Apache 官网下载 Maven 二进制版本,解压至 /usr/local/maven-xxx,然后创建一个符号链接,方便后续使用ln -s maven-xxx maven配置编辑文档 /etc/profile,在最后面加上如下内容export M2_HOME=/usr/local/mavenexport PATH=$M2_HOME/bin:$PATH刷新配置source /etc/profile检验安装查看 maven 版本mvn -v配置本地仓库位置打开配置文

2022-05-23 23:08:12 145

原创 手写VUE后台管理系统1 - 项目搭建

从零开始手写VUE后台管理系统

2022-05-04 17:38:50 1048

原创 npm、cnpm、yarn、tyarn的区别

npm包管理器,安装 nodejs 会自动安装。检查版本npm -vcnpmnpm 的国内镜像,因为 npm 的包都在外网服务器上,所以下载会比较慢,使用国内镜像就会快得多。可以使用 npm 进行安装,使用淘宝的镜像npm install -g cnpm --registry=https://registry.npm.taobao.org检查版本cnpm -vyarn与 npm 一样的包管理器,但是 yarn 是并行下载的,所以速度更快。安装npm install.

2022-04-18 16:14:48 451

原创 SpringBoot整合MybatisPlus实现自定义类型处理

数据持久层框架最核心的功能,就是将数据库中的表与 Java 的对象形成映射,可以以 Java 对象的形式向查询语句传递入参,也可以将查询结果转换为 Java 对象,但是 Java 中的数据类型与数据库中的数据类型并不是一一对应的,这中间就需要进行一次类型处理。Mybatis 提供了 TypeHandler 接口用于字段类型处理,也许有人会说平常使用 Mybatis 也没有用到 TypeHandler,一样可以正常运行啊。这是因为我们平常使用的都是一些常用数据类型,比如:String、Integer、Lon

2022-04-03 12:19:50 1329

原创 SpringBoot整合MybatisPlus支持枚举类型

SpringBoot 集成 MybatisPlus 系列SpringBoot 版本:2.6.4MybatisPlus 版本:3.5.1SpringBoot整合MybatisPlusSpringBoot整合MybatisPlus数据自动填充SpringBoot整合MybatisPlus实现逻辑删除SpringBoot整合MybatisPlus实现分页查询SpringBoot整合MybatisPlus支持枚举类型未完待续…在实际的项目开发中,通常会使用一些枚举,比如:是否、有无,这样

2022-03-12 11:24:58 2385

原创 SpringBoot整合MybatisPlus实现分页查询

SpringBoot 集成 MybatisPlus 系列SpringBoot 版本:2.6.4MybatisPlus 版本:3.5.1SpringBoot整合MybatisPlusSpringBoot整合MybatisPlus数据自动填充SpringBoot整合MybatisPlus实现逻辑删除SpringBoot整合MybatisPlus实现分页查询SpringBoot整合MybatisPlus支持枚举类型未完待续…分页查询是持久化框架的基础功能,Mybatis 本身也提供了分

2022-03-12 11:15:15 4037

原创 SpringBoot整合MybatisPlus数据自动填充

SpringBoot 集成 MybatisPlus 系列SpringBoot 版本:2.6.4MybatisPlus 版本:3.5.1SpringBoot整合MybatisPlusSpringBoot整合MybatisPlus数据自动填充SpringBoot整合MybatisPlus实现逻辑删除SpringBoot整合MybatisPlus实现分页查询SpringBoot整合MybatisPlus支持枚举类型未完待续…在真实的项目里,表结构中一般会存在一些公司内部约定的公共字段,

2022-03-12 11:10:31 1321

原创 Kafka控制器Controller选举过程详解

Kafka 节点加入集群会进行以下两个操作注册 brokers,创建临时节点 /brokers/ids/{broker.id}注册 controller,创建临时节点 /controller第一步,通常会成功,如果失败,就说明 Kafka 集群中有两个节点的 broker.id 设置冲突了,修改 server.properties 配置文件中的 broker.id 配置。第二步,将当前节点注册为集群的控制器,/controller 节点是一个临时节点,如果该节点不存在,则创建成功,如果该节点已存

2022-03-01 16:05:10 2242

原创 Class.getResourceAsStream()与ClassLoader.getResourceAsStream()的用法

Class.getResourceAsStream() 与 ClassLoader.getResourceAsStream() 两个方法都是加载类路径下资源的方法。类路径下文件的表示方法分为两种:绝对路径、相对路径,针对不同的路径,两个方法是否都支持? Class.getResourceAsStream()总结ClassLoader.getResourceAsStream()总结源码分析准备工作本文示例使用 Maven 进行构建,使用 .properties在 resources 目录下添加资源

2022-02-17 18:09:47 1281

原创 Kafka数据存储结构

Kafka 的数据分为两部分:元数据、消息数据。元数据:元数据包括集群信息、节点信息、队列信息、主从信息、分区信息、分区分布信息等,这类信息都存储在 Zookeeper 上,Kafka 的任何一个节点都可以读取元数据信息。消息数据:生产者向集群发送的消息。生产者直接向分区的 Leader 发送消息,Leader 会同步至 Flowers 节点,分区的 Leader 及 Flowers 节点都存储了一份消息数据。 元数据结构clustercontrollercontroller_epochbroke

2022-02-09 15:17:32 3217

原创 虚拟机环境安装 | 安装Kafka集群

操作系统:Centos7集群规划准备四台虚拟机服务器IPZookeeper集群Kafka集群node01192.168.80.129Ynode02192.168.80.130YYnode03192.168.80.131YYnode04192.168.80.132Y准备工作1、使用服务器名称进行通信编辑 /etc/hosts 文件,在最后添加如下内容192.168.80.129 node01192.168.80.130 .

2022-01-21 17:25:01 3217

原创 虚拟机环境安装 | 安装Zookeeper集群

这里写目录标题集群规划准备工作集群安装Zookeeper 基本命令服务器命令客户端命令操作系统:Centos7集群规划准备三台虚拟机,共同组成 Zookeeper 集群服务器编号IPnode011192.168.80.129node022192.168.80.130node033192.168.80.131准备工作1、安装 JDK由于 zookeeper 的运行需要 Java 运行环境,所以需要首先安装 JDK,参考之前的文章 https:

2022-01-19 18:19:55 3383 2

原创 虚拟机环境安装 | 查看修改主机名

目录查看主机名修改主机名命令修改永久修改查看主机名使用 hostname 命令查看主机名使用 hostnamectl 命令查看主机更多信息修改主机名命令修改使用命令修改都是临时修改,一旦系统重启,设置就会失效方法一:使用 sysctl 命令修改内核参数sysctl kernel.hostname=gigi方法二:使用 hostname 命令设置主机名hostname gigi可选参数-a, --alias alias names-A, --all-

2022-01-18 20:15:15 10042 1

原创 虚拟机环境安装 | Git 安装

linux操作系统GIT安装配置教程

2022-01-18 17:56:12 2439

原创 Kafka架构体系

目录简述诞生优势使用场景CAP消息队列Kafka 相关概念Kafka 架构体系Partition 架构体系Replica 架构体系Consumer Group 架构体系参考简述Kafka 是由 Apache 软件基金会开发的一个开源的分布式流处理平台,由 Scala 和 Java 编写。主要分为两部分功能:发布订阅模式的消息队列:构造实时流数据管道,可以在系统或应用之间可靠地获取数据,一般用于系统间解耦、异步通信、削峰填谷等用途。Kafka Stream 实时在线流处理:构建实时流式应用程序,对

2022-01-15 11:53:28 1182

原创 EnumMap&EnumSet的用法

目录EnumMap 的用法EnumSet 的用法创建空集合创建包含所有元素的集合创建包含指定元素的集合创建范围集合补集复制创建集合EnumMap 的用法EnumMap 在使用上跟 HashMap 差不多,但是 EnumMap 的性能更好,所以,如果键为 Enum 类型时,建议使用 EnumMap 代替 HashMap。public enum Color { YELLOW, RED, BLUE, BLACK}public static void main(String[] args) {

2022-01-14 18:13:32 649

原创 代码优化 | 如何设置HashMap的初始值大小

写在前面通过本文可以了解 HashMap 及 ArrayList 的扩容策略以及如何设置初始值大小。为什么要设置初始值大小?底层使用数组实现的集合类,比如:HashMap、ArrayList,都会存在扩容的问题,当数组空间不够用时,需要对数组进行动态扩容,不然就会造成 ArrayIndexOutOfBoundsException 异常。如果在创建集合时,就已经知晓集合的大小,那么就可以事先设置集合底层数据的大小,这样就可以避免添加元素的过程中自动扩容,从而达到提高性能的目的。以 HashMap 为

2022-01-13 20:37:43 4031

原创 工具类 | 集合工具类Collections介绍

前言通过本文,你可以学习到 Collections 工具类的一些方法使用,在编码过程中都是非常实用的。引入Collections 是 JDK 提供的工具类,不需要专门引入。工具方法介绍空集合当一个方法的返回值是集合时,如果返回值为空时,建议不要返回 null,而是返回一个空集合。但如果每次都新建一个 ArrayList 或者 HashMap,则会造成一定的内存浪费,Collections 为 List、Set、Map 等集合类定义了相应的空集合常量。// 空 ListCollections

2022-01-12 16:45:08 10265 1

空空如也

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

TA关注的人

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