源码 JDK1.8 HashMap 总结 HashMap 是无论在工作还是面试中都非常常见常考的数据结构。比如 Leetcode 第一题 Two Sum 的某种变种的最优解就是需要用到 HashMap 的,高频考题 LRU Cache 是需要用到 LinkedHashMap 的。 随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。 2019-09-19 浏览(503) 评论(1) 阅读全文
中间件 rapid-lang-mask Java 客户端使用手册 数据脱敏的最基本原则就是要去掉数据中的敏感信息,保证数据安全,这是对数据脱敏工作最基本的要求。有效性要求经过数据脱敏处理后,原始信息中包含的敏感信息已被移除,无法通过处理后的数据得到敏感信息;或者需通过巨大经济代价、时间代价才能得到敏感信息,其成本已远远超过数据本身的价值。此外,在处理敏感信息时,应注意根据原始数据的特点和应用场景,选择合适的脱敏方法。 2019-04-04 浏览(2,280) 评论(2) 阅读全文
排查项目CPU过高的问题 ## 引起 cpu 高的原因 * 病毒与攻击 + 一些病毒可以在系统内部迅速复制,强行占用大量CPU资源 * 死锁或者占用大量CPU的循环逻辑代码。该问题看代 2020-07-14 浏览(523) 评论(0) 问题排查 阅读全文
Spring Boot 中 logback 读取application.properties 中的属性 spring, logback 2022-06-13 浏览(13) 评论(0) 代码片段 阅读全文
centos系统服务器打开终端很慢, 并显示 abrt-cli status timedout 1、ssh连接经常失败。 2、登录的时候非常卡。 3、登录成功后,会出现一个提示“abrt-cli status timed out” 4、登录成功后输入命令行卡顿,慢动作。 2021-11-11 浏览(80) 评论(0) 你问我答 阅读全文
介绍一款部署简便,应用场景多元化的日志追踪服务 程序运行的日志是一个必不可少的东西,可能是一些系统信息,比如 gc 的情况;可能是一些正常的模块处理信息,比如最近更新的配置;还可能是一些在程序运行中,我们不希望出现的错误所带来的信息。通过日志,可以知道我们的程序是不是在正常地运行,看到错误日志,我们还需要利用日志排查错误。 我们知道日志如此重要,并乐于记录日志,然而在发现并解决问题的过程中,日志并没有想象中的高效率。 2021-09-30 浏览(68) 评论(0) 中间件 阅读全文
Apollo配置中心动态刷新日志级别:原理解析 在Spring Boot应用启动,运行到Spring容器的生命周期节点(扩展点)时,Spring会发出一些通知事件,例如ApplicationStartingEvent、ApplicationEnvironmentPreparedEvent、ApplicationPreparedEvent等等,让我们可以有机会监听这些事件,并且进行相应的处理。 2021-09-26 浏览(495) 评论(1) 架构 阅读全文
Apollo配置中心动态刷新日志级别 你是否碰到过如下场景: 在测试环境未发现的BUG,上了生产环境之后偶现,但同样由于缺少调试信息,无法定位问题。 调用内部服务、第三方服务,在某些case下系统未按预期运行,排查代码后怀疑是被依赖方返回了错误的数据导致,但苦于打印Response的日志为DEBUG,没有证据。 在以前的解决方案是,将日志级别改成DEBUG并上个线,排查完问题之后,再将日志级别改回INFO 2021-09-16 浏览(72) 评论(0) 代码片段 阅读全文
Nginx 代理 Nginx 服务器的反向代理服务是其最常用的重要功能,由反向代理服务也可以衍生出很多与此相关的 Nginx 服务器重要功能,比如负载均衡。 在Java设计模式中,代理模式是这样定义的:**给某个对象提供一个代理对象,并由代理对象控制原对象的引用。 2021-09-09 浏览(89) 评论(0) 中间件 阅读全文
Nginx 配置文件解读 # nginx配置文件主要分为六个区域: 核心区域 # main(全局设置) 作用域是全局 # events(nginx工作模式) # upstream(负载均衡服务器设置) # http(http设置) # sever(主机设置) # location(URL匹配) 2021-09-06 浏览(101) 评论(0) 中间件 阅读全文