自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(94)
  • 资源 (1)
  • 收藏
  • 关注

原创 SpringBoot动态获取项目部署的端口号

参考:通过Spring boot编码获取当前程序运行的host和端口号_不当初-优快云博客方法是采用Spring提供的ApplicationListener接口来监听项目的启动,在启动的时候获取到项目的端口号。然后我自己试着采用上面的链接,测试发现,除了项目启动时,能正常打印出端口号,其他业务逻辑执行的时候,获取到的端口号都为0尝试改了一下,代码如下,试着还行,凑合着先用import lombok.Data;import org.springframework.boot.we

2021-12-07 11:02:33 9462

原创 IDEA让代码飞起来,IDEA快捷键

工欲善其事必先利其器,要想快速的开发代码,除了,有扎实的java基本功,我们应该还要先懂一些idea配置1、更改字体,背景颜色。字体的大小,样式不同对每个人造成的视觉疲劳程度也不同,选择适合自己的字体大小,和样式,提高自己的开发效率,重要性毋庸置疑三个步骤:分别更改项目树的字体大小,编辑窗口,以及控制台窗口的字体大小idea快捷键:Alt+...

2020-07-07 16:33:53 483

原创 java方法名,类名,命名规范

1、包的命名: Java包的名字都是由小写单词组成。2、类的命名: 类名是以大写字母开头的名词。如果有多个单词组成,每个单词第一个字母应该大写(骆驼命名法)。不能使用Java保留字作为类名。3、方法的命名: 方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头。4、变量的命名: 首字母是小写的,接下来的单词都以大...

2020-03-01 21:08:09 17810

原创 如何在Linux服务器上远程调试Java代码

​ JVM远程调试(Remote JVM Debugg)是软件开发过程中一项非常有用的技术,它允许开发者在一台机器上运行Java应用程序,同时在另一台机器上进行调试。这对于调试部署在测试环境中的应用或跨网络的分布式系统尤为重要。​ 本文将介绍如何设置和使用Java远程调试功能,包括必要的配置步骤、命令行参数以及IntelliJ IDEA等流行IDE的集成方法。​ 远程调试是一项强大的工具,可以帮助开发者更有效地诊断和解决复杂的代码问题。

2025-01-19 14:23:02 807

原创 取消springboot中的Test类中的日志打印

使用@SpringBootTest注解进行单元测试时, 打印东西的时候,总会伴随很多的无关紧要的日志信息,影响观感。去掉这些日志应该怎么做呢?

2024-03-24 01:30:58 804

原创 【设计模式】-策略模式:优雅处理条件逻辑

策略模式(Strategy Pattern)是一种行为型设计模式,它允许在运行时根据不同的条件选择不同的算法或行为。它将每个条件分支的逻辑封装在一个独立的类中,使得它们可以独立变化,互不影响。策略模式使用了面向对象的封装、继承和多态等特性,使得代码具备高内聚低耦合的特点。通过将条件逻辑的变化封装到策略类中,不仅可以简化代码的编写,还能提高代码的可维护性、可扩展性和可重用性。通过策略模式,我们可以优雅地处理条件逻辑,将各个条件分支的逻辑封装到独立的策略类中,使得代码结构清晰、易于扩展和维护。

2023-08-10 11:23:41 2049

原创 【设计模式】-装饰器模式

首先,我们需要定义一个接口或抽象类,它定义了核心功能的方法。这个接口或抽象类是被装饰的对象的类型,也是装饰器对象的类型。接下来,我们定义一个装饰器类,它实现了相同的接口或抽象类,并且持有一个核心功能对象的引用。} }

2023-08-07 15:50:01 1488

原创 【设计模式】-代理模式

在软件开发中,经常遇到需要对某个对象进行控制或者监控的场景。而直接修改对象的代码可能使代码变得复杂且难以维护。这时,使用代理模式(Proxy Pattern)可以很好地解决这个问题。代理模式是一种结构型设计模式,,实现对原有对象的控制或扩展。Java中的代理模式常用于实现日志记录权限控制事务控制等功能。

2023-08-07 12:27:55 974

原创 【设计模式】-建造者模式

建造者模式通过将对象的构建过程与表示分离,使得同样的构建过程可以创建不同的表示。它可以帮助我们创建复杂的对象,并保证对象的构建过程可配置和可扩展。在实际应用中,建造者模式具有较高的灵活性和可扩展性。

2023-08-06 02:19:48 1257

原创 【设计模式】-工厂方法模式

该工厂类的子类负责具体的对象创建,每个子类都可以通过实现工厂接口的方式来创建自己的对象。在实际应用中,我们经常需要根据不同的条件或者参数来创建不同的对象。使用工厂方法模式,我们可以通过不同的工厂子类来创建不同的对象,而无需在使用对象的地方编写判断条件或者创建对象的具体代码。

