花隐间

花隐间

言归文字外,意出有无间

Scroll Down
置顶
Java线上解决方案系列目录

Java线上解决方案系列目录

从事游戏行业多年,一直使用Java做开发,不可避免的就经历了许多,其中也踩过不少坑。最早的游戏是不支持热更的,导致出了BUG就必须停服;后续项目引入热更,但也不是特别完美,再往后热更升级,引入第二版:动态加载子类热更;受第二版热更方式启发,后来又加入了线上动态代码执行,主要用于规整数据

2021-11-09
155 0
线上动态代码执行

线上动态代码执行

在项目上线之后,不可避免的会遇到出BUG的情况。之前的做法可能是提前写好一段代码,然后通过后台接口来进行调用。但这种方式必须得提前写好规整逻辑,但不能覆盖所有情况。因此我们就期望直接在线上执行一段代码,来进行我们业务数据的规整。

2021-11-20
91 0
JAVA热更新2:动态加载子类热更

JAVA热更新2:动态加载子类热更

上一篇《JAVA热更新1:Agent热更》我们讲解了JDK提供的Agent方式来实现代码不停服更新,受限于JDK的Agent一些限制,这种方式无法实现以下功能:只能修改方法体,不能变更方法签名、不能增加和删除方法/类的成员属性。对于Instrumentation和JVM的agent...

2021-11-05
152 0
读书笔记:深入理解Java虚拟机

读书笔记:深入理解Java虚拟机

去年花了一段时间阅读了《深入理解Java虚拟机》周志明版。读之前记得有一段评论说,这本书是Java虚拟机里面写的最经典的一本。整体读下来感觉评论还算中肯,这种理论型的书,一般看起来都会感觉枯燥乏味,但周志明这版逻辑清晰,叙述部分生动。尽管与平时业务开发不太相关,有些理论看起来还有点难以理解

2021-11-01
223 4
Mac上编译OpenJDK9源码

Mac上编译OpenJDK9源码

为什么编译可调式的OpenJdk源码学习一段时间JAVA之后,关于Java方面的知识总还能找到解决办法,但是一旦涉及到虚拟机,有的时候就茫然无头绪,不知道如何去解决,此时就需要一个可调试的虚拟机代码。同时想要更好的了解虚拟机原理,自己编译一个可debug的JVM则必不可少,本文就是介绍在mac上自己

2021-10-30
168 0
JAVA热更新1:Agent方式热更

JAVA热更新1:Agent方式热更

线上问题的解决一直是java程序员头疼的一个问题。有的应用很敏感,例如游戏行业,可能需要做到1个月都不能停服,那线上问题出了问题怎么办呢?谁也不能保证更新线上的逻辑百分百不出问题,这就需要我们在不停应用的情况下在线解决。随着技术的逐渐成熟,java社区也逐渐提供了一些线上解决方案。

2021-10-30
221 0