网关升级
背景
这是去年做的事情了,去年九月我们将一个系统的网关zuul平滑升级为spring cloud gateway,在此记录一下升级方案,有相同需求的朋友可以做个参考。
升级原因:
1、之前我们升级了spring boot/cloud版本,网关模块没有升级,一直使用旧版本,不统一,公共包的管理和代码不好维护。
2、低版本的spring cloud 使用zuul 1.x ...
剑指offer-18、⼆叉树的镜像
题⽬描述
操作给定的⼆叉树,将其变换为源⼆叉树的镜像。
⼆叉树的镜像定义:源⼆叉树
思路及解答
递归
采用后序遍历(左-右-根)的方式递归访问每个节点:
递归处理左子树
递归处理右子树
访问根节点并交换其左右子树
public TreeNode mirrorTree(TreeNode root) {
if (root == null) return null;
// 先递归处 ...
GitHub上创建仓库并clone到当前开发环境
点击头像选择your repositories->New进入如下界面:
选择自己需要的选项而后创建
clone到当前开发环境,在命令行输入:git clone 复制SSH的URL
来源:https://www.cnblogs.com/Saintwaters/p/19022152
Java编程练习:洗牌
今天开篇做了一个洗牌练习。既然要洗牌,首先要做牌。牌主要可以拆分成:
大小王各一张
String[] kings = {"BigKing", "SmallKing"};
四色花色各13张
String[] colors = {"♥", "♠", "♣", "♦"};
String[] numbers = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};
因为求解的内容长度是已 ...
Mysql的索引数量是否越多越好?为什么?
什么是索引?
索引是存储引擎用于提高数据库表的访问速度的一种数据结构。它可以比作一本字典的目录,可以帮你快速找到对应的记录。
索引一般存储在磁盘的文件中,它是占用物理空间的。
索引的优缺点?
优点:
加快数据查找的速度
为用来排序或者是分组的字段添加索引,可以加快分组和排序的速度
加快表与表之间的连接
缺 ...
ArrayDeque双端队列--底层原理可视化
主要学习双端队列 ArrayDeque ,通过对其栈功能的使用,掌握循环数组底层原理
觉得文章枯燥的可以结合ArrayDeque 底层原理可视化视频:https://www.bilibili.com/video/BV1zChGz8EVL/
有环形的数组?同时具备栈功能和队列功能?
1. Java 中的栈实现
在Java中,栈类你可以直接找到的是Stack类。Stack类实在JDK 1.0 的时候 ...
Java练习Day1
【练习题1】设计一个可以执行基本数学运算的计算机程序
1、用户需要输入两个数字
int num1, num2;
2、用户需要输入一个字符
(1)调用Scanner类
import java.util.Scanner;
(2)定义Scanner对象
Scanner sc = new Scanner(System.in);
3、根据所选运算符执行相应数学运算,显示运算结果
switch (op) {
case "+":
...
Git在Windows下安装配置
Windows安装包:https://git-scm.com/downloads/win
github的注册和git的配置(因为初学Java于是决定先装的Windows版本)
1、在Git Bush配置本地信息:git config --global user.name "your name"(邮箱改一下后面为user.email"your email"即可)
2、生成SSH Key:ssh -keygeneral -t rsa -C "your email"
3、获取密钥内容 ...
Java学习:IDEA控制台中文乱码问题
前两天刚开始学习Java的时候遇见了IDEA控制台中文乱码的问题
【历程一】用网上的方法
通过网上的办法,我最终将Project Encoding改为GBK,然后控制台就不会乱码了,但是很不稳定,有时候也会有乱码的情况,于是我开始思考是否是IDEA开发工具的问题或者是JDK工具包的问题
【历程二】下载新的JDK-17
之前我用的是JDK-21,后 ...
搞懂这两个组件,Spring 配置问题少一半!
案例
前置条件:
在 resources 目录下有 hello/hello.properties 文件,文件内容如下:
hello=nihao
案例一:
在 HelloController 类中通过 @PropertySource 注解引用 properties 文件的内容,然后就可以通过 @Value 注解引用这个配置文件中的 hello 这个 key 了。
@PropertySource({"classpath:hello/hello.properties"}) ...
Java编程提示词
代码风格与结构
编写清晰、高效且文档完善的Java代码,并提供准确的Spring Boot示例。
在整个代码中使用Spring Boot最佳实践和约定。
创建Web服务时实现RESTful API设计模式。
遵循驼峰命名法(camelCase)为方法和变量命名。
Spring Boot应用结构:控制器、服务、仓库、模型、配置。
Spring Boot特性
使用Spring Boot启 ...
大白话:什么场景适合做 AI Agent 应用?
学习贴,错了大家评论交流,我继续学习改正
大家可以看到,软件这块从普通应用到 AI 应用,然后现在都在说 AI Agent 应用。我感觉我自己心里定义都不是很清楚。
下面从用户角度大白话分享下
一、普通应用 vs AI 应用 vs AI Agent 应用
普通应用,比如 CRM 系统。特征:
你做决策(你是工人)
系统层面,按系统功能执行
AI ...
where 1 = 1的作用?会影响性能吗?count(*) 和 count(1)哪个快?
exist和in的区别?
exists用于对外表记录做筛选。exists会遍历外表,将外查询表的每一行,代入内查询进行判断。当exists里的条件语句能够返回记录行时,条件就为真,返回外表当前记录。反之如果exists里的条件语句不能返回记录行,条件为假,则外表当前记录被丢弃。
select a.* from A awhere exists(select 1 from B b whe ...
Arthas使用指南:安装与常用命令(trace、watch)详解
Arthas 是阿里开源的Java诊断工具,能在不重启应用的情况下实现线上问题排查、性能监控和动态代码热更新。本文将详细介绍其核心功能与使用技巧。
一、快速安装与启动
# 下载最新版Arthas
curl -O https://arthas.aliyun.com/arthas-boot.jar
# 启动并选择目标JVM进程
java -jar arthas-boot.jar
启动后会显示当前机器 ...
伙伴匹配系统(移动端 H5 网站(APP 风格)基于Spring Boot 后端 + Vue3 - 01
伙伴匹配系统(手机版) - 01
项目地址:
Github:https://github.com/China-Rainbow-sea/yupao
Gitee:https://gitee.com/Rainbow--Sea/yupao
@目录伙伴匹配系统(手机版) - 01需求分析技术栈前端项目初始化前端主页后端数据表设计标签表(分类表)用户表开发后端接口:标签搜索用户功能小技巧:解析 JSON 字符串前端整合路 ...
剑指offer-17、树的⼦结构
题⽬描述
输⼊两棵⼆叉树A , B ,判断B 是不是A 的⼦结构。(ps:我们约定空树不是任意⼀个树的⼦结构)
假如给定A 为{8,8,7,9,2,#,#,#,#,4,7} , B 为{8,9,2} , 2 个树的结构如下,可以看出B是A 的⼦结构:
思路及解答
双重递归法(标准解法)
使用两个递归函数:
isSubStructure:遍历树A的每个节点,寻找与树B根节点 ...
HotSpot虚拟机对象探秘
HotSpot虚拟机对象探秘
HotSpot虚拟机在Java堆中的对象分配、布局和访问。
对象的创建
如何划分可用空间。
并发下指针分配的安全问题。
普通Java对象、数组对象和Class对象。此处只讨论普通Java对象。
使用new关键字创建对象,在虚拟机中,这是怎样的一个过程?
当Java虚拟机遇到一条字节码new指令时,首先将去检查这个指 ...
国产化Excel处理组件Spire.XLS教程:使用 Java 将 CSV 转换为 Excel
将 CSV 文件转换为 Excel 是 Java 开发者在进行数据报表、分析流程或文件转换时常见的操作。虽然可以手动解析 CSV 文件,但这种方式不仅代码繁琐,而且格式控制能力有限。借助如 Spire.XLS for Java 这样的专业 Excel 库,可以极大简化处理流程,同时实现对布局、样式、模板以及数据整合的全面控制。
E-ice ...
图表控件Aspose.Diagram教程:使用 Java 读取 Visio 形状数据
在某些情况下,您可能需要从 Visio 图表中读取形状数据。当图表包含元数据时,这通常会很有帮助。您可以在不使用 Microsoft Visio 或 Office Interop 的情况下使用 Java 提取这些信息。它非常适合用于报表、数据检查或自动化工具。在本文中,我们将向您展示如何借助图表控件Aspose.Diagram,使用 Java 以清晰简单的方式读 ...
聚合系统设计:利用泛型来重构三方服务的底层调用
主流官媒都开始使用“标题党”这种网络传播套路了....适当网络化表达可增强传播力,但过度追求流量易损害公信力。关键在于平衡,区分时政要闻与文化报道的传播尺度,在创新形式的同时坚守媒体责任,实现有效传播与价值引领的统一。
↓↓↓以下为正文。↓↓↓
三方服务API接口响应说明
我司通道服务里调用的一个三方服务商 ...