2023-08-06 00:41:48 722

原创 chrome插件推荐

chrome插件推荐

2023-07-26 18:29:06 566

原创 【设计模式】-单例模式

如果对象不存在时,多个线程执行第二行,很有可能都会进入到if方法体中,虽然同一时刻只有一个线程可以获取锁,但是进来的线程已经都在队列中了。如果不加第四行的判断,进来的线程迟早都会获取到锁资源,进而实例化一个新的对象。原理:维护一组单例类的实例,将这些实例存放在一个单例Map中,对于已经登记过的实例,则从Map直接返回,对于没有登记的,则先登记,然后返回。饿汉式,在类创建的同时就已经创建好一个静态的对象,并且以后都不需要重新创建,所以不存在线程不安全的问题。我用的比较少,感兴趣的可以去搜一下。

2022-05-22 21:18:47 444

原创 关于mybatis批量更新(updateBatch)的问题

关于使用循环,依次执行多条update的方式方式如下:<update id="updateBatch"> <foreach collection="list" item="item" index="index" separator=";" open="" close=""> update history_max_num set max_num = #{item.maxNum,jdbcType=DECIMAL} where id = #{

2022-04-18 11:17:44 2319

原创 使用docker搭建ftp服务器

最近在做的一个调度系统的需求里,有一个需求,需要用到ftp服务器进行文件的下载和上传。刚好新分配的两个linux服务器上没有搭建ftp,想着就用docker安装一下。安装的方式,参照:Linux下使用docker搭建ftp服务器 - william_zhao - 博客园顺序无非,拉取镜像,启动服务器,访问服务器。1)docker拉取ftp镜像docker pull fauria/vsftpd2)启动ftp服务器docker run -d -p 2121:21 -p 2020.

2022-03-09 13:59:18 18559 6

原创 Java8 stream 多条件排序,且支持自定义排序

需求:从数据库中查询到实体类的list,需要根据实体类中的某几个字段进行排序。假设:实体类如下:static class SortExample{ private Integer id; private String region; private String fileType; private String fileCode; private String fileSize; ...

2022-03-01 10:33:48 8482 1

原创 命令记录-mysql本地允许远程访问

本地mysql允许远程访问,修改命令如下 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;...

2022-01-28 11:23:10 1742

原创 关于Mybatis查询Sql结果未映射到对应得实体类上

1)如果你写了resultMap的xml映射,那么select标签的属性选择resultMap。且确保column属性中的值对应sql 语句中的列,property属性中的值对应的是实体类中字段名2)如果你没写resultMap的xml映射,那也没事。mybatis会自动帮你映射。但是你的select标签的属性要使用resultType属性,用于指向具体的实体类。但同时,你要满足上面三个条件之一。同时确保mapUnderscoreToCamelCase参数为true。

2022-01-19 14:51:22 23406 3

原创 关于Cannot add or update a child row: a foreign key constraint fails 报错记录

今天导入表数据的时候,insert语句报错,Cannot add or update a child row: a foreign key constraint fails看了访问比较多的是一篇文章,照了试了一下,也不行。明明数据是从另一个库中导出来的,只是导入本地而已。,不应该有问题看了 这个文章 救了老命1)先取消外键约束SET FOREIGN_KEY_CHECKS=0; 2)修改表数据。我的就直接执行insert语句了3)恢复外键约束SET FOREIG...

2022-01-13 11:38:13 433 1

原创 关于RUOYI-CLOUD-NACOS系统的部署

代码:RuoYi-Cloud:(nacos版本)参考:RuoYi-Cloud从配置到运行 - 惊鸿难定 - 博客园RuoYi-Cloud版本分为两种,分别是eureka和nacos的我这里采用的nacos

2022-01-12 15:29:32 3237

原创 Linux上安装多个JDK,并随意切换版本

今天在一个新的服务器上运行项目,发现没有设置JDK的环境变量,导致$JAVA_HOME找不到jdk的安装位置。而且发现JDK版本也不太符合要求。于是又要重装JDK。但是新的JDK不想卸载,能怎么办,只能安装好几个,留着给大家自己选喽1)首先查看当前服务器JDK的版本库,以及安装位置alternatives --config java使用alternatives --config java命令,本身就是选择JDK版本,选择的时候,就能看到当前服务器可以使用的JDK版本,无论是系统自带还是人工

2022-01-12 14:39:08 21888 4

原创 修改Mysql字符集

新建mysql数据库的时候,没有指定字符集和排序规则,导致插入中文的时候,插入失败。由于表已经建好了,使用Dbeaver可以直接修改字符集和排序规则。修改完成之后,点击右下角的save 按钮,再弹框中点击执行按钮。按理说这里样子刷新之后,字符集就改过来了。但是今天新建的好几张表都没修改成功。后来直接在页面执行下面sql语句。竟然就可以了ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4 COLLATE u

