自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 阿里云邮件发送的坑,Linux环境邮件发送报错:Couldn‘t connect to host, port: smtp.qq.com, 25; timeout -1;

如题,突然发现博客上的邮件发送功能用不了了,于是在Windows环境下本地调试,邮件发送能够正常使用,但是到了Linux环境下,邮件服务报错,无法发送邮件。为什么之前一直没出问题呢,是因为之前一直用的是华为云的服务器和腾讯云的服务器,所有没有问题,而最近服务器换成了阿里云之后就出现问题了。端口的屏蔽策略和普通的安全策略不同,无法通过配置安全组规则的方式来进行开放,如果需要开放。端口,需要向阿里云进行申诉,这是一种比较麻烦的处理方法。端口,导致邮件服务无法正常使用。

2024-07-01 16:19:36 143

原创 记一次服务器崩溃事件

今天在安装Jenkins的时候,进行到插件安装这一步,本来一切顺利,结果最后安装完成之后一直进不去网页,显示连接超时,网上搜索了一圈也没发现什么相似的情况,当我疑惑的时候回到Linux控制台,发现命令的响应很慢的时候我就发现不对劲了,到最后卡到甚至一行命令都执行不了。

2024-06-24 11:45:20 448

原创 Linux安装Maven(详细教程手把手教会)

Linux安装Maven(详细教程手把手教会)

2024-06-23 18:40:25 237

原创 设计模式以及其最佳的实践

抽象工厂模式通过定义一个抽象工厂接口和多个具体的工厂类来创建一系列相关或依赖的对象。每个具体的工厂类负责创建一组相关的产品对象,客户端可以通过选择不同的具体工厂类来获取不同系列的产品对象。抽象工厂模式强调了产品族的概念,适用于需要创建一组相关对象的场景。

2024-06-18 09:17:58 796

原创 多线程最佳实践

当你遇到一个场景,需要同时启动多个任务,并等待所有任务完成后执行后续操作。这个方法很有用,比如你需要执行三个下载任务,当三个任务都下载完成后你才通知界面说完成,这个时候如果一个个去下载肯定耗时非常高,我们可以同时起三个线程去并行执行任务,减少总的执行时间。

2024-06-05 16:14:17 211

原创 Linux快速定位日志 排查bug技巧和常用命令

在 Linux 系统中,可以使用grep命令来查找日志文件中包含特定关键字的行。假设你的日志文件路径为,你想要查找包含关键字"abc"或找到行号后就好说了,通过下一条命令 直接输出当前行号下的日志这个命令是用来查看一个日志文件xxx.log中特定范围的行。从第 501 行开始,显示接下来的 100 行日志这样可以更快速更精准的定位到关键日志,而不是去打开日志文件来搜索,或者二次触发bug,来查看日志,这些命令能够帮助你更高效地查找和分析日志文件中的特定信息。

2024-05-28 09:37:47 818

原创 基于springboot + Thymeleaf + vue开发的 个人博客,含前后端

该博客是之前博客()的一个2.0改造版本,对前端进行了全面的翻新!改用了bootstrap作为前端css框架,更加简约、美观,并且对项目的后台使用vueaxios进行了重构,框架进行重新选型,并且使用sa-token进行鉴权,博客的模板引擎还是使用thymeleaf(SEO优化友好)。

2024-02-11 18:55:21 892 1

原创 最新版ES8的client API操作 Elasticsearch Java API client 8.0

我们在学习ES客户端时,一直使用的都是`Java High Level Rest Client`,在浏览官网时,发现官方给出的警告是:`Java REST` 客户端已被弃用,取而代之的是 `Java API client` 客户端,ES `8.x` 新版本中,`Type` 概念被弃用,所以新版 `JavaAPI` 也相应做出了改变,使用更加简便。ES 官方从 `7.15` 起开始建议使用新的 `JavaAPI`如何使用最新的 `Elasticsearch Java client 8.0` 来创建索引并进

2023-12-07 10:12:05 1755 1

原创 使用java操作文件给指定目录下所有类统一添加 @author 创建者信息

