永别了,控制台!
本文已收录在Github,关注我,紧跟本系列专栏文章,咱们下篇再续!
🚀 魔都架构师 | 全网30W技术追随者
🔧 大厂分布式系统/数据中台实战专家
🏆 主导交易系统百万级流量调优 & 车联网平台架构
🧠 AIGC应用开发先行者 | 区块链落地实践者
🌍 以技术驱动创新,我们的征途是改变世界!
👉 实战干货:编程严选网
0 前言
从 20 ...
查找算法
二分查找
二分查找(Binary Search)是一种高效的查找算法,也叫折半查找。核心思想:对于一个有序的数据集合,每次查找都将查找范围缩小为原来的一半,直到找到目标值或确定目标值不存在。二分查找要求数据必须是有序的,经常应用于数组等支持随机访问的数据结构里。跟线性查找相比,二分查找的效率要高得多,特别是对于大 ...
剑指offer-49、把字符串转换成整数
题⽬描述
请你来实现⼀个 myAtoi(string s) 函数,使其能将字符串转换成⼀个 32 位有符号整数(类似C/C++ 中的 atoi 函数)。
函数 myAtoi(string s) 的算法如下:
读⼊字符串并丢弃⽆⽤的前导空格
检查下⼀个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数,还是正数。 如果两者都 ...
剑指offer-48、不使⽤加减乘除实现加法
题⽬描述
写⼀个函数,求两个整数之和,要求在函数体内不得使⽤ + 、 - 、 * 、 / 四则运算符号。
示例1
输⼊:1,2
返回值:3
思路及解答
位运算迭代法(推荐)
将加法分解为「无进位和」+「进位值」,循环直到进位为0
位运算加法的数学原理:
异或运算 (^):实现无进位加法
0^0=0, 0^1=1, 1^0=1, 1^1=0(进位丢失)
与 ...
Quartz定时任务持久化(服务重启后自动恢复)
Quartz 定时任务持久化(重启后自动恢复)
声明: 本文内容由 ChatGPT 协助生成,仅作为个人学习与记录之用。
Quartz 默认使用 RAMJobStore(内存存储),服务重启后任务会丢失。
要让定时任务在重启后仍然有效,必须启用:JDBCJobStore(数据库持久化)
本文说明如何在 Spring Boot 项目中配置 Quartz 持久化,使任务存入 ...
【技术干货】如何在Vaadin应用程序中使用自定义Figma组件
Vaadin 是一个面向企业级应用的现代 Web 开发框架,专注于 Java 全栈开发、组件化 UI 构建,并提供丰富的开箱即用 Web Components。Vaadin 的优势包括:
Java 到前端的统一开发体验
企业级安全性与长生命周期支持
高质量 UI 组件库与设计系统
与 Figma 无缝衔接的 Copilot AI 辅助开发能力
在最新版本 ...
剑指offer-47、求1+2+3...+n
题⽬描述
求 1+2+3+...+n ,要求不能使⽤乘除法、 for 、 while 、 if 、 else 、 switch 、 case 等关键字及条件判断语句( A?B:C )。
示例
输⼊:5
输出:15
思路及解答
用for循环
这个问题,如果直接使⽤ for 循环,超级简单,重拳出击,时间复杂度为 O(n) 。代码如下:
public class Solution {
public int Sum_So ...
JAVA 使用国密 SM4 加解密
SM4算法
百度百科
中华人民共和国政府采用的分组密码标准SM4.0(原名SMS4.0)是中华人民共和国国家密码管理局于2012年3月21日发布的分组密码标准,对应行业标准为GM/T 0002-2012,采用128位分组长度和128位密钥结构,加密过程基于32轮非线性迭代,并配置固定8比特输入8比特输出的S盒,主要应用于商用数据加密领域
在密码学 ...
生产事故-那些年遇到过的OOM
入职多年,面对生产环境,尽管都是小心翼翼,慎之又慎,还是难免捅出篓子。轻则满头大汗,面红耳赤。重则系统停摆,损失资金。每一个生产事故的背后,都是宝贵的经验和教训,都是项目成员的血泪史。为了更好地防范和遏制今后的各类事故,特开此专题,长期更新和记录大大小小的各类事故。有些是亲身经历,有些是经人耳传口 ...
开源 AI CRM 系统!新一代客户关系管理系统!
大家好,我是 Java陈序员。
在数字化浪潮席卷企业运营的今天,客户关系管理(CRM)系统已成为企业实现精细化运营、提升核心竞争力的关键工具。
今天,给大家介绍一款开源的客户关系管理系统,支持集成 AI 操作!
关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。
项目介绍
...
十大经典排序算法
引言
所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。排序算法在很多领域得到相当地重视,尤其是在大量数据的处理方面。一个优秀的算法可以节省大量的资源。在各个领域中考虑到数据的各种限制和规范,要得到一个符合实际的优秀 ...
从 Spring Boot 2.x 到 3.5.x + JDK21:一次完整的生产环境迁移实战
从 Spring Boot 2.x 到 3.5.x + JDK21:一次完整的生产环境迁移实战
@目录从 Spring Boot 2.x 到 3.5.x + JDK21:一次完整的生产环境迁移实战升级背景升级目标与核心变化完整升级步骤第一阶段:准备工作(JDK 8 环境)代码分支管理引入 OpenRewrite Maven 插件执行自动化迁移OpenRewrite 自动完成的变更增量合并场景处理第 ...
Spring监听器(ApplicationEvent):比MQ更轻的异步神器!
引言:当咖啡店遭遇程序员
“顾客挤爆柜台时,优秀的店长不会催促咖啡师加速,而是启动一套科学的协作机制——
就像Spring事件驱动,用发布-订阅模式让系统像顶级咖啡团队般优雅应对洪峰流量”
一、咖啡店里的监听器:3位灵魂角色
真实战场还原(每秒1000订单的咖啡店):
graph LR
顾客["🔥 顾客喊单(事件发布者) ...
数据结构——树
概述
树就是一种类似现实生活中的树的数据结构(倒置的树)。任何一颗非空树只有一个根节点。
树的定义:树是⼀种数据结构,它是由n(n≥1)个有限节点组成⼀个具有层次关系的集合。把它叫做“树”是因为它看起来像⼀棵倒挂的树,也就是说它是根朝上,⽽叶朝下的。
一棵树具有以下特点:
每个节点有零个或多个⼦节点
没有⽗ ...
Kafka与RocketMQ的形象理解
一、先分清:两家店 “主打啥”(定位)
店类型
对应 MQ
主打能力(一句话)
像生活里的啥?
快递分拣站
Kafka
只拼 “快” 和 “多”,不管复杂服务
双 11 快递仓:一天分 10 万件,不帮改地址
社区便利店
RocketMQ
啥都管 “全”,服务灵活
楼下小超市:能留货、能退差、能帮存东西
...
剑指offer-46、孩⼦们的游戏(圆圈中最后剩下的数)
题目描述
有个游戏是这样的:⾸先,让 n 个⼩朋友们围成⼀个⼤圈,⼩朋友们的编号是0~n-1。然后,随机指定⼀个数 m ,让编号为0的⼩朋友开始报数。每次喊到 m-1 的那个⼩朋友要出列唱⾸歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下⼀个⼩朋友开始,继续 0... m-1报数....这样下去....直到剩下最后⼀ ...
Spring Boot中HTTP请求参数转换和请求体JSON反序列化的区别
Spring Boot中HTTP请求参数转换和请求体JSON反序列化的区别
问题
假设如下方法和对象
@Operation(summary = "新增或修改标签信息")
@PostMapping("saveOrUpdate")
public Result saveOrUpdateLabel(@RequestBody LabelInfo labelInfo) {
service.saveOrUpdate(labelInfo);
return Result.ok();
}
@Schema(descript ...
剑指offer-45、扑克牌顺⼦
题⽬描述
扑克牌可以组成顺⼦,⼤\⼩ 王可以看成任何数字,并且 A 看作 1 , J 为 11 , Q 为 12 , K 为 13 。 5张牌 【A,0,3,0,5】 就可以变成“ 1,2,3,4,5 ”(⼤⼩王分别看作 2 和 4 ),这样就组成了顺⼦。(可以认为⼤⼩王是 0 。)
输⼊五张牌,如果牌能组成顺⼦就输出true,否则就输出 false 。
示例1
输⼊:[0,3,2,6,4]
...
剑指offer-44、翻转单词序列
题⽬描述
给定⼀个句⼦,将句⼦中的单词进⾏翻转,注意,单词内部的字符顺序不改变,改变的是单词与单词之间的顺序,⽐如“ I am a coder. ”,翻转之后变成“ coder. a am I ”。
示例
注意:引号内部才是输⼊的内容
输⼊:"You are a cool boy."
输出:"boy. cool a are You"
思路及解答
Java内置函数分割反转
Java ⾥⾯有 ...
关于synchronized-reentrantlock-volatile学习总结1.0
Synchronized
synchronized 是什么
synchronized是 java 提供的原子性内置锁,实现基本的同步机制,不支持超时,非公平,不可中断,不支持多条件,基于 JVM 的 Monitor(监视锁)机制实现,主要解决的是多个线程之间的访问资源的同步性,可以保证被它修饰的方法或者代码块在任意时刻只有一个线程执行,以及保证:
原子性
...