自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(130)
  • 资源 (14)
  • 收藏
  • 关注

原创 数据库表字段以表格形式写入Word

在项目的开发中,难免会有编写概要设计、详细设计文档的要求,而在这些文档中,不可避免的就是要把数据库表的字段信息以表格的形式体现出来。表数量少点还可以一点点粘贴,多了的话真的会疯,所以自己编写了一套可以自动读取数据表字段来批量写入文档的代码。maven项目需要先引入依赖。

2023-11-15 10:33:15 499

原创 MySQL - 使用不等于条件时值为NULL的数据也消失

MySQL - 使用不等于条件时值为NULL的数据也消失问题原因以及解决方案

2022-08-14 22:34:08 673 1

原创 MySQL 中文姓名 按照26字母顺序排序

MySQL 中文姓名 按照26字母顺序排序不生效

2022-08-14 22:30:23 886

原创 List操作removeAll引发得java.lang.UnsupportedOperationException异常

List操作removeAll引发得java.lang.UnsupportedOperationException异常原因和解决方案

2022-08-14 22:24:22 1083

原创 Redis的Pipeline简介

redis管道pipeline一次性发送命令执行简介

2022-08-13 23:35:14 772

原创 Redis中Zset介绍和常用命令示例

操作单个zset的redis常用命令介绍

2022-08-13 22:11:31 6669

原创 SpringMVC的执行流程

SpringMVC的执行流程以及组件介绍

2022-07-10 22:24:04 310

原创 list调用stream().collect方法报错空指针异常

list调用stream方法报空指针原因及解决方案

2022-06-13 22:12:54 7135

原创 BeanUtil - 获取实体bean的工具类

获取实体bean和实体类属性拷贝的工具类

2022-06-04 22:52:45 1183

原创 Java泛型详解

一、泛型的本质Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,即给类型指定一个参数,然后在使用时再指定此参数具体的值,那样这个类型就可以在使用时决定了。这种参数类型可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛型方法。二、泛型的作用泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率1、保证类型的安全性在没有泛型之前,从集合中

2022-05-30 23:35:50 762

原创 Linux 如何查看内存使用情况

free命令可以显示当前系统未使用的和已使用的内存大小,还可以显示被内核使用的内存缓冲区。在终端中输入#free–g(显示单位为GB)可以看到我们服务器内存情况。 free:是否还有可用物理内存使用案例如下:详细说明:Mem 内存的使用信息Swap 交换空间的使用信息total:总计物理内存的大小。used:已使用物理内存。free:可用物理内存。shared:多个进程共享的内存总额。buffers/cached:缓存缓冲使用物理内存大小。available:还可以被应用程序使.

2022-05-17 22:27:14 7715

原创 Mysql错误Error writing file ‘/opt/common/xxxxxx’ (Errcode: 28)的解决方法

1、问题现象在执行相关查询sql时报下图所示的错2、原因对于一些复杂的sql或者操作数据比较多的sql时,如果此时临时目录的剩余空间不足就会出现次错误。3、解决办法/opt/common/xxxx为配置文件my.cnf中配置的临时目录,可以通过删除该目录数据或者指向更大目录的方法来解决次问题,或者查看占用存储空间较大的文件是什么文件来决定如何处理。......

2022-05-16 19:53:42 1324

原创 No bean named ‘transactionManager‘ available: No matching PlatformTransactionManager bean found for

1、问题现象报错:No bean named ‘transactionManager’ available: No matching PlatformTransactionManager bean found for2、问题原因项目中采用的了2个数据源,所以将配置文件中的id为transactionManager重命名了,例如改成了sysTransactionManager。在service层的imp层的代码里加了注解@Transactional,但是@Transactional注解中的默认值是tr

2022-05-16 19:47:53 3846

原创 什么是二叉树?二叉树的相关性质详解

