摘要:
说说为啥写本文 春节假前,生产环境(基于Kubernetes的PaaS平台OpenShift)出现使用健康检测探针报错,但应用Pod并未下线的情况,导致服务卡住(某一节点死锁,Service总是负载均衡到此节点)。 查了OpenShift官方文档对此并无提及,在 Kubernetes 官方仓库的 I 阅读全文
摘要:
写在前边 自Gradle 5开始添加了Maven中 BOM 的支持。然而Gradle 6 以前,想使用BOM,需要使用 Maven 定义并发布 pom.xml 才可以。 好在 Gradle 6 开始,官方提供了一个名为 java-platform 插件,无需复杂配置,即可生成 BOM 并发布,本文就 阅读全文
摘要:
写在前边 简单介绍下:如何在Jenkins等CI环境中使用Npm访问需要认证的仓库。 使用 npm login 交互式的输入用户名、密码、邮箱的方式不适合CI环境,使用延迟输入、管道重定向、expect 命令等方式,需要对安装软件或者在仓库响应慢的情况下,也容易登录失败。 本文将带你使用 authT 阅读全文
摘要:
写作目标 Java程序运行过程中,难免会出现 OOM,往往是在 JVM 启动参数中添加出现 OOM 时输出堆 dump(又名:堆转储、堆快照)的参数,就在昨天下午我司生产环境出现 OOM,生成的堆 dump 有 16 个G,压缩后传回本地,想分析时犯了难——本地开发机 16G 内存,用 MAT 打不 阅读全文
摘要:
写在前边 写这篇文章主要是记录下,很久之前读《重构-改善既有代码的设计》时,看到过作者讲过Git可以实现多个细碎操作commit合并为一个有意义的提交,当时查过一些中文信息,写得不是很清晰。正巧有一个Git管理的脚本仓库需要大量修改,尝试践行下书中的内容:完成一小部分功能就作一次本地commit,直 阅读全文
摘要:
前言 上篇文章已经介绍了JVM的垃圾回收算法与收集器的实现,垃圾回收算法的基石是引用可达性分析,引用的概念就显得尤为重要,本文就再谈一谈引用。 一、引用是什么? Java中的引用相当于C语言中的指针,通过指针/引用可以定位到另一块内存地址中保存的数据,两者的不同点在于C语言中的指针分配的内存需要程序 阅读全文
摘要:
前言 本文是笔者JVM系列的第二篇文章,尽我所能将Java堆的分代、垃圾收集算法与垃圾收集器讲出来,如果阅读过程中遇到突然出现的术语,请先参考【七、术语参考】,如文中有错误或表述不准确的地方,感谢评论指出。 一、垃圾回收概念 对象分配内存在堆上,当对象不再使用,它们就变成了垃圾,需要被清理以释放内存 阅读全文
摘要:
前言 作为一名 Java 语言的使用者,学习 JVM 有助于解决程序运行过程中出现的问题、写出性能更高的代码。 可以说:学好 JVM 是成为中高级 Java 工程师的必经之路。 有感于从未整理归纳 JVM 相关的知识,所以打算写一系列 JVM 相关的文章,以加深巩固习得成果,为后续遗忘提供快速找回之 阅读全文