随笔分类 - Java
摘要:我们可能需要对某些用户的真实数字ID进行加密,让加密后的ID长度还是那么多,又要可恢复,可一眼认出是个加密ID,因此我设计了一种加解密方法,可对8、9位数字ID做加密,加密后的ID长度9位,包含一个字母,其余均是数字,且无法发现加密前后两ID的规律,加密工具如下。 System.out.printl
阅读全文
摘要:用户发信息时我们需要检测某些关键词做处理,因此可以构建一个高效的字典树来做logN级别复杂度的识别 由于关键词配置可能更新,因此作了支持缓存化词库。setCacheableLoadWords 由于可能需要屏蔽某些字符,因此做了支持剔除某些字符。addIgnoreCharacters 支持全匹配 bo
阅读全文
摘要:我本地没有任何要commit 或者push的代码,想把远程主分支代码拉取下来,选择Pull 或者update都出现下面的弹窗,显示你的本地修改将会被merge操作覆盖,请提交或者暂存或者恢复来继续执行merge。而下面窗口却限制No Differences无差别。 解决办法 找到有问题的项目方法:使
阅读全文
摘要:在开发过程中经常会遇到调用一些方法可能收到null 的返回,我们可以使用Optional类来优雅处理 // 当getCount()返回null时会自动返回0且不报错,若使用of创建,遇到null值则会报错 Integer count = Optional.ofNullable(getCount())
阅读全文
摘要:场景:最近写了个StringUtils,继承了org.apache.commons.lang3.StringUtils,在这个蛮好用的字符串工具类上做一些扩展,扩展到toString的时候,我写了一个safeToString方法,传入一个对象,无论你传的是啥都能给你变打印字符串并且不报错,问题就遇到
阅读全文
摘要:java生产环境调试、问题排查神器arthas(阿里出的) Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率
阅读全文
摘要:包名 保证test下的包路径和项目下java的包路径相同 在java路径下放置一个Application /** * 提供给springboot test使用 * @author humorchen * @date 2022/7/27 10:31 */ @SpringBootApplication
阅读全文
摘要:题目 剑指 Offer 45. 把数组排成最小的数 输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 示例 1: 输入: [10,2] 输出: “102” 示例 2: 输入: [3,30,34,5,9] 输出: “3033459” 提示: 0 < num
阅读全文
摘要:在maven加载pom.xml时发生了GC OOM,其实是因为maven分配的默认内存不够,我们可以手动修改下maven内存分配就可以解决一直GC 然后OOM了 importing是导入依赖时的runner是运行时 配置后点击下面重新加载所有maven模块后正常
阅读全文
摘要:加启动参数启用远程调试 springboot jar包启动时加入下面参数开启远程debug -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 本地Idea配置远程调试配置 必须确保本地代码和线上正在运行的代码一
阅读全文
摘要:配置文件在git安装目录下的 etc->profile.d->aliases.sh # 由于windows有空格,会丢后面路径,所以在外面包一个字符串符号 cd '/c/Program Files/Git/etc/profile.d' 编辑该文件 加入自己的自定义命令 例如 alias test='
阅读全文
摘要:文档:json查询文档 示范 查询extDesc字段里的showArea 为0的 extDesc字段里存的值示例 { "showArea":0, "xxxxxx":2 } SQL语句 select * from BankInRecord where JSON_EXTRACT(extDesc,"$.s
阅读全文
摘要:题目 剑指 Offer 34. 二叉树中和为某一值的路径 给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 示例 1: 输入:root = [5,4,8,11,null,13,4,7,
阅读全文
摘要:题目 剑指 Offer 33. 二叉搜索树的后序遍历序列 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。 参考以下这颗二叉搜索树: 5 / \ 2 6 / \ 1 3 示例 1: 输入: [1,6,
阅读全文
摘要:题目 剑指 Offer 32 - III. 从上到下打印二叉树 III 请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。 例如: 给定二叉树: [3,9,20,null,null,15,7], 3
阅读全文
摘要:题目 剑指 Offer 50. 第一个只出现一次的字符 在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。 示例 1: 输入:s = “abaccdeff” 输出:‘b’ 示例 2: 输入:s = “” 输出:’ ’ 限制: 0 <= s 的长度 <= 50
阅读全文
摘要:当我们需要对某个用户做某些开关标记时,我们不会每个开关都建表或者建记录来存的,一般采用二进制位的0/1来标识开关,对用户增加一个开关字段,java类型为long,因此理论可以提供64个用户级开关,一般项目下够用的,对用户开启/关闭某些私人设置时使用。 那我们会定义一个枚举类来罗列我们的用户级开关配置
阅读全文
摘要:题目 剑指 Offer 32 - II. 从上到下打印二叉树 II 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层次遍历结果: [ [3], [9,
阅读全文
摘要:题目 面试题32 - I. 从上到下打印二叉树 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回: [3,9,20,15,7] 提示: 节点总数 <= 1000
阅读全文
摘要:题目 剑指 Offer 39. 数组中出现次数超过一半的数字 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入: [1, 2, 3, 2, 2, 2, 5, 4, 2] 输出: 2 限制: 1 <= 数组长度
阅读全文