自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

5年金融行业+3年工业领域工作经验,技术分享、互助学习

5年金融行业+3年工业领域工作经验,技术分享、互助学习

  • 博客(28)
  • 收藏
  • 关注

原创 Win11本地jdk1.8和jdk17双版本切换运行方法

本文介绍了JDK17的安装与环境变量配置方法。首先从Oracle官网下载.exe安装包进行安装,或选择解压版。安装版需删除特定目录下的Java相关文件夹。环境变量配置包括:1)新建CLASSPATH变量;2)设置JAVA_HOME变量(可配置多个版本如JDK8和JDK17)。最后将JDK安装目录添加至系统Path变量,并通过cmd命令java -version验证版本切换效果。注意修改环境变量后需重新打开cmd窗口查看。

2025-09-16 17:39:12 1078

原创 进阶——写成自动化脚本实现日志文件的定位

摘要:本文介绍了一个名为smart_grep.sh的智能日志搜索脚本,用于高效定位和分析日志文件。该脚本采用两阶段处理:先递归查找包含所有指定关键字的文件,再过滤掉包含排除关键字的文件。支持多关键字组合查询,使用-Z和xargs-0处理特殊文件名,并自动清理临时文件。脚本可设置搜索目录、包含关键字和排除关键字,输出匹配文件列表及数量统计。典型应用场景包括在/var/log中搜索含"error timeout"但不含"ignore skip"的日志文件。

2025-07-14 16:38:03 528

原创 生产大批量日志场景中,根据关键字快速定位

高效文件搜索技巧 当处理大量文件时,建议先通过grep -rl "关键词" /目录快速定位目标文件(仅显示文件名),再针对性深入搜索。两种细化方式: 手动选择:保存文件列表后单独分析; 自动管道:用xargs批量处理(如grep -rlZ "key" | xargs -0 grep -H "key" | grep -v "排除词")。 优化建议: 限制搜索深度(--max-depth)或排除目录(--exclude-dir);

2025-07-14 16:12:37 462

原创 IDEA类和方法注释模板设置-保姆教程

在讲解怎么设置类和方法注释模板前,先简单介绍下Javadoc标准,因为注释规范,最终和Javadoc标准契合,效果最好,不仅方便后续出接口文档描述,也是业界的统一标准,更易于接受。Javadoc 标准标签列表标签名用途说明@author指定类、接口或方法的作者@version指定类、接口的版本信息@since表示该类或方法从哪个版本开始存在一般就记录时间)@param描述方法参数的含义。

2025-07-03 16:20:32 3536 1

原创 位图法(BitMap)深度解析

位图法是一种高效的空间优化数据结构,利用比特位表示元素存在状态(0/1),适用于大规模整数去重、排序和检测。其核心是通过位运算实现快速操作,空间复杂度极低(40亿整数仅需512MB)。典型应用如40亿整数去重时,位图法在内存占用和性能上显著优于哈希表。但仅适用于有限范围内的整数,数据稀疏时效率下降。对超大非整数数据可考虑布隆过滤器(允许误报)。位图法是处理密集型整数集的理想选择,在特定场景下具有不可替代的优势。

2025-06-24 16:30:50 1273

原创 时间复杂度和空间复杂度入门必备知识点

算法复杂度分析摘要 时间复杂度衡量算法执行时间随数据规模n的增长趋势,空间复杂度衡量额外内存使用情况。二者都用大O表示法,忽略系数保留最高阶项。常见时间复杂度:常数O(1)、对数O(logn)、线性O(n)、线性对数O(nlogn)、平方O(n²)、指数O(2ⁿ)。计算时需找基本操作并建立T(n)表达式。空间复杂度分析额外变量和递归深度。典型案例:冒泡排序时间O(n²)空间O(1),归并排序时间O(nlogn)空间O(n)。优化需权衡时空效率,n较小时可用简单算法,大时需高效算法。

2025-06-17 16:21:03 546

原创 Java实现10大经典排序算法

本文简明介绍了10种经典排序算法,涵盖冒泡、选择、插入、快速、希尔、归并、堆、计数、桶和基数排序。每种算法从定义、时间复杂度(最佳/平均/最差)、空间复杂度、稳定性及适用场景进行说明,并附Java实现代码。关键对比显示:快速排序适合通用场景(平均O(nlogn)),堆排序保证最坏情况性能,归并排序兼顾稳定性和效率,而计数/桶/基数排序适用于特定数据特征。最后给出选择建议:内存敏感用堆排序,需稳定性选归并,特定数据用非比较类算法。

2025-06-17 16:07:05 1875 1

原创 Vue.js组件开发—程序员小白入手教程

针对想学习Vue.js组件开发的小白,从环境搭建、核心指令、组件化开发、进阶特性,提供基础的讲解和代码脚本执行步骤,并提供一些建议性学习路径。

2025-06-16 16:53:58 909