这段代码的主要目的是自动化处理Java文件中的创建者信息,确保每个文件都有统一的作者信息,并提供了对比功能,让用户可以直观地看到更改的部分。:程序会检查文件中是否包含注释,如果存在注释,则会检查其中是否已包含作者信息,如果没有,则在注释中的合适位置插入新的作者信息。:在更新作者信息后,会输出原始内容与更新后内容的比较结果,通过高亮显示差异部分,以便用户检查更改。之间的位置,在此处尝试定位文件的开头,并且会在文件的开头插入新的作者信息。:更新完成后,会将修改后的内容写回到相应的Java文件中。

2023-11-30 16:40:56 478

原创 博客邮件提醒功能的实现(异步编程和消息队列Rabbitmq两种方式)

这里可以自己自定义好看的邮件模板,这里我就简单的测试一下。

2023-09-17 19:30:57 262

原创 歌曲推荐-喜欢的人忘记戴眼镜了片尾曲《メガネゴーラウンド》

这个暑假一直在等一首歌的单曲发行,就是新番《喜欢的人忘记戴眼镜了》的片尾曲《メガネゴーラウンド》,由于歌曲的完整版要在番剧播出后一个月的时间左右才会发行,不能听到完整版的我感觉身上就像有蚂蚁在爬,急急急 我好急啊我!网上出售的2个版本,限定版有片头曲NAME,还有片尾曲《メガネゴーラウンド》的普通版、男女主双人合唱版、大石昌良版本、TV版,并且据说还有 缀(片头曲的歌手)的COVER版。终于在今天8月2号,片尾曲的发布日,网上已经能够听到完整版的音源了。メガネゴーラウンド的作曲作词:大石昌良。

2023-08-02 15:22:27 255

原创 Prompt合集

尽管提示中没有提及,但您也应该告诉听众的年龄以及是否要避免特定主题。例如,“写一个针对青少年的关于勇气的故事,但要避免打架和战争”。有了这个,ChatGPT 将讲述所提供主题的故事,而无需从任何地方复制内容。它会自己选择主题,你只需要提供你想要关注的寓意。

2023-05-15 14:19:31 761 1

原创 随便聊聊 顺便晒一下我的听歌设备

平时最大的爱好就是听歌了,所以可能会设备在上面稍微花点小钱。我平时的听歌类型挺多元化的,硬要说的话更偏向 Jpop、ACG、女声、轻音乐、大编制、交响乐,当然好听的都听不局限于类型。又是30天一天不落O(∩_∩)O😄耳塞方面为了追求音质只考虑,这里因为歌单大部分偏向流行风格,所以就选了水月雨家的kato,上一条用的是弱水的evo极光,之前用过不少耳机了,全部加起来也有十几条吧,但是kato是第一条千元赛。kato前端小尾巴用的是艾巴索的dc03pro。

2023-05-14 15:25:44 405

原创 使用nginx简单搭建一个属于自己的ChatGPT问答机器人

作者:ChenZhen本人不常看CSDN消息,有问题通过下面的方式联系:邮箱:1583296383@qq.com🌐版权:本文为博主的原创文章,本文版权归作者所有,转载请附上原文出处链接及本声明。📝如果对你有帮助,请给一个小小的star⭐🙏。

2023-05-10 16:39:57 5261 8

原创 Docker的使用教程、学习笔记,附实战:部署chatgpt网页版ui,部署mysql8数据库

微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。在数百上千台服务中重复部署,环境不一定一致,会遇到各种问题**数据卷(volume)**是一个虚拟目录,指向宿主机文件系统中的某个目录。一旦完成数据卷挂载,对容器的一切操作都会作用在数据卷对应的宿主机目录了。这样,我们操作宿主机的/var/lib/docker/volumes/html目录,就等于操作容器内的/usr/share/nginx/html目录了。

2023-05-02 17:36:24 2117

原创 什么?还能让ChatGPT自己给自己写提示(Prompt)?

# 受众:🤔不知道如何向ChatGPT提问的人、不知道如何编写提示的人、不知道如何制定Prompt的人、无法撰写出高质量问题的人等。包括但不限于以上群体:# 概述:该文介绍了 Prompt(提示) 📝的概念以及其在人工智能领域的应用。它是指给AI模型的指令,可以是一个问题、一段文字描述或带有参数的描述。文中还提到了一个名为Prompt Creator的工具,可以让ChatGPT自己生成Prompt,通过批判和迭代来优化用户的Prompt。

2023-04-28 17:29:13 3201

