Java
最近在用java写一个手游脚本框架,采用识图的方式处理脚本逻辑。与安卓手机的交互的话最方便的可能就是ADB了。可以用命令行的方式操作ADB,但这显然太麻烦且编码困难,尝试过自己封装但是封装的不太好,经过搜索,发现有Google自己做的一个包ddmlib,专门用来操作ADB,从建立连接到各种命令都非常
2021-03-17
411 views
14 min read
生命周期一个类型从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期将会经历加载 (Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化 (Initialization)、使用(Using)和卸载(Unloading)七个
2020-04-09
502 views
2 min read
首先从垃圾回收说起,当发生GC时,需要从方法区或本地变量表等地方获取GC Roots,但如果是单纯的遍历查找的话是非常亏的,GC发生时本身就停止了所有的线程,不能让这一操作耗费太多的时间。HotSpot为优化GC Roots的查找,采用了OopMap这一数据结构,一旦类加载动作完成的时候,HotSp
2020-04-07
934 views
1 min read
参考当Java处在偏向锁、重量级锁状态时,hashcode值存储在哪?由上图可以看出来,HotSpot VM 为了优化空间,复用了对象头的一部分空间,不免产生一个疑问:当对象头处于锁定状态时,其对象哈希码、分代年龄、偏向模式等数据又存放在哪里了呢?偏向锁当一个对象已经计算过identity hash
2020-04-04
1,567 views
2 min read