原创 简单理解Java运行时数据区域(堆、栈、方法区等)

Java虚拟机(JVM)的内存分为多个运行时数据区域:程序计数器(线程私有,记录执行位置,无OOM)、虚拟机栈(存储栈帧,含局部变量表等,会StackOverflow)、本地方法栈(用于Native方法)、堆(共享内存,存储对象实例,GC主战场)、方法区(存储类信息,JDK8后改为元空间)。线程私有区域随线程销毁,共享区域需GC管理。理解这些区域有助于优化性能和诊断内存问题(如OOM)。JVM内存管理不断发展,如方法区从永久代改为元空间,新GC算法降低停顿。

2025-06-16 16:24:15 784

原创 Java队列总结分析

本文介绍了Java中9种常见队列的特性及适用场景,包括LinkedBlockingQueue、DelayQueue、LinkedTransferQueue等阻塞/非阻塞队列。通过示例代码展示队列的典型用法,如LinkedBlockingQueue的生产者-消费者模型、DelayQueue的定时任务处理等。对比了不同队列的边界、线程安全机制和适用场景,并给出选择建议:如需要阻塞操作用LinkedBlockingQueue,延迟任务用DelayQueue,高并发场景用ConcurrentLinkedQueue等

2025-06-13 15:41:54 1121

原创 Redisson + Lettuce 在 Spring Boot 中的最佳实践方案

Redisson与Lettuce共存方案,Lettuce负责基础KV操作(如缓存、会话管理),Redisson处理分布式锁、布隆过滤器等复杂场景,二者分工明确,避免功能重叠。Lettuce轻量高效,适合高并发读写;Redisson提供分布式能力,但资源开销较大。配置时需隔离连接池(Lettuce通过Spring Boot自动配置,Redisson独立配置文件),并监控各自性能指标。

2025-06-12 17:57:02 2032 1

原创 主流Java Redis客户端(Jedis、Lettuce、Redisson)差异对比

Redis Java客户端选型指南摘要 主流Java客户端对比:Jedis采用阻塞I/O,需连接池支持;Lettuce/Redisson基于Netty非阻塞I/O。Jedis轻量但并发能力弱,Lettuce支持10K+并发且为SpringBoot默认,Redisson提供分布式功能但性能稍逊。实测显示Lettuce延迟最低(3.2ms),QPS最高(72k)。选型决策:基础操作选Lettuce,分布式需求用Redisson,旧系统兼容考虑Jedis。推荐版本:Lettuce 6.2+或Redisson 3.

2025-06-12 16:11:49 2350

原创 AI+IDEA最佳摸鱼实践——问题排查

文章摘要:本文介绍了在IDEA中集成通义零码AI插件辅助代码开发的方法,并通过批量鉴权功能优化的实战案例,展示了AI辅助分析问题的实用性。案例中,AI识别出多线程批量处理的5个潜在问题点:内存溢出、线程池耗尽、性能瓶颈、外部资源压力和CountDownLatch性能问题,并给出了分页处理、有界队列配置、CompletableFuture异步处理和缓存优化等解决方案。最终采用分批处理策略,将大数据量分成100一批进行并发处理,有效解决了批量鉴权偶现失败的问题,同时添加了完善的异常处理和日志记录。

2025-06-10 18:00:07 1666

原创 轻松拿捏Java 线程池——四种内置拒绝策略(Rejected Execution Handler)

Java线程池内置四种拒绝策略,当线程池无法接受新任务(工作队列满且线程数达上限)时触发:1)AbortPolicy(默认):抛出RejectedExecutionException,适用于关键任务场景;2)CallerRunsPolicy:由调用线程直接执行被拒任务,保证不丢失但影响调用者性能;3)DiscardPolicy:静默丢弃新任务,适用于可容忍丢失的非关键任务;4)DiscardOldestPolicy:丢弃队列中最旧任务并重试提交,适合最新任务更重要的场景。

2025-06-10 16:24:38 1517

原创 JDK 8、JDK 17和JDK 19综合对比分析

JDK 8、JDK 17和JDK 19在性能、特性、易用性及普及性等方面的综合对比分析,结合了各版本的核心改进和实际应用场景

2025-06-09 17:12:26 423512

原创 Java List实现多业务数据表定制化排序功能

文章摘要:当SQL无法实现特定排序时,可在Java代码中进行。针对MembershipLink对象的排序问题,原方案将整型转为字符串比较导致精度问题。改进方案:1) 使用Collections.sort直接比较整型数值实现降序;2) 采用Stream API进行链式排序。核心修正点:使用Integer.compare()代替字符串转换,调整参数顺序实现降序,并通过Collator支持中文拼音排序。两种方案均优先按sortValue降序,其次按成员名称拼音降序排列,解决了原方案的排序精度问题。

2025-05-29 16:11:07 274

原创 利用Nacos管理本地yaml文件及启动微服务模块