原创 微服务学习2-nacos配置管理、feign远程调用、GateWay网关

类型作用说明修改日志级别包含四种不同的级别:NONE、BASIC、HEADERS、FULL响应结果的解析器http远程调用的结果做解析,例如解析json字符串为java对象请求参数编码将请求参数编码,便于通过http请求发送支持的注解格式默认是SpringMVC的注解失败重试机制请求失败的重试机制,默认是没有,不过会使用Ribbon的重试一般情况下,默认值就能满足我们使用,如果要自定义时,只需要创建自定义的@Bean覆盖默认Bean即可。下面以日志为例来演示如何自定义配置。

2023-04-02 22:27:29 827

原创 RabbitMQ详细教程、包含安装、配置和使用及整合SpringBoot

RabbitMQ 是一个消息中间件:它接受并转发消息。你可以把它当做一个快递站点,当你要发送一个包裹时,你把你的包裹放到快递站,快递员最终会把你的快递送到收件人那里,按照这种逻辑 RabbitMQ 是一个快递站,一个快递员帮你传递快件。RabbitMQ 与快递站的主要区别在于,它不处理快件而是接收,存储和转发消息数据。

2023-03-11 16:39:44 1365

原创 nginx的安装、配置、使用、实战(反向代理,部署vue项目)

接下来使用nginx简单配置一个反向代理的实例实现效果:使用 nginx 反向代理,根据访问的路径跳转到不同端口的服务中nginx 监听端口为 9001,在本地windows机中访问虚拟机的nginx,我的虚拟机的ip为192.168.186.43,

2022-12-28 20:25:56 4392

原创 如何用SpringBoot搭建一个好看的个人博客

如何用SpringBoot+Thymeleaf搭建一个好看的个人博客作者:ChenZhen博客地址:版权:本文为博主 ChenZhen 的原创文章,本文版权归作者所有,转载请附上原文出处链接及本声明。源码地址:如果对你有帮助,请给一个小小的star⭐本节将讲述博客系统的技术栈需求、数据库表设计、功能模块等方面。

2022-12-06 17:14:27 1896

原创 数据库课程设计-学生选课管理系统(实训报告+答辩ppt+源码+sql文件+打包好的程序)springboot项目-javaweb

这是我数据库课程实训的一个项目该项目是由springboot+Mybatis+Thymeleaf等框架开发的学生选课管理系统一共有三种角色,对应不同的功能和权限管理员拥有其他用户所有功能权限数据库: mysql8.0.11数据库访问方式: JDBC

2022-12-06 16:30:45 17969 1

原创 使用Redis给博客添加缓存

这里我们选择在service层的新增、删除、修改方法都添加上@CacheEvict注解,在数据库更新数据时删除Redis中的缓存,让用户下一次加载的时候再重新加载缓存。这里我只演示了首页的分页信息缓存,在博客其他地方都可以按照上面的方法添加缓存,我就不一一演示了。多次刷新页面,耗时为4ms、4ms、3ms、8ms,可以看到时间大大缩短,可见缓存已经起作用了。缓存能让我们更加快速的查询到数据,但是这也会带来数据库中的数据和缓存中的。然后我们开始添加缓存,首先思考需要添加缓存在哪些地方。

2022-11-17 11:12:18 479

原创 微服务学习-注册中心的搭建(Nacos、Eureka)

微服务学习-注册中心的搭建(Nacos、Eureka),微服务架构风格是一种将单个应用程序开发为“一套小型服务”的方法,每个服务“运行在自己的进程中”,并通过轻量级机制(通常是HTTP资源API)进行通信。这些服务“围绕业务功能构建”,并通过全自动部署机制“独立部署”。“这些服务只有最低限度的集中管理”,可能是用不同的编程语言编写的,并使用不同的数据存储技术。搭建eureka注册中心### 4.1.1 搭建eureka-server首先搭建注册中心服务端:eureka-server,这必须是一个独立的s

2022-11-12 17:29:48 4065

原创 博客邮件提醒功能的实现(异步编程和消息队列Rabbitmq两种方式)

邮件提醒功能:当你收到某个人的回复时,会给你发送一封提醒邮件,并展示回复的内容。我觉得对于一个博客,邮件回复的功能是必不可少的,能让你及时的回复别人的评论,还能让我更方便的和网上的人对线其实这个功能还是蛮好实现的,我们先演示怎么用java发送一封简单的邮件

