- 博客(122)
- 收藏
- 关注
原创 【Linux】nmcli命令详解
以往我都是在linux的系统中都是通过配置文件来配置和修改ip的,今天我们就来说一说nmcli命令配置网络。目前所有的linux系统配置网卡等信息,均已经推行Network-Manager服务去管理。nmcli 是 NetworkManager 的命令行工具。nm 代表 NetworkManager,cli 代表 Command-Line 命令行。# 查看运行状态# 启动# 重启# 关闭# 查看是否开机启动# 开机启动。
2025-03-22 15:25:19
759
原创 Sun Frame:基于 SpringBoot 的轻量级开发框架(个人开源项目)
Sun Frame 是我个人制作的一款基于 SpringBoot 的轻量级开发框架,专为中小型企业设计,旨在提供快速、简单、易扩展的开发体验。无论您是新手还是经验丰富的开发者,Sun Frame 都能帮助您加速项目构建。
2025-03-22 02:38:26
894
原创 SpringDoc和Swagger使用
Swagger和Springdoc是两个常用的工具,用于生成和维护API文档,特别是针对基于REST的Web服务。它们有效地提升了API的可读性和可维护性,帮助开发者、产品经理和其他利益相关者更好地理解和使用所提供的API。注意:Swagger支持springboot2.0但不支持springboot3.0。
2025-03-22 01:01:36
466
原创 springboot3整合knife4j详细版,包会!(不带swagger2玩)
针对RequestMapping的接口请求类型,在不指定参数类型的情况下,如果不过滤,默认会显示7个类型的接口地址参数,如果开启此配置,默认展示一个Post类型的接口地址。是否开启界面中对某接口的版本控制,如果开启,后端变化后Ui界面会存在小蓝点。是否开启一个默认的跨域配置,该功能配合自定义Host使用。是否在每个Debug调试栏后显示刷新变量按钮,默认不显示。调试Tab是否显示AfterScript功能,默认开启。类似于接口中的tag,对于自定义文档的分组。是否显示界面中"文档管理"功能。
2025-03-10 23:39:13
1049
原创 Spring Boot整合Redisson的两种方式
Redis是一个开源的内存数据库,支持多种数据类型,如字符串、哈希、列表、集合和有序集合等,常用于缓存、消息队列、计数器、分布式锁和搜索等应用场景。Redisson则是一个基于Redis实现的Java驻内存数据网格,提供了一系列分布式的Java常用对象和多种锁机制,以及分布式服务,使开发者能更集中于处理业务逻辑。Redisson不支持字符串操作、排序、事务、管道、分区等Redis特性,但Redisson 提供了许多其他功能,如分布式闭锁、分布式计数器、分布式信号量等。
2025-03-10 17:39:36
534
原创 Redis四种模式在Spring Boot框架下的配置
Spring Boot默认不支持Redis主从模式的自动配置,需要手动配置LettuceConnectionFactory,在RedisTemplate中使用。以上配置涵盖了Redis的四种部署模式在Spring Boot框架下的配置方法。每种模式都有其特定的应用场景和配置要求,可以根据实际需求选择合适的模式进行配置。
2025-03-10 12:53:31
426
原创 OpenTelemetry 实践指南:历史、架构与基本概念
但我们打开 OpenTelemetry 社区的 GitHub 首页时,会看到有许多项目;第一反应应该是比较蒙的,下面我会着重介绍一些比较重要的项目。在开始之前还是先简单介绍下 OpenTelemetry 的一些基础组件和概念:整个 OpenTelemetry 系统其实可以简单分为三个部分:客户端数据存储第一个客户端很好理解,也就是我们的业务应用;如果是 Java 应用只需要挂载一个 agent 就可以自动采集系统的指标、链路信息、日志等上传到 Collector 中。也就是上图的左边部分。
2025-03-07 23:04:04
780
原创 MySQL的日期时间类型
timestamp类型存储的是毫秒值,当前时间距1970-01-01 00:00:00的毫秒值,存储数据的时候需要对当前时间所在的时区进行转换,查询数据的时候再将时间转换为当前的时区,so使用timestamp类型存储的同一个时间值,在不同的时区查询时会显示不同的时间;datetime类型存储的是本地时区(东八区)的日期时间,其他时区的用户查看数据也是东八区的日期时间,存在必然的误差,datetime类型存储数据基本上是原样输入和输出;
2025-03-05 19:19:17
546
原创 MySQL 批量插入详解:快速提升大数据导入效率的实战方法
批量插入是提高 MySQL 数据插入性能的重要手段。通过使用批量插入技术,可以显著减少 SQL 执行次数,提高数据导入的效率。本文通过一个学生信息表的实战示例,详细介绍了批量插入的实现方法,并提供了性能优化的建议。希望这篇文章对您在处理大规模数据时有所帮助。如果有更复杂的数据处理需求,您还可以考虑使用 MySQL 的LOAD DATA语句或专门的 ETL 工具来进行数据导入操作。
2025-03-05 17:57:30
797
原创 java面试题-集合篇
在 JDK 8 中,对于 key 的 hash 值,不再采用传统的取模运算(%)计算哈希桶的索引,而是采用了一种新的方式,使用 key 的 hash 值高位和低位进行异或运算,以此来增加哈希桶的分布性。具体来说,如果在对 ArrayList 进行迭代操作的同时,对其进行增删改操作,会导致 ArrayList 的 modCount(修改次数)和迭代器的 expectedModCount(预期的修改次数)不一致,迭代器会立即抛出 ConcurrentModificationException 异常。
2025-03-05 16:32:47
1027
原创 java如何面试别人_Java面试如何考察候选人
2、对简历写的项目、技能一一深入发问,考察面试者对项目的业务细节、技术架构、场景解决、技术原理是否熟悉。这个可以先从简单的开始问、比如抽象类和接口的区别、重写equals方法需要注意的几点等等,再慢慢深入Java并发、Java虚拟机等相关知识,从简单到复杂的好处就可以了解候选人的Java技术达到怎样的水平。让候选人设计一个系统、比如像抖音的设计,白板上面画出系统的架构图,主要的表结构和讲解主要的业务流程,如果用户变多流量变大,架构将怎么扩展,怎样应对?对候选人的项目提出可能存在的问题,如何解决?
2025-03-05 01:24:47
323
原创 阿里P8架构师吐血整理的超全Java进阶教程:基础+容器+并发+虚拟机+IO
包括 Java 基础、Java 容器、Java 并发、Java 虚拟机和 Java IO,非常全面。其中包括使用线程的方法、基础线程机制、线程中断、互斥同步、线程之间的协作、线程状态、AQS、JUC其他组件、线程不安全示例、Java内存模型、线程安全、锁优化、多线程开发良好的实战、参考资料。其中包括了数据类型、String、运算、关键字、Object通用方法、继承、反射、异常、泛型、注解、特性等知识点的详细解析,还有参考资料等。其中包括运行时数据区域、垃圾收集、内存分配与回收策略、类加载机制、参考资料。
2025-03-03 12:01:22
120
原创 深入浅出 SQLSugar:快速掌握高效 .NET ORM 框架
通过链式操作简化常见数据库操作。优化底层 SQL 执行效率。兼容 SQL Server、MySQL、SQLite、PostgreSQL、Oracle 等。支持事务、动态表名、分页、多表联查等高级特性。SQLSugar 支持通过特性映射数据库表和字段。[SugarTable("Users")] // 指定数据库表名为 "Users"[SugarColumn(IsPrimaryKey = true, IsIdentity = true)] // 主键且自增set;set;set;
2025-03-02 22:18:38
555
原创 如何安装配置Goland并使用固定公网地址SSH远程连接本地服务器
我们在本地测试成功,但是我们如果需要长期异地办公,需要结合cpolar内网穿透实现公网远程使用服务器,这里我们需要将SSH使用的本地IP映射为公网TCP地址,才能实现异地开发。地址保留成功后,复制生成的公网地址,打开cpolar web ui管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到我们上面创建的TCP隧道,点击。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。为了方便演示,我们在前述过程中使用了Cpolar生成的TCP地址隧道,其公网地址是随机生成的。
2025-03-02 20:59:28
805
原创 初识MySQL · 数据库
本文也是MySQL的第一篇文章了,新的知识点已经出现,怎么能够停止不前,穿越时空……(迪迦奥特曼乱入哈哈哈)。1 什么是数据库 2 主流数据库有哪些 3 MySQL的基本使用 4 MySQL的基本架构 5 存储引擎进入正题吧!
2025-03-02 19:20:46
914
原创 一文读懂Llama2的架构和推理过程
为了更深入了解Llama 2,我们从Meta官网探寻了一些基本信息:· Llama 2,作为Llama的下一代版本,推出了三种尺寸供选择:7B、13B和70B。其中,7B和13B沿用了Llama 1的经典架构,而70B模型则采用了创新的分组查询注意力(GQA)架构。
2025-03-01 15:31:00
462
原创 【Python】爬虫实战03:自动化抢票脚本【某麦网】
在这个数字化时代,演唱会、体育赛事和各种活动的门票销售往往在线上进行。由于热门活动的高需求和门票的有限供应,抢票成为了一场激烈的竞争。许多粉丝和爱好者经常因为手速不够快或网络延迟而错失购票机会。为了提高抢票的成功率,自动化抢票脚本应运而生。以下这个脚本是一个用 Python 编写的自动化抢票程序,利用Selenium库来模拟用户在网页上的操作。
2025-02-28 23:29:37
722
原创 【Golang】——Gin 框架中间件详解:从基础到实战
中间件是一种拦截 HTTP 请求的处理机制,通常用于在请求到达最终处理函数之前进行操作。通过中间件可以进行认证、日志记录、错误处理等操作,并且可以控制请求是否继续传递给下一个中间件或路由处理函数。在 Gin 中,自定义中间件可以通过定义一个类型的函数来实现。// 请求前println("请求开始")// 继续到下一个中间件或处理函数c.Next()// 请求后println("请求结束")// 全局应用中间件})当访问/ping。
2025-02-28 14:29:50
622
原创 SQL-触发器(trigger)的详解以及代码演示
触发器是一种特殊的存储过程,但是触发器不存在输入和输出参数,所以不能被显式的去调用,而是与特定的表相关联,当表中的数据发生变化时,触发器被激活并执行其定义的SQL代码。触发器可以是行级触发器(针对每一行数据变化)或语句级触发器(针对整个SQL语句的变化),行级触发器允许对每一行单独处理,而语句级触发器则在整个操作完成后执行一次。这个查询将返回触发器的名称、父对象(表或视图)的名称、触发器的类型(如AFTER、INSTEAD OF)以及触发事件(如INSERT、UPDATE、DELETE)。
2025-02-28 12:50:01
980
原创 SpringBoot项目集成ONLYOFFICE
随着互联网技术的发展,越来越多的企业和个人开始寻求高效的在线文档处理解决方案。传统的本地文档编辑软件虽然功能强大,但在多用户协同工作方面存在诸多不便。为了满足这一需求,市场上涌现出了许多优秀的在线文档编辑工具,其中OnlyOffice因其出色的性能和灵活的集成能力而受到广泛好评。本文将详细介绍如何在Spring Boot项目中集成OnlyOffice,实现文档的在线编辑功能,并分享OnlyOffice的产品特点和用户体验。
2025-02-28 11:06:53
897
原创 springboot 修复 Spring Framework 特定条件下目录遍历漏洞(CVE-2024-38819)
刚解决Spring Framework 特定条件下目录遍历漏洞(CVE-2024-38816)没几天,又来一个新的,真是哭笑不得啊。不过没关系,springboot官方又发布了新的版本3.3.5,将项目升级到该版本即可从springboot2.x升级到3.x请查看。
2025-02-27 14:12:53
408
原创 Spring Boot 集成MyBatis-Plus
增加集成相关的配置和依赖后,我们又创建了一个简单的接口,用于验证本次集成是否成功。其中谈到了SSM项目中基本的项目结构,相关代码都是从生产代码中抽象出来的,具有很强的参考意义。在古早的应用开发中,需要开发人员写许多的DAL(数据访问层)代码,需要自己管理数据库的连接与关闭,还需要自己从ResultSet中获取数据,然后再将其组装为对象。并且为了保持依赖的松散,控制器是不直接依赖于具体类的,而是依赖于接口。被该注解修饰的类,setters方法返回的该类的实例(即this),而不是void。
2025-02-27 12:49:49
1129
原创 RabbitMQ之交换机
在讲交换机之前我们需要了解一些概念,在RabbitMQ工作流程有一项叫Exchange(交换机:消息的分发中心****),它的作用是将生产者发送的消息转发到具体的队列,队列再将消息以推送或者拉取方式给消费者进行消费。**原:**在RabbitMQ中生产者发送的信息不会直接投递到队列中,而是先将消息投递到交换机中,在由交换机路由到一个或多个队列中。流程:生产者 --(路由键)—> 交换机 --(绑定键)—> 队列 --(pull,push)—>消费者。
2025-02-27 11:27:51
965
原创 MySQL输入密码后闪退?
在服务列表中,找到以“MySQL”开头的服务(例如,MySQL、MySQL56、MySQL57、MySQL80等,具体名称取决于你的MySQL版本和安装方式)。有时候,default-character-set=gbk这样的设置可能会导致问题,你可以尝试将其注释掉或删除,然后重启MySQL服务。②修改SQL语法:如果你不想改变MySQL的版本,那么你可以尝试修改SQL查询语句,确保它们符合目标MySQL服务器的语法要求。如果MySQL服务已启动并且你输入了正确的密码,你应该能够成功连接到MySQL服务器。
2025-02-26 02:34:14
458
原创 MySQL--》深入理解视图、存储过程与触发器的强大功能
(View)是一种虚拟存在的表,视图中的数据并不在数据库中实际存在·,行和列数据来自视图的查询中使用的表,并且是在使用视图时动态生成的。:是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的,其特点是:封装重用;减少网络交互并提升效率。局部变量:是根据需要定义的在局部生效的变量,访问之前需要DECLARE声明,可用作存储过程内的局部变量和输入参数,局部变量的范围是在其内声明的BEGIN…
2025-02-26 01:14:24
358
原创 Java面试之RESTful风格接口
RESTful架构风格规定,数据的元操作,即CRUD操作分别对应HTTP方法中的GET,POST,PUT,DELETE,这样统一了数据操作的接口,仅通过Http方法,就可以完成对数据的所有增删改查工作。要获取这个资源,访问它的URI就可以,因此,URI就成了每一个资源的地址或识别符。**无状态:**所谓的无状态,即所有的资源都是通过URI定位,而且这个定位与其他资源无关,也不会因为其他资源的变化而改变。GET:用来获取资源。**资源:**所谓资源,就是网络上的一个实体,或者说是网络上的一个具体信息。
2025-02-25 21:52:44
177
原创 Java 常见的面试题(反射)
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性,这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。**序列化:**将 Java 对象转换成字节流的过程。**反序列化:**将字节流转换成 Java 对象的过程。当Java 对象需要在网络上传输 或者 持久化存储到文件中时,就需要对 Java 对象进行序列化处理。
2025-02-24 19:18:28
556
原创 Another Redis Desktop Manager
安装命令 : . edis-server.exe --service-install redis.windows.conf。成功安装 : # Redis successfully installed as a service.可以直接用这个: . edis-server.exe redis.windows.conf。启动: . edis-server.exe --service-start。这个窗口关掉 redis服务可能就关了。连接:(一般连接都要密码)
2025-02-24 16:28:06
308
原创 索引(MySQL)
正式因为有序,在查找的时候,从头到后都是有效查找,没有任何一个查找是浪费的,而且,如果运气好,是 可以提前结束查找过程的。磁盘是计算机中的一个机 械设备,相比于计算机其他电子元件,磁盘效率是比较低的,在加上IO本身的特征,可以知道,如何提交效率,是 MySQL 的一个重要话题。所以,最基本的,找到一个文件的全部,本质,就是在磁盘找到所有保存文件的扇区。在单表数据不断被插入的情况下, MySQL 会在容量不足的时候,自动开辟新的Page来保存新的数据,然 后通过指针的方式,将所有的Page组织起来。
2025-02-23 06:26:24
599
原创 必看!Java 大文件上传项目实战:基于 Spring Boot + Thymeleaf 架构,深挖分块上传、断点续传底层逻辑(万字长文,配套流程图详解)
???
2025-02-23 04:40:34
1055
原创 SQL 建表语句详解
通过本文的讲解,我们详细介绍了 SQL 中的建表语句,包括基本语法、数据类型、约束、示例等内容。希望读者能够通过这些内容更好地理解和掌握 SQL 建表语句的使用方法。在实际应用中,根据具体需求选择合适的数据类型和约束,可以有效地保证数据的完整性和一致性。
2025-02-21 22:24:33
296
原创 Spring 核心技术解析【纯干货版】- VIII:Spring 数据访问模块 Spring-Tx 模块精讲
Spring Tx 模块,是 Spring 中处理事务管理的模块,其中 TX 全称为 Spring Transaction Management。Spring Tx 模块的设计目标是为了让应用程序中的事务管理变得更加简单、统一和灵活。不论是在传统的 JDBC 环境下,还是在使用 ORM(如 Hibernate)的环境中,它都能提供一致的编程模型来处理事务。概括来讲,事务是一个由有限操作集合组成的逻辑单元。事务操作包含两个目的,数据一致以及操作隔离。
2025-02-21 15:32:11
646
原创 Rust并发编程实践:10分钟入门系统级编程
Rust作为一门现代的系统级编程语言,提供了强大的并发编程能力。本文将介绍Rust中的并发编程概念,包括线程、协程和通道等核心概念,以及Rust提供的丰富的并发原语和工具。通过实例展示,我们将深入探讨如何在Rust中实现高效的并发编程,以提升程序的性能和响应速度。
2025-02-21 02:25:44
1081
原创 PHP使用CURL发送POST请求方法总结(API对接必备)
java RSA2 加密、解密 、签名和验证签名 https://blog.youkuaiyun.com/TaLinBoy/article/details/106124535。IOS:RSA2 加密、解密 、签名和验证签名 https://blog.youkuaiyun.com/TaLinBoy/article/details/106140526。详细请参考:https://blog.youkuaiyun.com/guyongqiangx/article/details/74930951。而验证签名使用的是公钥。// 对认证证书来源的检查。
2025-02-21 00:40:10
963
原创 MySQL远程连接错误解决:“Host is not allowed to connect to this MySQL server”详解
用户的host字段(或其他需要远程访问的用户),允许任意远程主机(用 ‘%’ 表示)进行连接,但这一步可能涉及到安全风险,建议只针对需要远程访问的特定用户设置具体的远程IP地址,而不是使用通配符。通过远程客户端访问MySQL服务器时会遇到“Host is not allowed to connect to this MySQL server”的错误提示。确保服务器的防火墙规则允许MySQL服务端口(默认为3306)上的入站流量。或者指定的公网IP地址以接受远程连接。),确保没有禁止远程连接的相关设置,
2025-02-20 22:42:10
575
原创 使用 MySQL 从 JSON 字符串提取数据
通过上述 SQL 查询,我们成功地从一个包含 JSON 字符串的字段中提取了数据并转换成了另一种结构化格式。这种方法展示了 MySQL 在处理 JSON 数据方面的灵活性和强大能力。在实际应用中,您可以根据具体的需求对查询进行适当的修改,以适应不同结构的 JSON 数据。此外,了解 SQL 中字符串处理和聚合函数的使用,对于提升数据处理的能力和效率至关重要。希望本篇文章对您在处理 JSON 数据时有所帮助!
2025-02-16 10:07:22
819
原创 【分库分表】基于mysql+shardingSphere的分库分表技术
分库分表是一种场景解决方案,它的出现是为了解决一些场景问题的,哪些场景喃?单表过大的话,读请求进来,查数据需要的时间会过长读请求过多,单节点IO压力太大,IO压力太大会造成什么?可能会造成IO阻塞,造成响应速度变慢。分库分表是指的两种维度,一种维度是分库,另一种维度是分表。分的话有两种分法,一种是水平分,另一种是垂直分。水平分是指将数据分为多段,一个服务器节点上存放一段,读写的时候走自己要的那一段所在服务器上。一段也叫一个分片(sharding)
2025-02-16 01:11:18
901
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人