利用Nacos管理本地yaml文件及启动微服务模块之前,IDEA启动微服务各个模块时,都是通过-Dspring.profiles.active=dev(local、sit、uat)指定不同环境参数,启动不同的环境,但是这样存在一个通病:其他团队成员改了yaml、或者自己开发完功能,需要切换远程分支做Chery-pik时,经常存在配置文件上面的代码冲突,需要反复stash,做完代码同步后,在重新应用stash,影响开发效率,甚至一不小心,会将自己本地调整的yaml配置推到远程分支,导致环境出现问题等。

2025-04-22 10:19:15 658

原创 maven构建命令参数: -T 2C

clean install -T 2C -D maven.test.skip=true -D findbugs.skip=true -D checkstyle.skip=true -Dmaven.compile.fork=true:快速构建:跳过测试和静态代码分析,专注于生成最终产物。CI/CD 环境:在持续集成环境中,减少构建时间,提高交付效率。大型项目:通过并行构建和多线程编译,显著缩短构建耗时。

2025-04-21 16:05:56 1164

原创 Cero工具端检入数据至PDM时识别顶层装配体

Cero和PDM集成时,上传图文档时,将顶层图纸标识出;

2025-03-14 10:46:27 944

原创 LeetCode的第75题:颜色分类

LeetCode的第75题:颜色分类。

2025-03-07 09:51:49 325

原创 Stream流Comparator.comparing().thenComparing()实现多字段综合排序

Stream流Comparator.comparing().thenComparing()实现多字段综合排序。很多情况下sql不好解决的多表查询,临时表,尽量用java8新特性stream进行处理,使用java8新特性。

2025-03-03 15:38:33 1480

原创 DeepSeek|基础介绍(及小白快速使用)

DeepSeek基础介绍及使用

2025-02-06 11:56:12 3154

原创 AI是什么?

1.定义:AI是一种通过计算机程序和算法模拟人类智能行为和思维过程的技术。它不仅包括模拟人类的感知、思维、学习和推理等能力,还涉及到机器人技术、自然语言处理、语音识别、图像识别等多个领域。2.核心要素:AI的核心在于其能够模拟人类的智能行为,这依赖于深度学习、机器学习、计算机视觉和自然语言处理等多种技术和算法。通过不断地对大量数据进行迭代训练,AI可以逐渐调整其神经网络的权重和偏置,以实现更准确和高效的识别和决策。

2025-02-06 11:18:53 8357

原创 Java-stream流处理-实现数据分组合并

将下面的数据,根据project_number分组,合并生成一个新的数据结构。按照 project_number 分组,并生成一个新的。

2025-01-14 12:35:48 512

原创 MySQL WITH CTE_Name AS用法学习

‌WITH CTE_Name AS‌是一种在SQL查询中定义临时表表达式(Common Table Expressions,简称CTE)的语法。这种语法可以提高查询的可读性、可重用性和性能。参考:https://blog.csdn.net/weixin_40824135/article/details/136920984参考:https://blog.51cto.com/u_16213357/12176656。

2024-12-09 17:33:46 600

原创 Win11启动Jar包乱码导致的问题及处理

开发程序时,涉及到编码都指定UTF-8,包括文件编码(开发工具,比如idea,设置好整个项目编码)、日志输出时的编码(logbck.xml)jar包在win11的cmd窗口直接运行,程序中涉及中文的数据处理存在问题(不能从数据库查询出数据、保存的数据是乱码等)设置整个jvm环境编码为utf-8:-Dfile.encoding=UTF-8。设置当前win窗口的编码为utf-8:chcp 65001。65001:UTF-8编码。

2024-12-05 11:30:27 2124

原创 MySQL数据库字符编码说明

基础说明日常快速移植项目时,偶尔出现前后端乱码情况(比如前端修改数据保存后,界面回显时乱码),字符乱码排查思路:检查项目本身编码;检查前端部署服务器编码;检查后端部署服务器编码;检查数据库服务器编码;检查数据库本身的一系列编码(个人建议乱码排查,从数据库层面开始)。本文以MySQL数据库字符编码说明为主,不是真实的生产排查场景,只是单纯介绍基本思路!1、命令查询数据库编码show variables like 'character%';执行结果:2、字符详细说明V

2022-05-21 19:49:11 503

原创 按行读取批量日志文件,并将一部分数据写入Excel表格

按行读取批量日志文件,并将一部分数据写入Excel表格前言第一次写博客,也是第一次写读取文件导出为Excel表格的案例,其中去重,我试过很多方法,包括list集合循环去重,双重map去重,数组等,租最后才想到将两个判重的条件拼接作为key,最后导出表格时再遍历取出并截取。所以下面代码中许多注释的内容都是测试所使用的,有兴趣的可以看看,有好的建议可以提出来,一起学习!1.需求Java编写脚本...

2019-03-06 12:06:50 1238 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除