- 博客(135)
- 收藏
- 关注
原创 【JAVA进阶篇教学】第十一篇:Java中ReentrantLock锁讲解
博主打算从0-1讲解下篇教学,今天教学第十篇:Java中ReentrantLock锁讲解。在Java并发编程中,保证多线程环境下的数据安全是至关重要的。ReentrantLock 是Java中用于实现线程安全的一种锁机制。本篇博客将深入介绍 ReentrantLock 的原理、详细说明,并通过案例演示线程不安全情况以及如何使用 ReentrantLock 实现线程安全。
2025-03-22 11:31:35
680
原创 SQL之delete、truncate和drop区别
相同点:1、都有删除表的功能;不同点:1、delete、truncate仅仅删除表里面的数据;drop会把表的结构也删除掉2、delete是DML语句,操作完了,还可以回滚;truncate和drop是DDL语句,删除之后立即生效,不能回滚;3、在执行效益上drop>truncate>delete;扩展知识:为了形成数据库语言,DDL和DML都是必须的。DDL和DML之间的主要区别在于:DDL有助于更改数据库的结构,而DML有助于管理数据库中的数据。
2025-03-22 02:29:32
994
原创 springboot2.6.15升级至3.3.4,Spring Framework升级至6.1.14
由于CVE-2024-38816漏洞,紧急升级spring boot版本至3.3.4目前该漏洞已经修复,受影响用户可升级到以下版本:Spring Framework 5.3.x:升级到5.3.41(仅限企业支持)Spring Framework 6.0.x:升级到6.0.25(仅限企业支持)Spring Framework 6.1.x:升级到6.1.14或更高版本安全版本Spring Framework 5.3.41为企业版,未免费开放使用!
2025-03-10 23:31:33
1006
原创 spring boot和spring cloud的区别
它利用Spring Boot的开发便利性简化了分布式系统的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。1.Spring Boot可以建立独立的Spring应用程序;
2025-03-10 17:32:27
492
原创 Node.js卸载超详细步骤(附图文讲解)
查看该路径下是否有node文件,我这里已经没有了,在控制面板卸载node后一般会自动删除node文件,如果文件还在的话就手动删除。下,同时我这边将上一个和node有关的文件也删除掉了,这一部可以都留意一下有没有和node和npm有关的文件,有就都删除掉。按下【win+R】键,输入cmd,打开cmd窗口输入。找到Node.js点击鼠标右键选择卸载。,取决于安装时的选择,我按照的是D盘。删除【node_global】配置。验证,出现以下提示代表删除成功!按下【win+R】键,输入。按下【win+R】键,输入。
2025-03-07 22:56:50
611
原创 MySQL最多能有多少连接
MySQL的默认最大连接数是151,可以通过设置变量来调整。当服务器负载和应用需求变化时,适当地调整这个参数可以确保数据库的性能和稳定性。在调整前,充分考虑服务器硬件资源、操作系统限制以及MySQL内部资源,以避免资源短缺问题。通过监控和逐步调优的方法确定合适的最大连接数。
2025-03-05 19:12:07
287
原创 MySQL 创建新用户及授予权限的完整流程
通过以上步骤,可以创建新用户、授予权限、以及管理和删除用户。合理配置权限,确保每个用户只能访问其所需的数据资源,有助于提高数据库的安全性和管理效率。在MySQL中,权限分为多个级别,包括数据库级、表级和列级权限。可以根据用户的需求授予相应权限,常见权限有SELECT、INSERT、UPDATE、DELETE等。示例:创建一个名为gktask的用户,仅允许从本地主机(localhost)连接,密码设置为123456。以root身份可以查询所有用户,查看当前MySQL中的用户列表。
2025-03-05 17:49:50
221
原创 java面试最后问面试官什么问题,详细说明
师兄大厂面试遇到面试官的Kafka暴击三连问,快面哭了接下来就让我们通过师兄遇到的关于Kafka问题的暴击三连问,走进他受伤的心. 二、带着疑问思考 「Kafka为什么快」 「Kafka和其他消息队列的区别」 「Kafka这么快,它是如何保证不丢失消息」 三、我的回答思路 其实,在大数据开发岗的面试中,都避免不了面试官问你Kafka,毕竟K。对于上面的每个流程,都有对应的API,而不同的框架封装后暴漏出来的API又有可能不同,这些都需要我们随机应变,不断学习。面试官的第一反应是,你没有理解他话的意思。
2025-03-05 16:24:39
255
原创 centos搭建 Node.js 开发环境
Node.js ,通常简称为Node,是一个事件驱动 I/O 服务端 JavaScript 环境,基于 Chrome V8引擎,具备速度快、性能强等特点,可用于搭建各类网络应用,及作为小程序后端服务环境。npm和npx都是和 Node.js 相关的命令行工具,它们在 JavaScript 开发中扮演着重要的角色。npm:1、允许开发者在项目中安装、管理和共享JavaScript包和模块;2、可以自动处理项目依赖,确保所有必要的包都被安装,并且版本兼容;
2025-03-05 00:00:09
516
原创 查看 nginx 是否已经启动
如果 Nginx 已经配置为提供默认页面,并且您可以通过浏览器访问服务器,那么您可以尝试访问服务器的 IP 地址或域名。如果 Nginx 正在运行并且配置正确,您应该会看到 Nginx 的默认欢迎页面。另外,如果您在安装 Nginx 时更改了默认配置或使用了不同的端口,那么您可能需要相应地调整检查方法。如果 Nginx 正在监听某个端口,您应该会看到与该端口相关的 Nginx 信息。如果 Nginx 正在运行,您应该会看到与 Nginx 相关的进程信息。命令来检查这些端口是否被 Nginx 占用。
2025-03-02 22:11:30
251
原创 如何在 Spring Boot 中配置数据库?
以上就是在 Spring Boot 中配置数据库的基本步骤。通过这些配置,你可以轻松地连接到数据库并使用 Spring Data JPA 进行数据操作。如果有任何问题或需要进一步的帮助,可以在下方评论区留言哟!
2025-03-02 20:52:26
332
原创 分布式与集群,二者区别是什么?
举一个例子:假设有一个在线商店,它包含订单处理、库存管理和支付处理等多个功能。在传统的单体应用程序中,所有这些功能都由一个应用程序处理。但在微服务架构中,我们可以将每个功能拆分成一个独立的服务,例如订单服务、库存服务和支付服务。这些服务可以独立开发、测试、部署和扩展,同时通过网络协议进行通信和协作。这样,当其中一个服务出现问题时,我们只需要处理该服务,而不需要影响整个应用程序。这就是微服务架构的优点之一。
2025-03-02 19:13:42
351
原创 一、安装Redis(win11环境下)
在用户变量或者系统变量中找到“Path”关键字,并点击添加redis路径。图1-1 网页Redis版本选择。找到“Redis”,右键“属性”图1-2 redis目录下。图1-4 电脑系统信息页面。图1-3 命令窗口运行。图1-5 系统属性页面。点击“高级系统设置”
2025-03-01 15:23:49
427
原创 【Nginx 】Nginx 部署前端 vue 项目
在两种系统中,安装Nginx的过程都相对简单,主要区别在于使用的软件包管理器不同。这包括访问Vue应用的主页,以及尝试访问应用中的各个路由,确保它们都能正确加载。文件中列出的依赖项进行下载和安装,这个过程通常需要联网操作,并且依赖于npm仓库的响应速度。在网络状况良好的情况下,安装过程可以顺利完成。在CentOS或RHEL系统上安装Nginx的过程与Ubuntu/Debian略有不同,主要体现在软件包管理器的使用上。在项目部署之前,确保开发环境中已安装Node.js和npm,这是运行Vue项目的基础。
2025-02-28 23:21:10
507
原创 【AIDevops】驱动无界面自动化运维与分布式脚本系统,初探运维革命之路
声明:笔者当前文章内容仍在构想阶段,仅部分实现目录引言第一部分:基于DeepSeek大模型的单机GPT实现1. DeepSeek大模型简介2. 功能概述3. 项目优势,实现技术栈及实现功能4. 示例展示5.腾讯云AI代码助手助力第二部分:无界面离线大模型助力运维1. 背景与挑战2. 系统设计与核心功能3. 实用场景4. 安全性与商业价值第三部分:基于脚本自动构建联盟链的未来探索?编辑1. 背景与设想2. 系统设计与核心思路3. 应用场景与潜力在当前人工智能与云计算技术快速发展的背景下,自动化工具正在从单点功
2025-02-28 14:20:56
1864
原创 SQL 中UPDATE 和 DELETE 语句的深入理解与应用
在 SQL 中,UPDATE和DELETE语句是用于操作表数据的重要工具,它们允许我们对已存在的数据进行修改和删除。
2025-02-28 12:40:57
395
原创 SpringBoot项目Jar包加密,防止反编译!
此方案比对上面的方案来说,就简单了许多。在单模块中此方案还算简单,但是现在项目一般都是多模块,一个模块依赖多个公共模块。那么使用此方案就比较麻烦,配置复杂,文档难懂,各模块之间的调用在是否混淆时极其容易出错。只需要在启动类的pom.xml文件中加如下插件即可,需要注意的是,改插件时要放到spring-boot-maven-plugin插件后面,否则不起作用。将此生成好的机器码,放到maven插件中的code里面即可。这样,打包好的项目只能在生成机器码的机器运行,其他机器则启动不了项目。
2025-02-28 10:57:54
295
原创 SpringBoot -拦截器Interceptor、过滤器 Filter 及设置
/ 设置过滤器的执行顺序,数字越小越先执行。1 .灵活性高,它允许过滤器成为 Spring 的 Bean,从而可以利用 Spring 的各种功能,来注册它,使其能够与 Spring 应用上下文集成。2 .便与维护和管理。有多个过滤器需要集成和管理。1**.创建一个过滤器:MyFilter**注解用于指定过滤器要拦截的 URL 模式,上述代码中,addInterceptor。假设我们有一个自定义的过滤器。表示拦截所有的请求路径。
2025-02-27 14:05:29
963
原创 Spring Boot 整合 log4j2 日志配置教程
在项目推进中,如果说第一件事是搭建 Spring 框架的话,那么第二件事情就是在 Sring 基础上搭建日志框架,此篇文章是博主在学习过程中使用 Spring Boot 搭建项目时整合 Log4j2 日志的总结共有8个级别,按照从低到高为:All < Trace < Debug < Info < Warn < Error < Fatal < OFF机制:如果一条日志信息的级别大于等于配置文件的级别,就记录All:最低等级的,用于打开所有日志记录。
2025-02-27 12:42:28
1316
原创 Python高级之操作Mysql
PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2 中则使用 mysqldb。PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。PyMySQL 下载地址:https://github.com/PyMySQL/PyMySQL。使用 PyMySQL 之前,我们需要确保 PyMySQL 已安装。执行以上代码,如果没有产生错误,表明安装成功。来连接使用 MySQL,本章节为大家介绍使用。
2025-02-27 11:20:03
235
原创 MySQL篇(管理工具)
e 选项可以在MySQL客户端执行SQL语句,而不用连接到MySQL数据库再执行,对于一些批处理脚本,这种。执行上述指令,会出错,数据不能完成备份,原因是因为我们所指定的数据存放目录/root,MySQL认 为是不。mysqlshow 客户端对象查找工具,用来很快地查找存在哪些数据库、数据库中的表、表中的列或者索引。但是需 要注意表数据文件,并不是记录一条条的insert语句,而是按照一定的格式记录表结构中的数据。打开 db02.sql ,来查看备份的数据,只有insert语句,没有备份表结构。
2025-02-26 02:26:56
909
原创 MySQL 的mysql_secure_installation安全脚本执行过程介绍
1.设置 MySQL root 用户密码。2.删除匿名用户。3.禁止 root 用户远程登录。4.删除测试数据库。5.重新加载权限表。
2025-02-26 01:07:03
410
原创 Java面试--Spring AOP
AOP 实现的关键就在于 AOP 框架自动创建的 AOP 代理,AOP 代理则可分为静态代理和动态代理两大类,其中静态代理是指使用 AOP 框架提供的命令进行编译,从而在编译阶段就可生成 AOP 代理类,因此也称为编译时增强;Spring AOP采用的是动态代理,在运行期间对业务方法进行增强,所以不会生成新类,对于动态代理技术,Spring AOP提供了对JDK动态代理的支持以及CGLib的支持。
2025-02-25 21:45:43
254
原创 Java三十天速成(java进阶篇)
线程和进程都是计算机中的执行单元,但它们有一些重要的区别。进程是一个正在运行的程序的实例。它包括程序代码、数据和执行状态。每个进程都有自己的内存空间和系统资源,如文件句柄、网络连接和进程优先级。进程之间是相互独立的,它们不能直接访问彼此的内存空间和资源。线程是进程中的一个执行单元。一个进程可以包含多个线程,每个线程都可以独立执行不同的任务。线程共享进程的内存空间和系统资源,因此它们可以更快地通信和协作。线程之间的切换比进程之间的切换更快,因为线程不需要切换内存空间和系统资源。
2025-02-24 22:51:37
691
原创 Java 2024年面试总结(持续更新)
1.自我介绍简单一点吧,把自己的情况说清楚,一两分钟即可。2.微服务的组件答:微服务是把一个类似单体项目根据某种维度进行拆分,比如根据功能模块进行拆分。拆分之后,具备了更好的抗压性/扩展性,还可以更好的解耦,但是维护相比之前会更麻烦了常用的组件有Spring Cloud。其中里面有:Nacos:用来做注册中心/配置中心Gateway:用来做网关Hystrx:做限流、熔断、降级Dubbo:做服务间的调用Feign:也是服务间的调用3.mq的运用。
2025-02-24 19:09:13
662
原创 8年经验面试官详解 Java 面试秘诀
在简历上,尽量别让人感觉你每份工作都做不长,但不能以此作假。比如小张在大三时帮计算机系的王老师所在的ABC软件公司干了半年的活,如果小张在简历上写:“在校期间,从x年x月到x年x月完成了xx系统,用到了xx技术”,那么这多半会被当成类似于课程设计的学习经验,但如果再加上如下关键性的描述:“这个系统是属于xx公司的xx商业项目里的一部分,我和另外三位开发人员做了半年,最终这个系统成功上线并在客户xx公司的环境里投入运营”,那这样小张的商业项目总年限里就能加上这半年时间了。
2025-02-24 16:18:52
735
原创 突破与重塑:逃离Java舒适区,借Go语言复刻Redis的自我突破和成长
Leo、强总、人生大佬、知秋大佬、渣凯、李现同学以及好学的人生弟)。这一年来,大家围绕Redis技术点展开的日常提问与积极交流,就像源源不断的动力,极大地激发了我深入钻研Redis的热情。每一次与大家探讨那些复杂的技术难题,每一回解答大家提出的疑惑,都让我对Redis有了更为透彻的认知,也促使我在这条技术探索之路上不断迈进。正是因为有你们的存在,这个交流圈充满了活力与智慧的碰撞。你们的每一个问题,都像是打开新知识大门的钥匙;你们分享的每一种见解,都丰富了我对Redis技术体系的理解。
2025-02-23 06:18:23
653
原创 Sql Server数据库远程连接访问配置
此时对于本机,可以选用127.0.0.1的地址去登录数据库了,这一般也是大部分人选择连接本机数据库时使用的服务器名称,因为非常方便确认。而对于本机或者是同一个局域网下的其它电脑设备来说,便可以远程访问数据库了,只需要知道需要远程访问端的ip地址以及登录名和登录密码即可!这篇文章主要介绍了SqlServer数据库远程连接访问应该如何配置,有需要的小伙伴可以参考一下。好了,到这里就万事大吉了,此时就可以通过远程访问sql server了,我们看看成果吧!这是数据库以及它的官方管理工具。
2025-02-21 22:16:24
306
原创 SpringBoot整合Email 邮件发送详解
通过上述步骤,我们成功在SpringBoot项目中整合了Email服务,实现了普通邮件、HTML邮件、含静态资源邮件以及带附件邮件的发送。这不仅提升了应用的功能性,也增强了与用户的互动。希望本文能够帮助到需要在项目中集成邮件服务的开发者。版权声明:本博客内容为原创,转载请保留原文链接及作者信息。参考文章SpringBoot整合Email 邮件发送-优快云博客SpringBoot整合邮箱发送邮件 - 博客园。
2025-02-21 17:18:10
1303
原创 Redis设置密码
1)打开配置文件redis.conf,找到requirepass关键字,后面就是密码。默认情况下是注释掉的,即默认不需要密码,。mac和liunx的配置文件是redis.conf;windows的配置文件redis.windows.conf。1)使用redis-cli连接上redis服务端,执行如下命令,设置密码为123456。2)执行完毕,无需重启,退出客户端,再次重新登录就需要输入密码了。
2025-02-21 02:18:31
279
原创 PageHelper 解析及实现原理
面向关系型数据库的 SQL 查询和数据导出时,如果数据条数非常大,直接将所有数据一次性查出或者导出显然是不可行的。这时候就需要进行分页查询或分页导出,将查询或导出的数据按照指定大小分页加载或写入,从而提高查询或导出的效率。而分页查询或分页导出的实现过程比较繁琐,需要考虑很多细节问题,容易出错。因此,出现了一些支持分页查询或分页导出的插件或工具类,例如 MyBatis-Plus 的分页插件 PageHelper。PageHelper是Mybatis-Plus中的一个插件,主要用于实现数据库的分页查询功能。其
2025-02-20 23:57:08
353
原创 MySQL系列之数据类型(Date&Time)
在上期文章中,博主介绍了MySQL的数据类型Numeric,今天我们继续探索第二种数据类型: 日期或时间。MySQL支持对Timestamp和Datetime类型的字段进行自动填充(默认为当前数据库服务器时间那么该如何实现呢?且看下文。对于表中的任何Timestamp或Datetime列,你可以将“当前时间(戳)”指定为默认值或者自动更新,对于未指定列值的行,将自动初始化为当前时间(戳)。当行中任何其他列的值发生变化时,自动更新的(时间(戳))列会更新为当前时间(戳),否则自动更新的列将保持不变。
2025-02-20 22:35:08
1058
原创 从零搭建SpringBoot3+Vue3前后端分离项目基座,中小项目可用
/ mapper.xml路径。创建xception包,在包下放全局异常处理类GlobalExceptionHandler.java,类名放置 位置可以随意,为便于分类整理, 同类包放到一个包下。@MapperScan(“com/buzhisuoyun/base_manage/mapper”) 扫描mapper路劲,也可在启动类配置。
2025-02-16 10:00:21
708
原创 【万字详细教程】Linux to go——装在移动硬盘里的Linux系统(Ubuntu22.04)制作流程;一口气解决系统安装引导文件迁移显卡驱动安装等问题
如果不想看前面的废话??,请跳转到1.准备工具处开始阅读。
2025-02-16 01:03:57
1082
原创 【MySQL】链接池原理:简单理解网站的数据流动
*前言:**本节内容是博主快速上手mysql专栏的最后一篇文章。本节内容不讲解mysql语法了, 而是以网站为例,讲一下前后端的逻辑与联系。友友们可以当成一个故事听。
2025-02-15 22:46:59
793
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人