2022-10-09 21:34:07 1360

原创 Redis安装教程,Redis整合springboot,使用RedisTemplate操作Redis缓存,使用注解操作缓存,

引入相关依赖SpringData是Spring中数据操作的模块,包含对各种数据库的集成,其中对Redis的集成模块就叫做SpringDataRedis官网地址:[https://spring.io/projects/spring-data-redis](https://spring.io/projects/spring-data-redis)- 提供了对不同Redis客户端的整合(Lettuce和Jedis)- 提供了RedisTemplate统一API

2022-10-07 14:19:55 1322

原创 使用Jedis来操控Redis

使用Jedis来操控Redis,在使用Jedis之前,首先要保证你的虚拟机上或者云服务器上的Redis服务已经开启,使用指令查看已启动↓如果服务没有开启↓,则先开启服务来到你的Redis安装目录我这里是/usr/local/bin,有以下文件。

2022-10-07 13:15:30 1307

原创 linux系统上安装JDK8

linux系统上安装JDK8,为什么要安装jdk?JDK是java软件开发包(Java Development Kit)的简称,要想开发java程序就必须安装JDK。没有JDK的话,无法编译运行Java程序。因为JDK包含的基本组件包括以下文件:javac.exe,用于编译java文件,将java文件编译成class文件java.exe,用于运行class文件,将class文件运行出结果。

2022-09-23 11:46:03 8729

原创 linux系统安装mysql8(详细教程)

linux系统安装mysql8(详细教程)​这里我用的发行版是centos7 不同版本用的指令可能会有些不同1.下载mysql8直接到官网下载最新版即可选择linux通用版本

2022-09-21 17:43:08 32689 21

原创 MySQL插入bit(1)类型字段数据(0和1)失败

今天在宿舍准备往表里一个bit(1)类型的字段插入一个数据时,居然给我报了Data too long for column 'share_statement' at row 1 的错误但我明明是往里面插入数字0和1,怎么会报这个错误呢然后我发现原来是我图形化软件的锅,我没有直接使用SQL进行添加,而是用了图形化界面SQLyog进行添加,在我往字段里输入1的时候自动给我转化为高位的二进制数。如下

2022-09-04 12:50:33 1258

原创 classpath是什么路径

classpath是什么路径?1.classpath指的是类路径,也就是编译之后的target文件夹下的WEB-INF/class文件夹。2.resources文件夹存放的是各种配置文件,当项目被编译时resources下的所有配置文件均被放在 WEB-INF/class文件夹下。也就是类路径下。classpath和classpath ☆的区别:classpath:只会在你的class下查找文件。classpath☆:会在你的class下和jar文件下的class下查找文件。...

2022-05-21 16:26:33 4485 1

转载 ​import和import static的区别​

import static静态导入是JDK1.5中的新特性。  一般我们导入一个类都用 import 包名.类名;  而静态导入是这样:import static 包名.类名.*;  这里的多了个static,还有就是类名后面多了个 .* 。意思是导入这个类里的静态成员(静态方法、静态变量)。当然,也可以只导入某个静态方法,只要把 .* 换成静态方法名就行了。然后在这个类中,就可以直接用方法名调用静态方法,而不必用“类名.方法名()”的方式来调用。这种方法的好处就是可以简化一些操作,例如一.

2022-01-19 21:21:43 119

原创 Java中长度为0的数组与null的区别

(无论使用哪种类型的数组,数组标识符其实只是一个引用,指向在堆中创建的一个真实对象 Int[] A =new int[10];new 一下就是实例化了,开辟了内存空间,基本数据类型的元素会被赋初始值,数组建立后长度不能改变,但是还是可以重新赋值)有如下两个变量定义:1int[]zero=newint[0];2int[]nil=null;这两种定义有什么区别呢?zero是一个长度为0的数组,我们称之为“空数组”,空数组也是一个对象,只是包含元素个数为0。nil...

2022-01-18 20:24:46 966

原创 ZOJ 1001 A + B Problem java解法

import java.util.Scanner;public class Main{ public static void Main(String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNext()) { int a = scanner.nextInt(); int b = scanner.nex...

2021-09-16 22:06:34 105

空空如也

空空如也

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

TA关注的人

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