- 博客(124)
- 收藏
- 关注
原创 【mysql】锁机制 - 2.行锁间隙锁临键锁
唯一索引等值查询:当查询的记录存在, 临键锁 会退化成行锁当查询的记录不存在,临键锁会退化成间隙锁非唯一索引等值查询:当查询的记录存在,会加 临键锁和 间隙锁两把锁当查询的记录不存在,只会加 临键锁,然后退化为间隙锁非唯一索引和主键索引的范围查询的区别:唯一索引在满足条件时, 临键锁 退化为间隙锁和记录锁非唯一索引范围查询, 临键锁不会退化 为间隙锁和记录锁。
2025-03-22 16:24:59
865
原创 “mysqld --initialize --console ”执行不成功情况总结和解决措施
系统变量已被废弃,并且在 MySQL 9.1.0 中不再支持。配置文件中不需要设置这个变量,因为 MySQL 9.1.0 默认使用的是。确保数据目录 data文件夹 是空的。如果该目录中存在文件,您需要删除它们,或者将这些文件移动到其他位置,然后再次尝试初始化。如果您不希望删除数据目录中的文件,您可以考虑指定一个新的空目录作为数据目录,并在初始化命令中使用。在 MySQL 8.0 及以上版本中,
2025-03-22 03:37:51
259
原创 sql server复制一张表(表结构或表数据)SQL语句整理
这种方法会复制 旧表 中的所有内容到 新表,但新表不会保留原表的主键、自动递增等属性。为了保持这些属性,需要使用 ALTER 语句进行后续处理。WHERE 1=0:这个条件始终为假,因此不会选取任何数据。该命令将返回 旧表 的创建语句,你可以复制并修改表名,以创建一个完全相同的新表。这种方法将创建一个名为 表2 的新表,具有 表1 的结构,但不包含任何数据。在此情况下,你需要指定要插入的字段,以确保正确映射。:这部分会创建一个新表并将选定的数据插入到该表中。这两种方法都将只创建新表的结构,不会复制数据。
2025-03-22 02:01:26
378
原创 SpringBoot连接多数据源MySQL、SqlServer等(MyBatisPlus测试)
经过上述演示,我们已经实现了在springboot项目中实现多数据库源的连接和操作,如果需要使用不同数据库,按照上述操作思路即可实现。
2025-03-22 00:24:21
1082
原创 SpringAI介绍及本地模型使用方法
Spring在Java语言中一直稳居高位,与AI的洪流碰撞后也产生了一些有趣的”化学反应“,当然你要非要说碰撞属于物理反应也可以,在经历了一系列复杂的反应方程后,Spring家族的新成员——SpringAI,就此诞生。需要注意的是,springai目前仍处于试验阶段,可能会出现许多不稳定因素,希望各位使用者能放平心态面对BUG(或者去issues里发表自己的见解Spring AI 项目为开发 AI 应用程序提供了 Spring 友好的 API 和抽象类。
2025-03-10 23:08:33
932
原创 Spring BOOT 启动参数
在SpringBoot项目中,我们一般把配置都会写在application.yml文件中,随着项目一并打包到jar文件中,在生产环境中, 启动项目时通过添加*–spring.config.location=/application.yml*来修改项目的配置文件指向,从而实现覆盖application的效果。需要注意的是,在加载多个配置文件时,如果有冲突的配置项,后加载的配置文件中的配置项将覆盖先加载的配置文件中的相同配置项。因此,在应用程序中,应该避免使用相同的配置项名来定义不同的配置值。
2025-03-10 17:09:08
995
原创 Python网络爬虫与数据采集实战——网络爬虫的基本流程
网络爬虫的开发不仅仅是抓取网页内容,还涉及到诸如请求优化、数据解析、异常处理、数据存储等方面的技术。通过合理的URL提取、有效的HTTP请求、精确的数据解析与存储策略,开发者能够构建出功能强大且高效的网络爬虫系统。在实际开发中,遵循这些基本流程并结合最新的技术解决方案,将极大提升爬虫的可行性和实用性。
2025-03-10 12:22:24
1643
原创 Nginx代理到https地址忽略证书验证配置
当proxy_ssl_server_name设置为on时,Nginx会在与后端服务器建立SSL/TLS连接时,使用请求头中的Host字段值作为SNI(Server Name Indication)的一部分。这意味着每次Nginx与后端服务器建立连接时,都会进行完整的SSL/TLS握手过程,这可能会增加延迟和服务器负载。如果proxy_ssl_server_name未设置或设置为off,Nginx将不会使用Host头部值作为SNI的一部分,这可能会导致SSL/TLS握手失败,特别是当后端服务器期望SNI时。
2025-03-07 22:33:18
444
原创 MS SQL Server 实战 排查多列之间的值是否重复
比如我们有一组题库数据,主要包括题目和选项字段(如单选选择项或多选选择项),一个合理的数据存储应该保证这些选项列之间不应该出现重复项目数据,比如选项A不应该和选项B的值重复,选项B不应该和选项C的值重复,以此穷举类推,以保证这些选项之间不会出现重复的值。在实际的应用中每一个环节我们都难免会出现一些失误,因此不断的根据实际的发生情况总结经验,通过计算来分析,将问题扼杀在摇篮里,以最大保证限度的保证项目运行效果的质量。如图我们假设设计了错误的数据源,第4题的A选项与D选项重复,第8题的A选项与C选项重复了。
2025-03-05 17:25:32
648
原创 Java进阶(一)
接上篇Java基础,这里详细介绍了Java进阶的部分内容,包含字符串相关类,异常,集合,泛型等作用:java中为8种数据类型准备备了8中包装类型,均为引用数据类型其父类是Object,以应对八中基本类型的不够用的情况。拆箱和装箱1.5之后支持自动拆装,所以基本类型装了,拆装了解即可, 基本数据类型包装类的唯一用途就只剩下String转基本数据类型了(其对应方法都为静态)//包装类用于解决类似以下需求// 入口// 需求:调用doSome()方法传一个整形参数。
2025-03-05 15:35:48
886
原创 Java 2024年面试总结(持续更新)
1.自我介绍简单一点吧,把自己的情况说清楚,一两分钟即可。2.微服务的组件答:微服务是把一个类似单体项目根据某种维度进行拆分,比如根据功能模块进行拆分。拆分之后,具备了更好的抗压性/扩展性,还可以更好的解耦,但是维护相比之前会更麻烦了常用的组件有Spring Cloud。其中里面有:Nacos:用来做注册中心/配置中心Gateway:用来做网关Hystrx:做限流、熔断、降级Dubbo:做服务间的调用Feign:也是服务间的调用3.mq的运用。
2025-03-05 00:55:19
785
原创 80W年薪难吗?这份Java 进阶路线图对标阿里P5 到 P7学明白轻松拿
Java 自 James 缔造以来,还称得上是一个十分具备竞争力的语言,并且在使用它的 IT 技术人员群体也十分庞大。这里,我就关于 Java 开发者这一问题准备了很久,同时刚好有位架构师朋友发给了我一份 Java 架构师的成长路线图,据说是经过了七代的更新,才落成最符合近段时间 Java 程序员成长的进阶思维导图。那老苏接下来就以阿里的程序员的职级为例,好好给大家剖析一下,一个 Java 程序员要逐步成长为一位能与阿里 P7 相提并论,年薪可达 80W+的架构师,应该怎么做?
2025-03-04 23:37:00
323
原创 计算机体系结构期末复习3:GPU架构及控制流问题
1)当GPUwarp中的线程,分支到不同的执行路径时,会产生分支分歧。ex.假设GPU的某个warp每组有64个线程,即GPU有64个核心。执行下面代码。i<1024;可以看到循环内分别有三条指令:A.i%2==0 B.a[i]++ C.a[i]–对于第一条指令,warp中的64个线程都可以执行(i%2==0)的操作。对于第二条指令,warp中的32个线程可以执行(a[i]++)的操作。
2025-03-03 10:59:23
477
原创 数字孪生概念、数字孪生技术架构、数字孪生应用场景,深度长文学习
对应前面定义的产品生命周期三大阶段,在产品设计、制造和运行维修阶段分别表现为产品数字孪生体、生产工艺流程数字孪生体和设备数字孪生体,帮助企业在实际投入生产前既能在虚拟环境中优化、仿真和测试产品性能,在生产过程中同步优化整个企业制造工艺流程, 最终实现高效的柔性生产和快速创新上市,锻造企业持久竞争力。国内有很多核心设备、高端设备都是国外进口,早期采购如果未对数据接口协议的开放达成一致,那么与设备数据的“双跨”将是明显的障碍,存在巨大的技术不确定性与实现成本,这可能也是未来数字孪生广泛推广的限制因素之一。
2025-03-02 21:48:33
1323
原创 基于Springboot高校社团管理系统【附源码+文档】
随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了校园社团信息管理系统的开发全过程。通过分析校园社团信息管理系统管理的不足,创建了一个计算机管理校园社团信息管理系统的方案。文章介绍了校园社团信息管理系统的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。本校园社团信息管理系统管理员功能有个人中心,学生管理,社长管理,社团分类管理,社团信息管理,加入社团管理,社团成员管理,社团活动管理,活动报名管理,系统管理等。
2025-03-02 20:29:37
983
原创 使用Kubernetes部署Spring Boot项目
目录前提条件新建Spring Boot项目并编写一个接口新建Maven工程导入 Spring Boot 相关的依赖启动项目编写Controller测试接口构建镜像打jar包新建Dockerfile文件Linux目录准备上传Dockerfile和target目录到Linux制作镜像查看镜像测试镜像上传镜像准备yaml文件创建deployment应用springbootdemo.yaml创建deployment查看deployment查看deployment详情查看pod访问测试扩容deployment pod
2025-03-02 18:50:23
1211
原创 【数据库初阶】MySQL中表的约束(上)
??博主首页:??专栏首页: 数据库初阶??其它专栏: C++初阶 | C++进阶 | 初阶数据结构建议将上一篇文章看完之后再来看这篇文章,链接如下:那么接下来正文开始:例如,在学校中,从逻辑上讲,每个学生的学号都不可能是空值;因此可以将这个字段添加约束 ; 代码如下:mysql> create table if not exists null_test(-> stu_id varchar(10) not null,-> stu_name varchar(10),-> stu_class
2025-03-01 15:00:39
771
原创 【Spring】详解Spring IOC&DI
在前面中,我们讲解了Spring MVC是什么以及如何使用。那么本篇我们就来讲Spirng Framework,我们一般讲的Spring就指的是Spring Framework。在前面中,我们已经讲解了什么是Spring,IOC和AOP是Spring框架的核心思想。本篇我们主要讲IOC容器的使用。想了解什么是Spirng可以看这篇【Spring】什么是Spring?-优快云博客回顾一下IOC和DI。IOC(控制反转)是Spring框架中的核心思想。
2025-03-01 00:31:26
1026
原创 【MySQL】数据库和表的操作
在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎等等。这时我们就需要修改表。这时,可以打开看看 test1.sql 文件里的内容,其实把我们整个创建数据库,建表,导入数据的语句都装载这个文件中。接下来我们对这个表的插入结果进行查看,注意,该表的校验方法是不进行区分大小写进行匹配的;然后我们为这个数据库创建一张表,并插入一些数据,创建表和插入的语法我们先不做介绍,后面再介绍;参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用。
2025-02-28 22:53:02
862
原创 spring的15个经典面试题
于是很多Java Web开发相关的MVC框架应运而生,比如Struts2,但是由于Struts2比较笨重,随着Spring轻量级开发框架的流行,Spring生态圈出现了Spring MVC框架。我们需要增加新功能也方便,提高了系统的扩展性。AOP(Aspect-Oriented Programming,面向切面编程)能够将那些与业务无关,却为业务模块所共同调用的逻辑或责任(例如事务处理、日志管理、权限控制等)封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可扩展性和可维护性。
2025-02-28 12:11:35
731
原创 SpringBoot接口防抖(防重复提交),接口幂等性,轻松搞定
接口幂等性是指在分布式系统中,对于相同的请求,无论请求多少次,都应该返回相同的结果。这意味着,如果请求已经处理完毕,那么重复请求应该返回相同的响应,而不应该产生额外的副作用。这种特性对于确保系统的稳定性和一致性非常重要,尤其是在处理并发请求和网络异常的情况下。在编程中,可以通过一些特定的设计来实现接口幂等性,例如使用全局唯一的ID来标记请求,或者使用乐观锁机制来防止重复处理等。
2025-02-28 10:28:28
973
原创 Spring WebFlux:响应式编程
WebFlux提供了一个非阻塞、异步的Web框架,允许开发者构建高性能、可伸缩的 Web 应用程序,特别适合处理大量并发连接,如在微服务架构和云环境中。WebFlux是Spring Framework 5引入的一个重要组件,它代表了Spring对于响应式编程(Reactive Programming)的支持。是Spring WebFlux中用于定义请求路由的函数接口。通过实现,可以精确控制请求的匹配和处理。WebClient。
2025-02-27 13:40:18
648
原创 Skywalking介绍,Skywalking 9.4 安装,SpringBoot集成Skywalking
Apache SkyWalking是一个开源的分布式追踪与性能监视平台,特别适用于微服务架构、云原生环境以及基于容器(如Docker、Kubernetes)的应用部署。该项目由吴晟发起,并已加入Apache软件基金会的孵化器,现已成为顶级项目之一。核心特性与功能包括:分布式追踪:提供从终端用户请求到后端服务的完整调用链路视图,帮助开发者快速定位分布式系统中的性能瓶颈和错误根源。性能监控:收集并分析服务及服务间调用的性能指标,如响应时间、吞吐量、错误率等,支持服务级和接口级的监控。服务网格观测。
2025-02-27 12:18:42
1069
原创 PostgreSQL版本选择
PostgreSQL 社区目前支持最新的三个主版本(每个版本的支持周期通常为 5 年)。如果项目需要最新功能(如性能改进或新特性),可以选择最新版本。PostgreSQL 官方会定期发布新版本,分为。具体选择应根据项目需求和运维策略确定!
2025-02-27 10:55:56
443
原创 Nginx权限问题详解及解决方案
在运行Nginx服务器时,权限问题是一个常见的困扰,尤其是在Linux环境下。权限配置不当可能导致Nginx无法启动、无法访问某些目录或文件,甚至影响到网站的正常运行。本文将深入探讨Nginx权限问题的原因,并提供有效的解决方案。Nginx在运行时,会以指定的用户身份执行。默认情况下,Nginx使用nginx用户(或www-data用户在某些系统中)运行。如果Nginx尝试访问的文件或目录的权限设置不正确,或者Nginx运行的用户没有足够的权限,就会出现权限问题。
2025-02-26 03:24:16
394
原创 MySQL如何解决幻读?
*幻读(Phantom Read)**是数据库事务中的一种并发问题,指的是在一个事务执行过程中,另一个事务插入、删除或修改了符合查询条件的记录,导致前一个事务读取到不同的数据集,从而产生“幻觉”般的读操作。
2025-02-26 02:03:25
389
原创 mysql WITH的多种用法与示例
在一个查询中可以定义多个 CTE,并在查询的其他部分引用它们。这些 CTE 可以相互引用,按顺序处理。WITH非递归 CTE用于分解复杂查询。递归 CTE用于层级数据查询。嵌套 CTE可以组合多个步骤的查询。简化查询逻辑:分解复杂的 SQL 逻辑,使查询更清晰易懂。CTE 是复杂查询中不可或缺的工具,有助于使代码简洁且易于维护。WITH RECURSIVE 举例说明,表结构是id和pid的指向 大概有五层。
2025-02-26 00:43:34
944
原创 linux 设置tomcat开机启动
在Linux系统中,要配置Tomcat开机自启动,可以创建一个名为 tomcat.service 的 systemd 服务文件,并将其放置在 /etc/systemd/system/ 目录下。确保 JAVA_HOME、CATALINA_HOME、CATALINA_BASE 等环境变量设置正确,并且 ExecStart 指向正确的Tomcat启动脚本路径。打开conf/server.xml,找到下面代码,添加属性maxDays=“30”。这样配置后,无论系统重启还是启动,Tomcat都将作为服务自动启动。
2025-02-25 23:58:28
234
原创 Java进阶攻略:7大技能+12份进阶笔记+面试150题
以下都是阿里大牛韩飞龙推荐的主流技术,当你全部掌握上述的这些技术那么你就已经是P8级别,而且你也已经形成了自己的体系,当更加新潮的技术出来时那么你自己稍微花点时间就能吃透,毕竟那时候你已经不是以前的那个你了,12份Java进阶学习笔记(包括Spring,设计模式,redis,SpringBoot等)JVM优化,Java程序优化,tomcat优化,Linux优化,SQL优化等。面试总被问到读到源码吗,对Spring的理解等等!由于题目过多,我做成了PDF文档免费分享给大家。设计模式基本是代码的重构能力,
2025-02-25 18:45:37
222
原创 GICv2与GICv3中断架构对比与LPI中断机制分析
LPI的触发方式与传统的SPI不同。之前提到过,就像INTx#,这种采用传统的中断信号线传递中断信号的方式,如果有很多个外设的时候就需要有对应数量的信号线,这是不理想的,因此就引入了像MSI/MSI-X这种采用TPL包触发发送中断信息的方式,设备往某个地址写入数值,即可触发中断。通常情况下,传统的SPI由外围设备通过硬件信号产生,但通过MSI方式,设备可以直接通过写入消息的方式在GIC中触发中断。回到之前的提问,MSI如何触发中断在之前的章节就讲过了,往特定的寄存器传值写入触发中断,那这个寄存器的地址?
2025-02-24 18:39:15
970
原创 2024年MySQL 下载、安装及启动停止教程(非常详细),涉及命令行net start mysql80提示发生系统错误5的解决方案
win+R,在Windows命令行中输入cmd,然后输入net stop mysql80停止,输入net start mysql80启动,不区分大小写,但我的会报错。进入下载界面会有两个下载选项,第一个是通过联网在线安装,会在线下载安装包,第二个是离线安装,下载到本地后进行安装,这里我选择的是第二个下载。然后找到m开头的,可以看到MySQL是启动的状态,因为MySQL是默认开机自启的,右键点击可选择启动或停止。找到一个解决方法,说这里可能是因为我当时安装在C盘的原因,但我做完没用,大家可以试试,
2025-02-24 15:45:56
1448
原创 深入理解 SQL 中的 DATEDIFF 函数
DATEDIFFDATEDIFF函数在 SQL 中是一个用于计算两个日期之间差值的重要工具。不同数据库实现了不同版本的DATEDIFF,它们在功能和语法上有所不同。本文将详细解析DATEDIFF的用法、数据库间差异、复杂场景中的应用,以及替代方案。DATEDIFFDATEDIFF函数用于计算两个日期或日期时间值之间的差异。它的返回值通常是整数,表示日期差值的指定单位(如天、月、年等)。通过DATEDIFF,可以快速完成日期相关的计算,例如年龄计算、活动周期分析、时间跨度计算等。DATEDIFF。
2025-02-23 05:46:27
1240
原创 如何查看PostgreSQL的版本
如果你使用 pgAdmin 这样的图形界面工具来管理你的 PostgreSQL 数据库,你也可以在此工具中查看版本信息。(PostgreSQL 的命令行界面) 的版本,通常这与 PostgreSQL 服务器的版本相匹配。要查看 PostgreSQL 的版本,有几种不同的方法可以使用,包括通过命令行和 SQL 查询。这将返回一个字符串,包含 PostgreSQL 的版本以及构建时的一些系统信息。选择上述方法中最适合你的场景的一种来查看 PostgreSQL 的版本。
2025-02-23 03:59:23
398
原创 Spring定时任务
但必须注意关联的匹配日期不能够跨月,如你指定1W,如果1号是星期六,结果匹配的是3号星期一,而非上个月最后的那天。如果L用在星期中,则表示星期六,等同于7。但是,如果L出现在星期字段里,而且在前面有一个数值 X,则表示“这个月的最后X天”,例如,6L表示该月的最后星期五;如在分钟字段中使用0/15,则表示为0,15,30和45秒,而5/15在分钟字段中表示5,20,35,50,你也可以使用*/y,它等同于0/y;* : 可用在所有字段中,表示对应时间域的每一个时刻,例如,*在分钟字段时,表示“每分钟”;
2025-02-21 21:51:30
945
原创 SpringBoot中使用Filter(过滤器)
过滤器(Filter)是Java Web应用中一种用于处理请求(request)和响应(response)的组件过滤器(预处理)过滤器(后处理)拦截器(前处理)控制器方法(Controller)拦截器(后处理)过滤器(后处理)
2025-02-21 16:28:12
331
原创 Redis 6.2.7安装配置
下载地址:https://download.redis.io/releases/redis-6.2.7.tar.gz。进入压缩包src目录下进行源码编译,将redis安装到。Redis-6.2.7下载。创建 redis 命令链接。移动配置文件到安装目录下。
2025-02-21 01:54:54
336
原创 nginx笔记2-实现端口转发
Nginx 的 TCP/UDP 代理功能的模块分为核心模块和辅助模块、核心模块 stream 需要在编译配置时增加“–with-stream”参数进行编译。例如,在windows本地主机上进行修改该配置,则当访问该名称时会被nginx拦截,这里或者直接在C:WINDOWSsystem32driversetchosts修改,也能达到此效果。location后面跟着的路径匹配是你访问80端口时所匹配的路径,当匹配到该路径时会被拦截,并进行路径转发。表示你该配置的server所监听的端口号。
2025-02-20 23:33:48
610
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人