一、树的存储结构以及相关概念1、树树结构是一种非线性存储结构,存储的是具有“一对多”关系的数据元素的集合。图 1 树的示例图 1(A) 是使用树结构存储的集合 {A,B,C,D,E,F,G,H,I,J,K,L,M} 的示意图。对于数据 A 来说,和数据 B、C、D 有关系;对于数据 B 来说,和 E、F 有关系。这就是“一对多”的关系。将具有“一对多”关系的集合中的数据元素按照图 1(A)的形式进行存储,整个存储形状在逻辑结构上看,类似于实际生活中倒着的树(图 1(B)倒过来),所以称这种存储结

2022-05-15 11:20:32 883

原创 @PostConstruct使用讲解

1、定义从JavaEE5规范开始,Servlet中增加了两个影响Servlet生命周期的注解,@PostConstruct和@PreDestroy,这两个注解被用来修饰一个非静态的void()方法。2、执行顺序及其使用场景被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行。PreDestroy()方法在destroy()方法之后执行从依赖注入的字面意思可以知道,要将对象

2022-05-14 21:04:20 3488 2

原创 IDEA 快捷生成 Serializable 序列化 UID的方法

1、打开IDEA的Settings2、找到以下菜单,搜索 Serializable class without ‘serialVersionUID’3、依次点击Apply,OK保存设置4、创建一个类如User,让该类实现Serializable序列化接口,鼠标放到类名上可以看到以下信息5、点击这个信息,就会看到自动生成的serialVersionUID...

2022-05-13 23:18:53 23644 1

原创 根据二叉树的先序、中序、后序遍历构建二叉树-Java实现

