- 博客(128)
- 收藏
- 关注
原创 SpringBoot3整合FastJSON2如何配置configureMessageConverters
在 Spring Boot 3 中整合 FastJSON 2 主要涉及到以下几个步骤,包括添加依赖、配置 FastJSON 作为 JSON 处理器等。
2025-03-10 23:38:34
290
原创 Redis哨兵集群搭建
因为我把redis-6.2.6/redis.conf被我复制到了/usr/local/bin/目录下,并进行了修改,并未使用redis-6.2.6/redis.conf,所以需要替换redis.conf文件。将redis文件复制三份到redis-sentinel目录下。将master,slave,sentinel全都启动起来。
2025-03-10 12:52:57
275
原创 OpenTelemetry 实战:从零实现分布式链路追踪
我们在看链路信息的时候其实看的最多的是某个span里的attribute数据(有些地方又称为tag) 如下图所示:这里会展示当前span的各种信息,但如果我们想要额外加一些自己关心的数据应该如何添加呢?比如我们想知道这个 grpc 接口里的 name 参数,如上图所示那样展示在 span 中。好在span :=??in.Name))我们使用获取到当前的 span,然后调用就可以添加自定义的数据了。对应的 Java 也有类似的函数。除了新增attribute。
2025-03-07 23:03:29
917
原创 MySql的慢查询(慢日志)
慢查询日志,就是查询花费大量时间的日志,是指mysql记录所有执行超过参数设定的时间阈值的SQL语句的日志,以帮助开发者分析和优化数据库查询性能。默认情况下,慢查询日志是关闭的,要使用慢查询日志功能,首先要开启慢查询日志功能。
2025-03-05 19:18:44
992
原创 MySQL 批量删除海量数据的几种方法
可以将批量删除逻辑封装成存储过程,利用存储过程自动控制批量删除过程。方法适用场景优点缺点LIMIT分批删除需要简单分批删除逻辑简单,减少锁表时间需循环操作主键范围分批删除有连续主键的表高效,无偏移开销需手动指定范围自定义批量删除存储过程小批量删除自动化操作需要数据库支持存储过程临时表替换删除数据量非常大避免锁表,减少日志开销需要额外磁盘空间根据不同的业务场景和需求,选择合适的批量删除方式可以提高 MySQL 的删除效率,减少对数据库的影响。
2025-03-05 17:56:54
880
原创 java面试题-京北方、泰康人寿
猪猪年伊始,当然要干票大的,过年回来果断提出离职,领导还在挽留,怎料我去意已决,今天约了两个面试,趁热赶紧分享,答案都不难,自己查一查吧。他们也在紧锣密鼓的招人中,希望我记住的面试问题能给马上去面试的你帮助。
2025-03-05 16:32:11
212
原创 DBeaver连接新版MySQL没有对应驱动解决方法
*问题描述:**正常情况下使用DBeaver进行连接MySQL,首次连接弹出配置连接的界面,并自动检测所需的驱动一键下载,即可完成连接。由于MySQL 9.1.0版本过新,DBeaver无法提供相应版本的连接器驱动,始终提供MySQL 8.2.0的连接器驱动,即使将该旧版驱动点击安装后,也会在之后的每一次DBeaver的启动后出现弹窗提示驱动需要安装。点击**[添加文件]**,选择正确驱动所在的文件路径,添加该驱动,之后一直点确定即可生效。**DBeaver版本:**24.2.5。页面,点击**[库]
2025-03-05 00:06:38
426
原创 防火墙安全策略(基本配置)
凡是由设备构造并主动发出的报文均可认为是从Local区域中发出,凡是需要设备响应并处理(而不仅是检测或直接转发)的报文均可认为是由local区域接收。此时,即使配置了接口所在安全域允许访问local区域的安全策略,也不能通过该接口访问本地防火墙。缺省安全策略位于策略列表的最底部,优先级最低,所有匹配条件均为any,动作默认为禁止。所以服务器回包时候,会直接查询会话表,实现通信,所以防火墙只需要放行一边就行,流量能出去能建立会话,流量就可以按照会话回来。id表示安全区域ID,取值4~99,默认递增。
2025-03-03 12:00:48
764
原创 深入浅出 Go 语言:协程(Goroutine)详解
协程是一种轻量级的线程,它由 Go 运行时自动调度和管理。与传统的操作系统线程不同,协程的创建和切换开销非常小,因此可以在一个程序中创建成千上万个协程,而不会对性能造成显著影响。在 Go 中,协程通过go关键字启动。任何函数都可以作为协程运行,只需在其调用前加上go关键字即可。通过本文的学习,你已经掌握了 Go 语言中协程编程的基本概念和使用方法。协程允许你轻松地编写并发代码,而不需要复杂的线程管理和锁机制。我们介绍了如何启动和管理协程、通道的使用以及常见的并发模式。
2025-03-02 22:18:04
912
原创 如何安装linux版本的node.js
根据您的需求选择合适的安装方式。如果您需要管理多个 Node.js 版本,推荐使用 nvm;如果只需要简单的安装,使用 NodeSource 或者系统的包管理器也是不错的选择。确保安装完成后验证 Node.js 和 npm 的版本以确认安装成功。
2025-03-02 20:58:54
330
原创 初识MySQL · 库的操作
由前文可得,MySQL是目前主流的数据库,mysql是客户端,mysqld是一种网络服务,mysqld是一种数据库服务,而对于数据库来说,是一种存储数据、组织数据的一种手段,那么我们肯定就是要学数据库是如何操作的?对于数据库我们应该如何增删查改?删除了如何备份等问题。那么就随着博主的脚步,进入到今天的主题吧!
2025-03-02 19:20:13
728
原创 一文读懂Ingress-Nginx以及实践攻略
Ingress是Kubernetes的 一种 API 对象,用于管理集群内服务的外部访问。Ingress 可以提供从集群外部到集群内Service的 HTTP 和 HTTPS 路由,并可以基于域名、路径等规则将请求转发到集群内的Service上。Ingress nginx是 Kubernetes 中最常用的 Ingress 控制器之一,由 NGINX 官方提供支持(备注:nginx和k8s官方各自维护了一套 nginx ingress controller是 NGINX 和 NGINX Plus 的。
2025-03-01 15:30:27
669
原创 【Python】从爬虫小白到大佬(一)
1.网络爬虫,是一种按照一定的规定,自动抓取互联网信息的程序或者脚本。先获取数据,再处理数据,最后存储数据。1.网址,又称统一资源定位符(URL), 用于标识资源在网络上的地址。2. 一个网址网络协议类型、域名、资源在服务器中的位置组成。3. 网址内有时还存在锚点#…,用于快速定位页面内容。
2025-02-28 23:28:57
449
原创 【Golang】——Gin 框架中的表单处理与数据绑定
Gin 允许注册自定义验证器。import ("regexp"// 注册自定义验证器// 路由err!= nil {return})本篇博客详细介绍了 Gin 框架中表单处理与数据绑定的功能,从基础的表单提交到复杂的数据验证和文件上传,再到完整项目示例,涵盖了实际开发中的常见场景。在下一篇博客中,我们将学习如何处理 API 请求与 JSON 数据绑定,进一步拓展你的 Web 开发能力。
2025-02-28 14:29:09
485
原创 SQL-Server链接服务器访问Oracle数据
下载 NetFx3.cab 文件,并将其放置在 Windows 10 系统盘的 C:Windows 文件夹中。等待部署进度达到 100%,无报错即可。在“程序和功能”-“Windows 功能”中查看,确认 .NET Framework 3.5 选项已被勾选。
2025-02-28 12:49:20
933
原创 SpringBoot项目集成MinIO
最近在学习MinIO,所以想让自己的SpringBoot项目集成MinIO,在网上查阅资料,并进行操作的过程中遇到一些问题,所以想把自己遇到的坑和完成步骤记录下来供自己和各位查阅。
2025-02-28 11:06:08
730
原创 springboot 修复 Spring Framework 特定条件下目录遍历漏洞(CVE-2024-38816)
安全版本6.0.24 和 6.1.13 是springboot3.x使用的版本,springboot3.x的用户只需要将springboot升级到最新版本即可,官方已发布最新版本,如下图所示,springboot3.2以下版本已不再提供更新维护。不过,有时间的情况下最好升级到最新版本,老版本已不再维护,谁知道下一次其他漏洞什么时候会到来呢。那么针对比较老旧的项目,比如SpringMVC+JSP的老项目,升级比较困难,或者自己短时间内抽不出时间来改造的项目,我们应该怎么办,Spring官方解释如下。
2025-02-27 14:12:17
656
原创 Spring Boot 集成 MyBatis 全面讲解
ResultMap用于自定义数据库字段与 Java 对象属性的映射。它支持嵌套映射、别名和字段处理,适合复杂的对象映射场景。SqlSessionMapper配置文件和ResultMap是 MyBatis 的核心概念。通过灵活的配置和映射,MyBatis 可以高效地处理各种复杂的数据库操作需求。熟练掌握这些特性可以让开发者在项目中更高效地处理数据访问逻辑。三、Spring Boot 集成 MyBatisMyBatis 是一种轻量级的持久层框架,与 Spring Boot 集成后可以极大地提升开发效率。
2025-02-27 12:49:14
829
原创 RabbitMQ 集群部署方案
启动 rabbitmq2 和 rabbitmq3 主机的 RabbitMQ 应用,并再次查看 RabbitMQ 的节点状态。,查看三台服务器的值是否一致,一致后再重启 rabbitmq2 和 rabbitmq3 的 RabbitMQ 服务。可以可以启用 RabbitMQ 可视化web管理插件,更直观的看到集群状态,也方便测试。改主机名,对照 hosts 配置的主机名解析,把对用服务器的主机名改为相应的解析。停止 rabbitmq2 和 rabbitmq3 主机的 RabbitMQ 应用。
2025-02-27 11:27:16
855
原创 MySQL--》快速提高查询效率:SQL语句优化技巧与实践
MISAM引擎把一个表的总行数存在了磁盘上,因此执行count(*)的时候会直接返回这个数效率很高;:通过表的索引或全表扫描,读取满足条件的数据行,然后在排序缓冲区sort buffer中完成排序操作,所有不是通过索引直接返回排序结果的排序都叫FileSort排序。count():是一个聚合函数,对于返回的结果集一行行地判断,如果count函数的参数不是NULL累计值就加1否则不加,最后返回累计值。:在InnoDB存储引擎中,表数据都是根据主键顺序组织存放的,这种存储方式的表称为索引组织表。
2025-02-26 01:13:49
239
原创 Java基础面试题(1)
如果你的类型class中的一个方法使用了static修饰成了静态方法,那么你的这个方法虽然可以被其他的class类型继承,但是在这个子class类型中,你却不能够重写static静态方法,那么这就要求我们,class类型中向外功能服务也就是calss类型中定义的方法,如果它是静态的,那么就肯定不能是抽象的,因为抽象的方法,它是没有功能的,而一个static静态方法又不能被重写,所以这就会导致,class类型中的这个static功能一直什么功能都不能实现,这就违背了我们的对象可以看成“服务提供者”这一原则。
2025-02-24 22:58:16
511
原创 Java 常见的面试题(MySql)
一般情况下,我们创建的表的类型是InnoDB,如果新增一条记录(不重启mysql的情况下),这条记录的id是8;但是如果重启(文中提到的)MySQL的话,这条记录的ID是6。因为InnoDB表只把自增主键的最大ID记录到内存中,所以重启数据库或者对表OPTIMIZE操作,都会使最大ID丢失。但是,如果我们使用表的类型是MylSAM,那么这条记录的ID就是8。因为MylSAM表会把自增主键的最大ID记录到数据文件里面,重启MYSQL后,自增主键的最大ID也不会丢失。
2025-02-24 19:17:47
817
原创 Android和JAVA面试题相关资料
android面试题总结加强再加强版(一)http://blog.csdn.net/superjunjin/article/details/7853546Android面试题整理http://www.jianshu.com/p/a22450882af2Android客户端面试基础(一)-J2SEhttp://blog.csdn.net/johnWcheung/article/details/52834091Android 面试那些事之Java基础http://blog.csdn.net/ZZ7ZZ7
2025-02-24 16:27:24
151
原创 精通SQL:数据库工程师必须掌握的UPDATE操作全解析
UPDATEtable_name:指定需要更新记录的表名。SET:后接需要更新的列名和它们应该被赋予的新值。WHERE:条件语句,指定哪些记录需要被更新。如果省略这一部分,表中的所有记录都会被更新,这通常不是我们希望看到的结果。在本文中,我们深入探讨了数据库工程师必须掌握的UPDATE操作,从基础语法到高级应用,再到实战案例和常见问题的解答。通过这些内容的讲解和分析,目的是帮助读者更加全面和深入地理解UPDATE语句的强大功能及其在数据库管理和维护中的关键作用。UPDATE。
2025-02-23 06:25:45
855
原创 必看系列:JAVA面试该怎么准备以及如何在面试过程中展示自己的技术能力
综上所述,展示自己的技术能力需要你在面试前做好充分的准备,包括准备技术案例和项目经验、练习编程能力、深入理解技术问题以及展现学习能力和持续进步的态度。通过这些努力,你将能够在面试中有效地展示自己的JAVA技术能力。总的来说,准备JAVA面试需要全面而深入地掌握JAVA的各个方面,同时还需要注意面试技巧的运用。通过充分的准备和练习,你一定能够在面试中展现出自己的技术能力和优势。准备JAVA面试是一个系统而全面的过程,旨在确保你熟悉JAVA的各个方面,并能够清晰地展示自己的技术能力。
2025-02-23 04:39:54
431
原创 基于Spring Cloud的电商系统设计与实现——用户与商品模块的研究(下)
(1)在dao包的GoodsDao接口中,添加查询所有商品信息的方法、根据id查询商品方法(2)在resources下的mapper包中的GoodsMapper.xml文件中配置商品查询接口(3)在controller包中的GoodsController类中添加查询接口基于Spring Cloud的电商系统在用户与商品模块的设计与实现中,注重了系统的安全性、灵活性和用户体验。通过微服务架构,系统不仅能够支持高并发请求,还能方便地进行功能扩展。
2025-02-22 04:02:57
976
原创 SQL 实战:复杂数据去重与唯一值提取
在实际开发中,数据重复是常见问题,例如用户多次登录记录、订单状态重复更新等。如何高效提取符合业务需求的唯一值或最新记录,对系统性能和数据准确性至关重要。本文将探讨如何使用 SQL 的以及 DISTINCT实现复杂场景下的数据去重与唯一值提取,避免重复数据干扰业务分析。函数/技术说明示例去除重复行,返回唯一记录按指定列分组,返回每组的聚合结果窗口函数,为每组记录编号,通常用于去重或排名类似,但排名相同记录具有相同序号连续排名,不跳跃。
2025-02-21 22:23:59
786
原创 Spring 循环依赖
三级缓存中的对象工厂可以确保在需要时创建代理对象,并将其放入二级缓存,从而确保代理对象可以在循环依赖中正确地被引用。时,它需要立即解析所有的构造函数参数,这会导致循环依赖问题。但从设计和架构的角度来看,尽量避免循环依赖是更好的做法。在需要时延迟创建早期引用,而不是立即创建。可能无法正确地创建代理对象,因为代理对象的创建依赖于完整的。的完全初始化的实例后,完成自身初始化,并放入一级缓存。注入或者字段注入,也可以解决循环依赖问题。的引用,所以最终拿到的是一个完整的。的初始化,从而解决循环依赖问题。
2025-02-21 15:31:36
626
原创 Rust与Cargo版本关系(Rust版本、rustc、rustup)
版本独立:Rust 和 Cargo 有各自独立的版本号。同步更新:通过 rustup 安装和更新时,Rust 和 Cargo 通常会同步更新,确保兼容性。管理工具:推荐使用 rustup 来管理 Rust 和 Cargo,以简化版本管理和避免不兼容的问题。如果你在使用过程中遇到版本不匹配的问题,建议通过 rustup 重新安装或更新 Rust 工具链,以确保 Rust 和 Cargo 版本的兼容性。
2025-02-21 02:25:10
333
原创 PHP代码调试(vscode+xdebug+phpstudy)
第一步是配置php的环境变量,csdn里有很多文章可以直接搜索即可了解怎么配置,大概就是将phpstudy里的php文件位置复制到环境变量里,最后使用cmd检查是否配置成功。将php的路径放到此处,该路径就在小皮的Extensions里面。在vscode左侧的拓展处搜索可下载这个php debug。创建这个文件,注意端口号要与小皮里的一致。使用记事本打开配置文件里的php.ini。再点开phpdebug里的json。再点击它设置里的扩展组件。点开文件,首选项里的设置。点开vscode里的调试。
2025-02-21 00:39:36
258
原创 MySQL迁移到达梦:如何轻松、高质量完成迁移任务
由于业务需求要求数据库国产化,近期需要将数据从mysql数据库中迁移到达梦数据库中。本次使用达梦新的数据库开发和管理工具–SQLark百灵连接进行迁移,我也是在官方社区里看到大家推荐抱着试试看的心态去下载的。惊喜的是,五步即可快速搞定数据迁移,而且一次迁移成功率高达 90% 以上****,此外像导出评估报告、自动规划表空间等功能也十分实用!使用SQLark进行数据迁移的整体过程没有遇到问题,迁移成功率也很高。
2025-02-20 22:41:36
273
原创 使用 Logback 的最佳实践:`logback.xml` 与 `logback-spring.xml` 的区别与用法
Logback 是 Java 应用的流行日志框架,以其高性能和丰富的功能在企业级项目中广泛应用。Logback 主要支持控制台和文件日志输出,支持文件滚动(按时间或大小分割日志),并支持自定义日志格式,帮助开发者有效记录和管理日志。
2025-02-16 10:06:49
673
原创 【分布式文件存储系统Minio】2024.12保姆级教程
http://ip:9090/2.运行容器3.进行配置1.格式2.具体配置4.查看桶5.给桶开放权限3.搭建minio模块1.创建一个oss模块1.在sun-common下创建2.sun-common-oss 引入依赖2.sun-common-oss 模块1.概览3.FileInfo.java4.MinioUtil.java5.StorageAdapter.java6.MinioStorageAdapter.java3.sun-demo操作minio
2025-02-16 01:10:44
801
原创 【MySQL统计函数count详解】
count() 是一个聚合函数,返回指定匹配条件的行数。开发中常用来统计表中数据,全部数据,不为null数据,或者去重数据。
2025-02-15 22:53:27
734
原创 SQL 基础 BETWEEN 的常见用法
操作符是SQL中非常有用的工具,它允许你快速选取某个范围内的值。这个查询不会返回任何行,因为没有任何列的值可以位于一个以。操作符是包含性的,这意味着它包括指定的边界值。是一个操作符,用于选取介于两个值之间的数据。这个查询将选取姓以A、B或C开头的所有客户。这将选取乘积在50到200之间的销售记录。子句中,以便选取某个范围内的值。条件,使查询更加简洁。这将返回1月份的所有订单。它包含这两个边界值。
2025-02-15 20:01:48
271
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人