刷新
jvm~jvm配置与系统配置的关系

博主头像 一 生产环境问题描述 keycloak是运行在jboss上面,并且部署到了容器里,在k8s上面进行编排,现在遇到gc在某个时刻垃圾回收速度变慢,CPU接近100%,容器导致存活探针失败,容器最后重启 二 问题分析与解决方案 这是一个典型的 JVM GC 问题导致的容器重启场景。让我分析一下你的配置和 ...

动态规划

博主头像 什么是动态规划 动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。 所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的, 例如:有N件物品和一个最多能背重量为W 的背 ...

剑指offer-55、链表中环的⼊⼝节点

博主头像 题⽬描述 给⼀个链表,若其中包含环,请找出该链表的环的⼊⼝结点,否则,输出null 。 例如,输⼊{1,2},{3,4,5} 时,对应的环形链表如下图所示: 可以看到环的⼊⼝结点的结点值为3,所以返回结点值为3的结点。 给定的链表节点的结构: public class ListNode { int ...

MyBatis踩坑实录:那些不报错但让你debug到深夜的Bug

博主头像 说实话,MyBatis这玩意儿平时挺好用的,但有时候报的错真让人摸不着头脑。尤其是那种本地跑得好好的,一上线就炸的Bug,简直让人怀疑人生。今天就记录两个让我debug到深夜的坑,它们都有个共同特点:代码看起来完全没问题,但运行时就是莫名其妙地报错。 ...

剑指offer-54、字符流中第一个不重复的字符

博主头像 题⽬描述 请实现⼀个函数⽤来找出字符流中第⼀个只出现⼀次的字符。例如,当从字符流中只读出前两个字符" go "时,第⼀个只出现⼀次的字符是" g "。当从该字符流中读出前六个字符“ google "时,第⼀个只出现⼀次的字符是" l "。 返回值描述:如果当前字符流没有存在出现⼀次的字符,返回 # ...

剑指offer-53、表达数值的字符串

博主头像 题⽬描述 请实现⼀个函数⽤来判断字符串str是否表示数值(包括科学计数法的数字,⼩数和整数)。科学计数法的数字(按顺序)可以分成以下⼏个部分: 若⼲空格 ⼀个整数或者⼩数 (可选)⼀个 ' e ' 或 ' E ' ,后⾯跟着⼀个整数(可正可负) 若⼲空格 ⼩数(按顺序)可以分成以下⼏个部分: 若⼲空 ...

Web层接口通用鉴权注解实践(基于JDK8)

博主头像 背景 目前我负责的一个公司内部Java应用,其Web层几乎没有进行水平鉴权,存在着一定的风险,比如A可以看到不属于他的B公司的数据。最近公司进行渗透测试,将这个风险暴露出来,并将修复提上了议程。 由于Web层的接口很多,我希望能用一种较为通用易于接入的方式来完成这个工作。很容易就想到了通过注解方式进 ...

LogParser-LLM 前缀树算法实现

博主头像 根据 LogParser-LLM 的架构设计,前缀树(Prefix Tree / Prefix Parse Tree)的核心目标是作为高速缓存,拦截 99% 的重复日志模式,仅在无法“严格匹配”时才调用 LLM。以下是基于论文描述的 Java 实现方案。该实现涵盖了核心数据结构设计、日志匹配逻辑(S ...

递归与分治算法

博主头像 递归算法 递归算法(Recursion Algorithm)是一种重要的编程方法,核心思想是函数通过调用自身来解决问题。在递归中,一个复杂的问题被分解为相同类型但规模更小的子问题,直到达到一个简单到可以直接解决的基本情况(基准情况)。递归算法特别适合解决具有自相似结构的问题,时间复杂度跟递归深度和每 ...

WebSocket 的使用

博主头像 WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,允许服务器和客户端之间进行实时双向通信。 基本使用 1. 创建 WebSocket 连接 // 创建 WebSocket 连接 const socket = new WebSocket('ws://localhost:8080') ...

剑指offer-52、正则表达式匹配

博主头像 题⽬描述 请实现⼀个函数⽤来匹配包括' . '和' * '的正则表达式。模式中的字符' . '表示任意⼀个字符, ⽽' * '表示它前⾯的字符可以出现任意次(包含0 次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串" aaa "与模式" a.a "和" ab*ac*a "匹配,但 ...

剑指offer-51、构建乘积数组

博主头像 题⽬描述 给定⼀个数组A[0,1,...,n-1] ,请构建⼀个数组B[0,1,...,n-1] ,其中B 中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1] 。不能使⽤除法。(注意:规定B[0] =A[1] * A[2] * ... * A[n-1],B ...

剑指offer-50、数组中重复的数字

博主头像 题目描述 在⼀个⻓度为 n 的数组⾥的所有数字都在 0 到n-1 的范围内。 数组中某些数字是重复的,但不知 道有⼏个数字是重复的。也不知道每个数字重复⼏次。请找出数组中第⼀个重复的数字。 例如,如果输⼊⻓度为 7 的数组 [2,3,1,0,2,5,3] ,那么对应的输出是第⼀个重复的数字 2 。没 ...

MyBatis 扩展BaseTypeHandler 转换泛型 JSON 列表

博主头像 最近发现一个mybatis里面json转换的bug, 写了这么多年Java这方面还是没有理清楚, 把正确的处理方法记录一下. 一. 对象JSON转换 这个是比较简单的情况, 有通用的处理方法, 例如 用Jackson实现一个通用的 TypeHandler @Slf4j public class Ja ...

字符串匹配算法

博主头像 Rabin-Karp算法 Rabin-Karp算法是一种基于哈希函数的字符串匹配算法,由 Michael O. Rabin 和 Richard M. Karp 于1987年提出,核心思想是用哈希函数将模式串和文本串中的子串转换为数值进行比较,避免大量不必要的字符比较。这个算法特别适合多模式串匹配场景 ...

<1···111213···35>