- 博客(94)
- 收藏
- 关注
原创 Java进阶之路,Java程序员职业发展规划
今天不说行业发展以及Java在市场的占有率。仅仅聊聊身为Java程序员应该如何规划自己的职业发展路线。提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
2026-01-07 23:05:27
122
原创 JavaWeb项目打包、部署至Tomcat并启动的全程指南(图文详解)
我们想要部署一个javaWeb项目到tomcat上,需要了解一些概念Tomcat 是 Apache 软件基金会(Apache Software Foundation)下的一个开源项目,主要用于实现 Java Servlet、JavaServer Pages(JSP)、Java Expression Language(JSTL)、Java WebSocket 技术以及 Java API for WebSocket 的容器。
2026-01-07 22:15:31
527
原创 docker 安装 mysql
v /etc/localtime:/etc/localtime:ro:让容器的时钟与宿主机时钟同步,避免时区的问题,ro是read only的意思,就是只读。-v /usr/local/mysql/data:/var/lib/mysql:映射数据目录,宿主机:容器。-v /usr/local/mysql/log:/var/log/mysql:映射日志目录,宿主机:容器。-v /usr/local/mysql/conf:/etc/mysql:映射配置目录,宿主机:容器。将代码粘贴到脚本文件。
2026-01-07 21:38:21
288
原创 如何安装linux版本的node.js
根据您的需求选择合适的安装方式。如果您需要管理多个 Node.js 版本,推荐使用 nvm;如果只需要简单的安装,使用 NodeSource 或者系统的包管理器也是不错的选择。确保安装完成后验证 Node.js 和 npm 的版本以确认安装成功。
2025-12-01 22:21:51
124
原创 【spring】Spring事件监听器ApplicationListener的使用与源码分析
Override@AutowiredapplicationEventPublisher.publishEvent(new CustomEvent("自定义事件"));applicationEventPublisher.publishEvent(new CustomEvent("自定义事件"));@Override。
2025-12-01 20:24:17
519
原创 SQL中如何添加数据
INSERT INTO e_student SET id = 2, name = ‘李四’, age = 8, grade = ‘三年级’;| 1 | 张三 | 6 | 一年级 || 1 | 张三 | 6 | 一年级 || 1 | 张三 | 6 | 一年级 || 2 | 李四 | 8 | 三年级 || 1 | 张三 | 6 | 一年级 || 2 | 李四 | 8 | 三年级 || 2 | 李四 | 8 | 三年级 |
2025-12-01 18:09:03
495
原创 springboot接入deepseek深度求索 java
以下是在springboot中接入aideepseek的过程。官网并没有java的示例。
2025-11-30 21:35:03
209
1
原创 RustDesk搭建公网中继服务器远控内网机器(完整版)
前情提要:最近要在学校实验室的服务器(ubuntu)上做实验,但是服务器在校园网里面,在外面的时候没法远控,todesk有时候有点卡顿,所以想试着用rustdesk进行远程控制。关于rustdesk的服务端搭建网上已经有很多教程了,我参考的就是上面那一篇,这篇文章旨在补充一些细节还有具体怎么连通三台机子。补充2:公网服务器配置完成之后怎么实现三台机器的连通。在两个客服端上配置相同的ip和key就可以实现连通;配置完公网的服务器之后有:公网ip+key。在默认生成的这个文件中,直接读取就可以了。
2025-11-30 18:54:57
378
原创 MacOs安装Redis并设置为开机、后台启动
最近闲来无事,将自己的MBP系统重装里,导致里面原来安装的软件都需要重新安装,今天记录一下MacOs安装Redis并设置为开机启动、后台启动的步骤,安装过程略有波折,参考里几篇文章才搞定。
2025-11-30 15:02:30
729
原创 一文彻底搞定MySQL中的JSON类型,效率飞起。
josn_arry_append() 会在JSON数组指定的位置添加新的数据,新增的数据与原位置的数据会合并为新的JSON数组(依然算1个元素),不会改变原JSON数据的元素个数。json_insert() 函数可以对JSON数组或JSON对象新增元素,根据给定的path,如果元素不存在,则进行新增,如果元素已存在,则忽略,不做任何操作,即。JSON对象的中的元素新增,可以通过json_arry_append(),json_array_insert()或json_insert()函数来完成。
2025-11-30 01:24:39
674
原创 Spring Boot项目集成Redisson 原始依赖与 Spring Boot Starter 的流程
Redisson提供了两种集成 Redis 的方式:原始依赖和 Spring Boot Starter。原始依赖适用于需要完全自定义配置的场景,而使得集成过程变得更加简单,特别适合 Spring Boot 项目。根据具体项目的需求和开发环境选择合适的方式,能够更好地帮助你完成项目的 Redis 集成,实现更强大的分布式能力。
2025-11-29 20:08:30
486
原创 JAVA进阶 THREAD学习12 多线程小结
I/O密集型应用,为了提高性能,将I/O操作重叠。线程可以同时等待不同的I/O操作。计算密集型应用,为了能在多处理器系统上运行,将计算分解到多个线程中实现。首先有前面的分析得出多线程的安全问题是由共享资源的修改混乱导致的。与进程之间的切换相比,线程之间的切换需要操作系统做的工作要少很多。在等待慢速I/O操作结束的同时,程序可执行其他的计算任务。创建一个新线程的代价要比创建一个新进程小得多。能充分利用多处理器的可并行数量。线程占用的资源要比进程少很多。
2025-11-29 14:48:25
279
原创 超详细:解决Tomcat在日志、页面和idea控制台中的中文乱码问题
平时在使用tomcat的时候经常遇到各种乱码问题,要么是控制台输出乱码或者输出日志乱码,要么页面接收乱码,非常烦人。2、将日志的编码格式也修改一下,打开tomcat的conflogging.properties。1、打开tomcat的/conf/server.xml,给它显示的增加编码方式。3、 打开tomcat下incatalina.bat文件下增加。产生乱码的根本原因就是编码和解码不一致。在命令提示符界面中输入“”键,然后在弹出的对话框中输入“2.idea控制台日志输出。
2025-11-29 04:25:49
318
原创 从MySQL迁移到PostgreSQL的完整指南
从MySQL迁移到PostgreSQL是一个复杂但必要的过程,它能够为系统带来更高的性能、丰富的功能集和更强的扩展能力。整个迁移过程包括准备工作、迁移表结构、迁移数据、迁移存储过程和函数以及数据完整性验证。在每个步骤中都需要细致的规划和执行,以确保数据的一致性和完整性。在迁移过程中,需要仔细考虑停机时长、应用改造以及生产环境中的实际验证。停机时长的规划直接影响业务的连续性,建议在业务低峰期进行迁移,并使用增量备份和恢复的方法以缩短停机时间。
2025-11-29 01:52:31
355
原创 SQL常用语句(基础)大全
数据控制语言:用来授权或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,能够对数据库进行监视。DQL是数据查询语言,主要就是select配合其他限制条件的关键字进行查询。如果查询数据的来源来自多张表,则必须对这些表进行连接查询。DDL是数据定义语言,主要是对数据库和数据表的操作。只有当第一个排序条件值一样,才会执行第二个排序条件。左外连接:是表1和表2的交集再并上表1的其他数据。右外连接:是表1和表2的交集再并上表2的其他数据。DML是数据操作语言,主要是对数据表的操作。
2025-11-28 23:18:20
358
原创 Spring Initializr创建springboot项目,提示java 错误 无效的源发行版:16
1.修改jdk版本,点击 file -> ProjectStructure -> Project,将Project SDK与Project language level设置为一致。选择java版本时发现只有17,21,23,没有自己想要的版本时,更改Server URL路径为start.aliyun.com就可以了。2.修改模块的语言等级,点击file -> ProjectStructure -> Modules。运行项目后报错:java: 错误: 无效的源发行版:16。3.修改模块的SDK版本。
2025-11-28 20:33:39
407
原创 Nginx 缓存清理
Nginx 缓存机制主要用于缓存响应数据,从而加速请求处理。代理缓存:Nginx 作为反向代理时,缓存从后端服务器获取的响应。这样可以减少后端服务器的负载,提高系统的整体响应速度。FastCGI 缓存:当 Nginx 作为前端代理处理 PHP 或其他 FastCGI 应用时,可以缓存从 FastCGI 后端获取的动态内容。静态文件缓存:Nginx 对于静态资源(如图片、CSS、JS 文件)进行缓存,减少用户请求时的文件读取延迟。HTTP 缓存:包括基于 HTTP 协议的缓存控制,如和Expires。
2025-11-28 17:54:44
351
原创 JAVA进阶 THREAD学习12 多线程小结
I/O密集型应用,为了提高性能,将I/O操作重叠。线程可以同时等待不同的I/O操作。计算密集型应用,为了能在多处理器系统上运行,将计算分解到多个线程中实现。首先有前面的分析得出多线程的安全问题是由共享资源的修改混乱导致的。与进程之间的切换相比,线程之间的切换需要操作系统做的工作要少很多。在等待慢速I/O操作结束的同时,程序可执行其他的计算任务。创建一个新线程的代价要比创建一个新进程小得多。能充分利用多处理器的可并行数量。线程占用的资源要比进程少很多。
2025-11-27 10:45:32
322
原创 使用 Logback 的最佳实践:`logback.xml` 与 `logback-spring.xml` 的区别与用法
Logback 是 Java 应用的流行日志框架,以其高性能和丰富的功能在企业级项目中广泛应用。Logback 主要支持控制台和文件日志输出,支持文件滚动(按时间或大小分割日志),并支持自定义日志格式,帮助开发者有效记录和管理日志。
2025-11-26 22:26:40
310
原创 【Python学习】网络爬虫-爬取豆瓣电影评论
本实例实现了庆余年的豆瓣电影评论爬取,使用了requests、bs4模块。requests:是一个常用的 HTTP 请求库,可以方便地向网站发送 HTTP 请求,并获取响应结果。requests 模块比urllib模块更简洁。bs4:全名,是编写 python 爬虫常用库之一,主要用来解析 html 标签。
2025-11-26 21:18:04
825
原创 Webpack、Vite区别知多少?
相反,Vite只需要对源码进行预编译和打包,将每个模块作为一个独立的文件进行加载,这样在开发过程中的冷启动时间更快。,它可以将各种类型的文件,如JavaScript、CSS、图片等,作为模块进行打包,并生成最终的静态资源文件。,它利用浏览器原生的ES模块机制,将每个模块作为一个独立的请求来加载,而不是像Webpack那样把所有模块打包成一个文件。,因为需要将所有的模块进行打包。Vite通过利用ES模块的特性,在开发过程中仅对需要的模块进行编译和构建,从而提升了开发服务器的启动速度。
2025-11-26 20:08:28
522
原创 Spring中Aware的用法以及实现
在Spring当中有一些内置的对象是未开放给我们使用的,例如Spring的上下文ApplicationContext、环境属性Environment,BeanFactory等等其他的一些内置对象,而在我们可以通过实现对应的Aware接口去拿到我们想要的一些属性,一般命名都是xxxAware,在创建对象的时候, 会调用接口规定的方法注入到相关组件:Aware。在处理Aware实现类的时候就会有对应的一个AwareProcessor去处理,我们拿ApplicationContextAware做示例**:**
2025-11-26 18:58:30
384
原创 springboot3.X 无法解析parameter参数问题
使用最新版的Springboot 3.2.1(我使用3.2.0)搭建开发环境进行开发,调用接口时出现奇怪的错。
2025-11-26 17:47:36
408
原创 使用IDEA环境编译Spring源码及spring源码调试环境搭建
前言:spring项目在开发中使用gradle进行项目自动化构建,所以在导入spring工程项目之前需要先安装gradle工具。版本说明:注:安装gradle的版本不要太高。事先选择gradle-5.6.1版本,在构建spring项目时会报错,分析原因是gradle版本兼容问题。备注:spring-framework-4.3.x官方文档1. 从gradle官网下载软件包然后解压:2. 配置gradle的环境变量1)新增 GRADLE_HOME 环境变量,指向Gradle解压目录2)配置Path环境变量:新增
2025-11-25 16:30:43
268
原创 【Spring Boot】SpringBoot自动装配-Import
Import导入的类会被Spring加载到IOC容器中。而@Import提供4中用法:导入Bean导入配置类导入 ImportSelector 实现类。一般用于加载配置文件中的类导入 ImportBeanDefinitionRegistrar 实现类。@Import注解定义如下,其内部只有一个参数为Class对象数组Class<?
2025-11-25 15:21:46
312
原创 Spring原理
Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。(这里我都不介绍了,是一个很常用的设计模式),Spring里的配置是很多的,很难都记住,但是Spring里的精华也无非就是以上的两点,把以上两点跟理解了 也就基本上掌握了Spring.了,动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射,反射其实就是在运行时动态的去创建、调用对象,Spring就是在运行时,跟xml Spring的配置文件来动态的创建对象,和调用对象里的方法的。
2025-11-25 12:55:04
865
原创 SpringBoot3 集成 Shiro
是一个强大且易用的Java安全框架,提供了身份验证、授权、密码学和会话管理等功能。它被广泛用于保护各种类型的应用程序,包括Web应用、桌面应用、RESTful服务、移动应用和大型企业级应用。没有Spring Security 那么多晦涩的概念和术语,其原理非常清晰易懂,也非常容易集成到自己的项目中。SpringBoot 2.x 已于去年底End of life,升级到 SpringBoot 3 成了一件必须要做的事情,而SpringBoot 3 在集成 Shiro 时,有一些坑,也有一些与之前不同之处。
2025-11-25 11:29:02
421
原创 PostgreSQL常用时间函数与时间计算提取示例说明
主要用于计算一些特殊时间,函数说明截断成指定的精度,第1个参数指定精度select date_trunc('year',now()) as 当年第1天,date_trunc('year',now() + interval '1 year') - interval '1 day' as 当年最后1天,date_trunc('month',now()) as 当月第1天,
2025-11-24 19:15:43
623
原创 MySQL迁移到达梦:如何轻松、高质量完成迁移任务
由于业务需求要求数据库国产化,近期需要将数据从mysql数据库中迁移到达梦数据库中。本次使用达梦新的数据库开发和管理工具–SQLark百灵连接进行迁移,我也是在官方社区里看到大家推荐抱着试试看的心态去下载的。惊喜的是,五步即可快速搞定数据迁移,而且一次迁移成功率高达 90% 以上****,此外像导出评估报告、自动规划表空间等功能也十分实用!使用SQLark进行数据迁移的整体过程没有遇到问题,迁移成功率也很高。
2025-11-24 17:59:48
663
原创 MySQL 数据库基础
数据库是一个用于存储、管理和检索数据的系统,可以组织和保存大量的数据,使得数据能够被高效地访问、更新和管理文件也可以用来存储数据,那为什么还要使用数据库呢?文件保存数据有以下缺点:文件的安全性问题文件不利于数据查询和管理文件不利于存储海量数据文件在程序中控制不方便基于上述问题,就可以使用更利于管理数据的系统 —— 数据库,它能够更有效的管理数据,且可以提供远程服务,即 通过远程连接来使用数据库,因此,也称为数据库服务器。
2025-11-24 14:03:44
730
原创 Java进阶-在Ubuntu上部署SpringBoot应用
通过以上步骤,你可以在 Ubuntu 上成功部署 Java 应用,使用 Nginx 配置反向代理,确保应用能够高效稳定地提供服务。同时,借助 systemd,你还可以方便地管理应用的启动、停止及日志记录,确保服务的高可用性。
2025-11-24 12:50:35
896
原创 Java进阶-SpringCloud设计模式-工厂模式的设计与详解
工厂模式定义了一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。工厂模式主要有三种类型:简单工厂模式、工厂方法模式和抽象工厂模式。
2025-11-24 12:50:02
272
原创 Spring Boot Admin 踩坑
以前采用1.x的时候,在服务发现中心点击单个服务,可以查看当前服务的详细信息,配置文件只需要简单的配置,这样就可以在服务发现中心看到具体该服务的详细信息。这样就可以显示该服务的详细信息了。
2025-11-23 05:55:26
150
原创 PLC(电力载波通信)网络机制介绍
电力载波通讯即PLC,是英文Power line Carrier的简称。电力载波是电力系统特有的通信方式,电力载波通讯是指利用现有电力线,通过载波方式将模拟或数字信号进行高速传输的技术。最大特点是不需要重新架设网络,只要有电线,就能进行数据传递。**相位:**CCO在所有相线上工作,STA只在一个相线上工作,不同相位具有不同的过零时间,CCO通过采集STA的过零时间确定STA的相位TDMA**:**时分多址传输,设备独占间隙,数据包根据指定时间进行发送CSMA/CA。
2025-11-23 04:46:26
967
原创 MySql的慢查询(慢日志)
慢查询日志,就是查询花费大量时间的日志,是指mysql记录所有执行超过参数设定的时间阈值的SQL语句的日志,以帮助开发者分析和优化数据库查询性能。默认情况下,慢查询日志是关闭的,要使用慢查询日志功能,首先要开启慢查询日志功能。
2025-11-23 03:35:21
818
原创 MySQL 实验1:Windows 环境下 MySQL5.5 安装与配置
本次安装 MySQL 的安装路径为:d:mysql,因此需要把 【d:mysqlin】目录添加到环境变量中。(5)在弹出的【编辑环境变量】对话框中单击【新建】按钮,把 MySQL 的 bin 路径粘贴到最后一行,如下图所示。4、在弹出的窗口中单击【Browse 】按钮,修改 MySQL 的安装路径,然后单击【Next】按钮。(2)在弹出的【设置】窗口中,输入【环境】,然后在下拉列表中选择【编辑系统环境变量】,如下图所示。(4)在弹出的【环境变量】对话框中选择【Path】,然后单击【编辑】按钮,如下图所示。
2025-11-23 02:26:15
744
原创 JAVA进阶 THREAD学习12 多线程小结
I/O密集型应用,为了提高性能,将I/O操作重叠。线程可以同时等待不同的I/O操作。计算密集型应用,为了能在多处理器系统上运行,将计算分解到多个线程中实现。首先有前面的分析得出多线程的安全问题是由共享资源的修改混乱导致的。与进程之间的切换相比,线程之间的切换需要操作系统做的工作要少很多。在等待慢速I/O操作结束的同时,程序可执行其他的计算任务。创建一个新线程的代价要比创建一个新进程小得多。能充分利用多处理器的可并行数量。线程占用的资源要比进程少很多。
2025-11-23 01:15:31
166
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