2022-01-05 14:35:50 1481

原创 WINDOWS安装多个JDK,并随意切换JDK版本

最近新接手一个项目。启动的时候,发现有些jar和现在正在使用的JDK版本不一致,一直启动有问题。想着就多装一个JDK。由于为了保证java的运行环境和编译环境保持一致,就需要我们设置jdk的环境变量。),多个JDK,就涉及到JDK环境变量的切换问题。

2021-11-30 15:13:47 4645 7

原创 Linux (centos)开放端口

以下命令,适用 Centos7开放或者关闭具体端口1) 首先查看现在所有已开放的端口firewall-cmd --zone=public --list-ports2)开放指定端口firewall-cmd --zone=public --add-port=27017/tcp --permanent设置完成,下面会出现success,但是这时只是设置成功,还没生效。生效需要重启以下防火墙:firewall-cmd --reload3) 移除指定端口firewal...

2021-11-13 23:53:46 1609

原创 Object[] 强制转换为String[]

最近,有个需求需要将List<实体类> 转换成map的,map的key 是由实体类的几个字段拼接而成。这个操作很多,就像写个方法,专门用来拼接key,但是参数的个数不定,因为每个实体类的需要拼接的字段不一定。于是就是入参改成了动态参数。结果如下。/** * 按照主键拼接map的key值 * * @param arg * @return */ private String getKey(String... arg) {

2021-11-09 13:57:28 2684

原创 [ERROR] Malformed \uxxxx encoding.报错解决

今天用idea运行完项目。想直接打包的时候,结果打包失败,一直报错[ERROR] Malformed \uxxxx encoding.网上查了之后,一直说是,有路径在使用斜杠的时候,使用错误。将"\"换成"/"就好了,但是我配置文件、pom文件中,所有涉及到路径的都没有"\"。还有的说,让换个maven仓库,重新下载jar包,但是我的项目所有jar很大,还有一些需要手动导入。换一个maven重新下载jar肯定不现实。直到后来看到一篇文章,https://stackoverflow.com/qu.

2021-10-28 16:30:04 45331 39

原创 No appropriate protocol (protocol is disabled or cipher suites are inappropriate)

使用Java jdbc连接mysql的时候报错解决办法如下:修改jdk/jre/lib/security/java.security文件,删除掉SSLv3, TLSv1, TLSv1.1

2021-10-25 15:50:21 3518 8

原创 记录-关于idea运行Tomcat报端口占用,但是却找不到进程占用

使用idea启动tomcat的时候,发现报端口占用异常,但是使用命令:netstat -ano | findstr 1099 却查不到对应的进程。将电脑、tomcat都重启,以及所有的java.exe都杀掉。包括更改端口1089,1087,1098等一系列端口,都不行。而且对应端口的进程都查询不到。看了这个博客:https://blog.youkuaiyun.com/m0_54035046/article/details/111820892发现其实是这些端口有可能是被 Hyper-V 保留了..

2021-09-08 10:33:23 944

原创 docker 安装gitlab的时候,忘记root密码。

docker 安装gitlab的时候,忘记root密码。如何初始化密码执行以下四个步骤gitlab-rails consoleuser = User.where(username: ‘root’).firstuser.password = ‘password’user.save![root@localhost tools]# docker exec -it 111fa7bd0e56 /bin/bashroot@gitlab:/# root@gitlab:/# r...

2021-08-27 22:41:53 1148

原创 java计算两个时间相差多少小时

最近有个需求,根据两个时间,计算两个时间之间相差多少个小时。查了一下,网上有现成的工具类,而且翻来覆去都是这个工具类的复制粘贴版摘出自己需要的。得到下面这个 private int getDifferHour(Date startDate, Date endDate) { long dayM = 1000 * 24 * 60 * 60; long hourM = 1000 * 60 * 60; long differ = endDate.getT

2021-08-23 15:58:59 21094 3

原创 SpringBoot打包成War发布到Linux服务器上,使用tomcat启动启动的方式

SpringBoot默认的打包方式是jar,需要发布的时候,可以直接打成jar包,然后放在服务器上,运行java -jar xxx.jar 即可。SpringBoot项目如果采用jar包来启动的话,必须要分配相应的端口,如果对于一些公司,项目很多,或者端口的使用有限制。很有可能有些项目因为端口不够用受限制,所以这个时候,就可以打成war包,采用tomcat启动,使用统一的端口。如果想打成war,放到Tomcat上,使用tomcat来统一启动。那就需要修改一些配置。第一步:修改pom.x.

2021-08-10 11:29:01 2027

原创 List<Map<String,String>> 根据某几个属性值去重

现在有一个场景:一个List中存放了多个Map。现在要使用java8的stream流。根据多个属性值进行联合去重。List数据示例如下:[ { "address": "北京", "sex": "女", "name": "小丽", "age": "23" }, { "address": "北京", "sex": "女", "name": "小丽", "age": "20" }, { "address": "广州", "sex": "男", "na

2021-07-19 20:37:09 2092

原创 关于tomact下同时部署多个war(项目)

直接将多个war放到tomact安装目录下的webapps文件夹下。其他不用操作,然后启动tomact项目。项目地址就是localhost:8080/war包名称。想启动哪个项目就后接哪个war包名称即可关于端口号8080以及为什么放在webapps文件夹下,去看conf下的server.conf文件就行了...

2021-06-23 14:39:23 219

原创 配置Tomact环境变量

Tomcat的安装与环境变量配置首先说明一下我的电脑配置:Windows 7 专业版64位操作系统安装内存8G四核处理器一、Tomcat的下载与安装1.进入Tomcat官网: https://tomcat.apache.org/2.在该网页左侧栏红框标记的download下,选择自己要下载的Tomcat的版本,点进去;也可以在右边红框标记处,点击下载。(因为我个人的需要,我选择了下载Tomcat8)3.根据你电脑的位数,选择合适的进行下载。红框标记是免安装版本的,下载下来进行解压,就可

2021-06-17 15:54:17 221

原创 关于win10使用IDEA时,全局搜索CTRL+SHIFT+F无法使用的情况

一个WIN10的新电脑,装了IDEA之后,发现IDEA的全局搜索失效了,ctrl+shift+f无法使用,倒是,输入法一直在简/繁之间切换,这种情况,就是快捷键占用。win10自带的微软拼音,简体字和繁体字切换的快捷方式就是ctrl+shift+f 关闭该快捷方式的方法如下:1/点击win键 输入设置2,点击时间和语言3.点击左侧语言,然后点击中文(中华人民共和国)4.选项5,拉到最下面,点击微软拼音,然后进入选项。 找到按键,点击进入6.拉到..

2021-05-21 17:35:35 912

原创 关于el-upload上传参数,后台接受对应参数的方法

场景:在页面上增加一个上传按钮,并且鼠标悬停在上传按钮的同时,增加消息提示功能,输出提示信息,上传完成,后台接受详细的图片信息,支持自定义的上传参数,后端接受相应的自定义参数信息。实现: VUE +SpringBoot首先前端代码如下:<el-upload class="upload-demo" ref="upload" :action="uploadParam.url" :on-preview="handlePreview"

2021-05-11 23:22:02 21983 19

原创 本地安装redis 报错

保存信息如下:D:\program file\Redis-x64-5.0.10>redis-server.exe redis.windows.conf[1320] 20 Apr 00:08:05.586 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo[1320] 20 Apr 00:08:05.586 # Redis version=5.0.10, bits=64, commit=1c047b68, modified=0, pid=1320,

2021-04-20 00:14:03 397

转载 2021-03-15Linux系统下安装tomcat

转载,侵删:https://www.cnblogs.com/li150dan/p/12535067.html一、前置条件 安装tomcat需要先安装jdk,所以没有安装jdk同学,详见参考文章二、Linux上安装tomcat1. 下载Apache tomcat tomcat官网下载地址 在左边,可以选择下载各种版本的tomcat。根据服务器操作系统选择下载。Linux操作系统就下载tar.gz包。 我下载的文件名是:apache-tomcat-8.5.3...

2021-03-15 23:03:41 383

原创 centos7虚拟机,输入法,大小写字母颠倒

今天安装centos7虚拟机的时候,发现输入法的大小写完全颠倒.解决办法如下:执行setleds +caps或setleds -caps即可,如图:

2021-03-10 22:01:22 3691

原创 Information:java: javacTask: 源发行版 8 需要目标发行版 1.8

使用IDEA启动项目时,报错如下:Information:java: javacTask: 源发行版 8 需要目标发行版 1.8....Error:java: Compilation failed: internal java compiler error解决:File >>> Settins >>> Build,Execution,Deployment >>> Compiler >>> Java Compli.

2021-02-25 17:46:13 417

原创 电脑安装Hyper-v功能

win10系统本身自带有虚拟机。Hyper -v如果想使用的话,正常情况下,打开控制面板-程序-启用或关闭windows功能,找到并勾选Hyper -v,然后重启计算机即可。但是今天安装的时候,却发现自己的电脑并没有这个功能,查看网上的说法,需要重装系统。感觉很烦很麻烦。又找了另外一种方法。可以不用重装系统1、本地新建一个文本文件。写入一下内容pushd "%~dp0"dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum &..

2020-12-20 22:29:38 545

apidebug.crx

apidebug的插件,直接拖到chrome的可扩展标签页中即可!具体详情,按照文档操作即可,此处的apidebug为英文版,1.0.7版本

2020-02-10

空空如也

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

TA关注的人

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