引言:已知一颗二叉树的前序、中序、后序遍历,我们知道如何还原出这颗二叉树,那么我们使用Java代码如何实现?备注:根据二叉树的先序、中序、后序遍历构建二叉树-图文详解 /** * 下文中用到的TreeNode类 */ class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; }根据二叉树的前序、中序遍历还原二叉树 public TreeNode buildTree (int[.

2022-05-12 22:41:17 573

原创 根据二叉树的先序、中序、后序遍历构建二叉树-图文详解

引言:根据一颗二叉树,可以得出他的先序、中序、后序三种遍历方式,那么如果我们知道了他的前序、中序遍历,如何绘制出这颗二叉树呢?1、二叉树三种遍历方式的特性特性A,对于前序遍历,第⼀个肯定是根节点;特性B,对于后序遍历,最后⼀个肯定是根节点;特性C,利⽤前序或后序遍历,确定根节点,在中序遍历中,根节点的两边就可以分出左⼦树和右⼦树;特性D,对左⼦树和右⼦树分别做前⾯3点的分析和拆分,相当于做递归,我们就可以重建出完整的⼆叉树;2、根据特性构建二叉树例:已知一颗二叉树的前序遍历和中序遍历.

2022-05-11 22:24:17 14972 2

原创 二叉树的先序、中序、后序遍历以及代码实现

一、二叉树的三种遍历方式二叉树的遍历主要有三种:先(根)序遍历(根左右),中(根)序遍历(左根右),后(根)序遍历(左右根),以下图为例分别说明。1、先(根)序遍历(根左右)先序遍历的原则是:先根、再左、再右。即:ABCDEFGH2、中(根)序遍历(左根右)中序遍历的原则是:先左、再根、再右。即:BDCEAFHG3、后(根)序遍历(左右根)后序遍历的原则是:先左、再右、再根。即:DECBHGFA二、代码实现二叉树的三种遍历方式 /** * 下文中用到的TreeNode类 */

2022-05-10 22:37:00 5511

原创 mysql时区怎么修改?

mysql默认使用的SYSTEM时区,即EST时区,查询相关资料可知,EST时区要比北京时间(东八区)慢13个小时1、查看数据库时区show variables like '%time_zone%';2、修改数据库时区1、通过sql命令临时修改设置全局时区:set global time_zone = '+8:00';设置时区为东八区:set time_zone = '+8:00';刷新权限使权限立即生效:flush privileges;2、修改my.cnf.

2022-05-10 20:47:38 3221

原创 java.sql.SQLException: HOUR_OF_DAY: 2 -> 3

1、问题报错2、原因由于没过的夏令营导致的报错。夏令时:由于美国有夏令时,CST非夏令时对应 UTC-06:00,夏令时对应 UTC-05:00 。美国的夏令时,从每年3月第2个星期天凌晨开始,到每年11月第1个星期天凌晨结束。以2020年为例:夏令时开始时间调整前:2020年03月08日星期日 02:00:00,时间向前拨一小时.调整后:2020年03月08日星期日 03:00:00夏令时结束时间调整前:2020年11月01日星期日 02:00:00,时间往回拨一小时.调整后:202

2022-05-09 21:53:28 3712

原创 Java数据结构与算法——最小生成树

一、关于图的几个概念定义:连通图:在无向图中,若任意两个顶点vivi与vjvj都有路径相通,则称该无向图为连通图。强连通图:在有向图中,若任意两个顶点vivi与vjvj都有路径相通,则称该有向图为强连通图。连通网:在连通图中,若图的边具有一定的意义,每一条边都对应着一个数,称为权;权代表着连接连个顶点的代价,称这种连通图叫做连通网。生成树:一个连通图的生成树是指一个连通子图,它含有图中全部n个顶点,但只有足以构成一棵树的n-1条边。一颗有n个顶点的生成树有且仅有n-1条边,如果生成树中再添加一条边

2022-05-08 22:48:47 2046 1

原创 在linux服务器中,如何增量更新jar包中的class文件?

背景:在日常开发过程中,有时我们需要更新jar包中的某些class文件,全量打包更新会很慢,这时就需要增量更新jar包中的class文件,方法如下。一、更新jar包中的单个class1、在将要更新的jar包同级目录下,新建这个class对应的路径(这里以waterdrop下的MysqlManage.class为例。MysqlManage.class的包路径为 io/github/interestinglab/waterdrop/explore/jdbc/manage)mkdir -p io/git.

2022-05-07 21:03:38 1327

原创 @NotNull注解放在实体类或者Controller层不生效解决方案

在日常开发过程中,我们会写一些注解⽤于加在java的实体类属性字段上,或者放到controller层的方法参数中,在进⾏请求或请求的时候会根据字段的注解进⾏对应的校验,简化校验相关的代码。当校验不通过时,会返回对应的message描述例1:注解写在Controller层的接口参数中例2:注解写在实体中当这些注解不生效时,解决方案如下:1、当@NotNull等注解写在实体类中时,需要在Controller接口的方法参数加入@Valid注解,如下图所示:2、当@NotNull等注解写在Co.

2022-05-07 20:42:02 5737

原创 有向无环图的拓扑排序

一、图的基本常识1、弧头和弧尾有向图中,无箭头一端的顶点通常被称为"初始点"或"弧尾",箭头直线的顶点被称为"终端点"或"弧头"。2、入度和出度对于有向图中的一个顶点 V 来说,箭头指向 V 的弧的数量为 V 的入度(InDegree,记为 ID(V));箭头远离 V 的弧的数量为 V 的出度(OutDegree,记为OD(V))。3、(V1,V2) 和 <V1,V2> 的区别无向图中描述两顶点(V1 和 V2)之间的关系可以用 (V1,V2) 来表示有向图中描述从 V1 到 V2

2022-05-06 22:48:09 3907 1

原创 IK分词器-自定义分词算法与自定义分词配置

一、分词的概念分词:就是把我们要查询的数据拆分成一个个关键字,我们在搜索时,ElasticSearch会把数据进行分词,然后做匹配。默认的中文分词器会把每一个中文拆分,比如“迪丽热巴”,会拆分成“迪”,“丽”,“热”,“巴”,显然,这并不符合我们的要求,所以ik分词器(中文分词器)能解决这个问题。二、IK分词器的分词算法ik分词器存在两种分词算法:ik_smart:称为智能分词,网上还有别的称呼:最少切分,最粗粒度划分ik_max_word:称为最细粒度划分三、分词算法测试1、ik_sma

2022-05-06 20:33:01 4850

原创 Elasticsearch之IK分词器配置

1、ik配置文件ik配置文件位置:es/plugins/ik/config目录IKAnalyzer.cfg.xml:用来配置自定义词库main.dic:ik原生内置的中文词库,总共有27万多条,只要是这些单词,都会被分在一起quantifier.dic:放了一些单位相关的词suffix.dic:放了一些后缀surname.dic:中国的姓氏stopword.dic:英文停用词ik原生最重要的两个配置文件main.dic:包含了原生的中文词语,会按照这个里面的词语去分词stop

2022-05-06 17:48:02 2321

原创 ElasticSearch如何在前后台启动?

前台启动进入es的目录 bin/elasticsearch前台停止Ctrl + C停止进程后台启动进入es的目录 bin/elasticsearch -d后台停止1.查看端口9200被哪个进程占用sudo lsof -it tcp:port例如:sudo lsof -it tcp:9200或者直接查看es的进程ps - ef | grep elasticsearch2.kill相应进程sudo kill -9 pid例如:sudo kill -9 987...

2022-05-06 17:28:23 1708

原创 Redis中set、setnx、setex区别

Redis中set、setnx、setex区别1、SET2、SETEX3、SETNX4、GETSET1、SET SET key value含义:将字符串值 value 关联到 key 。如果 key 已经持有其他值, SET 就覆写旧值,无视类型。2、SETEX SETEX key seconds value含义:将值 value 关联到 key ,并将 key 的生存时间设为 seconds (以秒为单位)。如果 key 已经存在, SETEX 命令将覆写旧值。返回值:设置成功

2022-04-06 15:29:42 10205

原创 SpringBoot中使用@Scheduled 定时任务注解不能运行

问题:方法上加@Scheduled(cron = “0/20 * * * * ?”) 注解定时任务不能调起解决方式:1.排查定时任务类是否有@Component 注解2.排查启动类是否有@EnableScheduling 注解

2021-01-11 11:12:29 1973

原创 Java实现压缩与解压缩工具类

package com.bfd.knowl.common.utils;import java.io.*;import java.util.ArrayList;import java.util.List;import java.util.zip.ZipEntry;import java.util.zip.ZipInputStream;import java.util.zip.ZipOutputStream;import com.bfd.bdos.common.logger.LogType;

2020-12-06 15:43:02 566

原创 java统计一个项目的代码行数

代码如下:mport java.io.*;/** * @author ming.chang * @since 2020/10/31 9:23 */public class CountCodeLine { static int count = 0; public static void main(String[] args) throws IOException { //获取所要查询文件夹路径 String path = "D:\\idea-perc

2020-10-31 09:30:20 1164

原创 设计模式之「策略模式(Strategy Pattern)」

策略模式定义:指对一系列的算法定义,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。简介在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。策略模式角色环境(Context)角色:持有一个Strategy的引用,最终给客户端调用。抽象

2020-10-12 17:10:58 135

原创 六大设计原则之「开闭原则(Open Close Principle)」

六大设计原则单一职责原则里式替换原则依赖导致原则接口隔离原则迪米特原则开闭原则开闭原则定义: Software entities like classes, modules and functions should be open for extension but closed for modifications. 一个软件实体应该对扩展开放,对修改关闭。定义解析:一个软件实体应该通过扩展来实现变化,而不是通过修改已有的代码来实现变化。简介开闭原则(OCP,Open Close

2020-10-12 16:42:58 813

原创 六大设计原则之「迪米特原则(Low Of Demeter)」

六大设计原则单一职责原则里式替换原则依赖导致原则接口隔离原则迪米特原则开闭原则迪米特原则定义:最少知识原则(Least Knowledge Principle,简称 LKP),一个类对自己需要耦合或者调用的类应该知道的最少。介绍:1.一个对象应该对其他对象保持最少的了解2.类与类关系越密切,耦合度越大3.迪米特法则(Demeter Principle)又叫最少知道原则,即一个类对自己依赖的类知道的越少越好(h)。也就是说,对于被依赖的类不管多么复杂,都尽量将逻辑封装在类的内部。

2020-10-12 16:19:13 329

原创 六大设计原则之「接口隔离原则(Interface Segregation Principle)」

六大设计原则单一职责原则里式替换原则依赖导致原则接口隔离原则迪米特原则开闭原则接口隔离原则定义:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。问题由来:类A通过接口I依赖类B,类C通过接口I依赖类D,如果接口I对于类A和类B来说不是最小接口,则类B和类D必须去实现他们不需要的方法。解决方案:将臃肿的接口I拆分为独立的几个接口,类A和类C分别与他们需要的接口建立依赖关系。也就是采用接口隔离原则。举例来说明接口隔离原则:1.未遵循接口隔离原则的设计如下

2020-10-12 15:28:12 396

原创 六大设计原则之「依赖倒置原则(Dependence Inversion Principle)」

六大设计原则单一职责原则里式替换原则依赖导致原则接口隔离原则迪米特原则开闭原则依赖倒置原则定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。解決方法:将类A修改为依赖接口I,类B和类C各自实现接口I,类A通过接口I间接与类B或者类C发生联系,则会大大降低修改类A的几率示例:class Newspaper implements IReader { public String getContent(){ ret

2020-10-12 14:55:12 216

原创 六大设计原则之「里式替换原则(Liskov Substitution Principle)」

六大设计原则单一职责原则里式替换原则依赖导致原则接口隔离原则迪米特原则开闭原则Java使用extends关键字来实现继承,它采用了单一继承的规则,C++则采用了多重继承的规则,一个子类可以继承多个父类。从整体上来看,利大于弊,怎么才能让“利”的因素发挥最大的作用,同时减少“弊”带来的麻烦呢?解决方案是引入里氏替换原则(Liskov Substitution Principle,简称LSP),什么是里氏替换原则呢?它有两种定义:1.第一种定义,最正宗的定义:If for each obj

2020-10-12 14:28:24 369

原创 六大设计原则之「单一职责原则(Single Responsibility Principle)」

六大设计原则单一职责原则里式替换原则依赖导致原则接口隔离原则迪米特原则开闭原则单一职责原则单一职责原则(Single Responsibility Principle,SRP):一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。简述:单一职责原则(Single Responsibility Principle,SRP)可以看作是低耦合、高内聚在面向对象原则上的引申与扩展,将职责定义为引起变化的原因,以提高内聚性来减少引起变化的原因。

2020-10-10 16:22:00 292

原创 视图和表的区别和联系

数据库中的数据都是存储在表中的,而视图只是一个或多个表依照某个条件组合而成的结果集,一般来说你可以用update,insert,delete等sql语句修改表中的数据,而对视图只能进行select操作。但是也存在可更新的视图,对于这类视图的update,insert和delete等操作最终会作用于与其相关的表中数据。因此,表是数据库中数据存储的基础,而视图只是为了满足某种查询要求而建立的一个对象。表是物理存在的,你可以理解成计算机中的文件!视图是虚拟的内存表,你可以理解成Windows的快捷方式!1.

2020-09-30 16:01:19 7374

鲜花信息管理.rar

鲜花信息管理是我当初学习JavaEE课程的时候基于Struts2,SQL Server开发的一块小型的web应用,包含优美的画面,很简单的鲜花信息的增删改查,适合练手,更适合交期末作业

2019-11-22

五子棋小游戏.rar

JavaSE阶段练手的五子棋小游戏,有棋盘,两种棋子,通过一些简单的数学知识来判断游戏的输赢以及两种棋子的相互切换

2019-11-14

JAVAWEB.rar

包含了JavaWeb阶段学习的一些技术,例如HTML-CSS,JS,tomcat,servlet,session,cookie以及MySql等

2019-11-14

JavaSE笔记.rar

学习JavaSE做的一些笔记,包括Java基础知识(关键字,语句,常量,变量,运算符,数组,方法),Java面向对象(static,final,封装,继承,多态,内部类等)以及JavaAPI(String,正则,集合,映射,IO,Socket,反射,线程等技术)

2019-11-14

Java预科总结笔记.rar

此文档详细的总结了JavaSE的相关知识,包括集合,映射,线程,文件,BIO,网络套接字,单例模式,反射等基础知识,为学习框架做准备

2019-11-14

拍卖系统.rar

学校java结课时提交的一个小项目,没有数据库的纯java的拍卖系统,有商品,用户的增删改查,用户登录,进行拍卖,拍卖信息展示等功能。

2019-11-06

险中求生.rar

基于Java基础,仿照飞机大战的一款太空类游戏,有背景音效,可以控制战舰向八个方向移动,有爆炸特效以及战舰大招

2019-11-06

飞人快跑.rar

Java基础开发的一款酷跑类游戏,里面有障碍物和道具之分,碰到障碍物会丢失生命值,碰到不同的道具会有不同的效果。

2019-11-06

捕鱼达人.rar

模拟捕鱼达人游戏,这款小游戏没有那么丰富,完全是用来练手,里面只用到了JavaSE的基础知识,代码简单易懂,适合学习。

2019-11-06

飞机大战.rar

JavaSE的学习中比较典型的一个游戏,学会这个可以照猫画虎的做出很多有意思的小游戏,通过用户机不断移动来攻击敌机,每达到一定分数会有大boss出现,消灭他们,直到你被摧毁。

2019-11-06

WeTalking.rar

使用了Java中的网络套接字Socket,IO流,文件,TCP-IP等基础知识写的一个小项目,具有服务器端和客户端之分,实现的功能有,登录,注册,发起单人聊天,多人聊天,发送文件,查看并下载聊天记录,查看并修改用户个人信息,服务器端可查看服务器日志,用户的信息,以及对服务器和用户的各种操作。

2019-11-06

打砖块.rar

这时我大学期间利用课余时间运用JavaSE基础知识做的小游戏,打砖块是好多90后的童年回忆,这个里面我分了三个关卡,三中难易程度,实现了小球打掉砖块,碰到墙壁反弹等功能,最后也加入了背景音乐和碰撞后产生的不同的音效,比较简单

2019-11-06

Hadoop伪分布式配置.txt

Hadoop的安装分为单机方式、伪分布式方式和完全分布式方式。 这里主要讲解在CentOS6.5环境中Hadoop的伪分布式安装配置。

2019-11-05

Hadoop完全分布式配置.txt

Hadoop的安装分为单机方式、伪分布式方式和完全分布式方式。 a. 单机模式是Hadoop的默认模式。当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选择了最小配置。在这种默认模式下所有3个XML文件均为空。当配置文件为空时,Hadoop会完全运行在本地。因为不需要与其他节点交互,单机模式就不使用HDFS,也不加载任何Hadoop的守护进程。该模式主要用于开发调试MapReduce程序的应用逻辑。 b. 伪分布模式 Hadoop守护进程运行在本地机器上,模拟一个小规模的的集群。可以使用HDFS和MapReduce。 c. 完全分布模式 Hadoop守护进程运行在一个集群上。启动所有的守护进程,具有hadoop完整的功能,可以使用HDFS、MapReduce和Yarn,并且这些守护进程运行在集群中,可以真正的利用集群提供高性能,在生产环境下使用。 本文主要讲解Hadoop的完全分布式安装

2019-11-05

空空如也

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

TA关注的人

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