代码改变世界

静态字段引用的对象为什么不会被GC回收

2019-07-17 11:54 by chen.simon, 1660 阅读, 0 推荐, 收藏, 编辑
摘要:示例代码 staticField1 字段引用Team的对象,Team对象肯定不会被GC回收,但是这是为什么? 静态字段是不是GC ROOT,如果不是那是谁 将代码跑起来,并将堆dump下来,借助MAT分析。 在Histogram视图找到Team实例: ![步骤1][step 1] 然后 右键找到的T 阅读全文

编译hotspot8

2019-07-16 22:56 by chen.simon, 640 阅读, 0 推荐, 收藏, 编辑
摘要:编译hotspot8 ubuntu desktop 18 全新准备与编译过程再记录下: 解压调试符号包并调试: 配合CDT使用,爽的飞起。 阅读全文

对象创建

2019-07-16 12:04 by chen.simon, 527 阅读, 0 推荐, 收藏, 编辑
摘要:对象创建 interpreterRuntime.cpp 解释器中new指令的入口: 关于对象直接转unsigned char指针的写法,在codeBlob.hpp中有很多这种写法,最简单的示例如下: cpp IRT_ENTRY(void, InterpreterRuntime::_new(JavaT 阅读全文

虚拟机解释器与bytecode对接

2019-07-05 23:27 by chen.simon, 544 阅读, 0 推荐, 收藏, 编辑
摘要:心头一直有个疑问,jvm虚拟是如何对接class中的字节码的?或者说在未进入 JIT优化阶段时,解释器是如何对接的? 大概阐述 hotspot通过C++代码在堆上申请一块空间,向里面填充一组指令,然后把这块空间当成一个函数,通过函数指针去调用刚生成的代码。是不是666,是不是哇超酷毙了。 关键代码 阅读全文

C++中将对象this转换成unsigned char指针

2019-07-05 23:23 by chen.simon, 530 阅读, 0 推荐, 收藏, 编辑
摘要:示例程序 cpp // CodeBlob.h ifndef CODEBLOB_H_ define CODEBLOB_H_ class CodeBlob { private: const char _name; int _size; public: CodeBlob(); void printName 阅读全文

函数调用与汇编指令的关系

2019-07-05 23:22 by chen.simon, 1341 阅读, 0 推荐, 收藏, 编辑
摘要:写一段简单的C代码分析其背后与汇编指令的关系 最近在看hotspot的代码,hotspot解释器会将字节码翻译成汇编指令,所以要先复习下这个基础 这篇讲的太泛了,看 "这篇吧,是一步一步有图对应的" C代码 gcc编译验证执行结果: gcc编译成汇编代码 汇编代码如下: 汇编用到的一些寄存器及一些指 阅读全文

log4j2用Log4jContextSelector启动参数配置全局异步日志是如何使用disruptor

2019-06-08 11:28 by chen.simon, 2364 阅读, 0 推荐, 收藏, 编辑
摘要:与 log4j2用asyncRoot配置异步日志是如何使用disruptor 差异有几个: 给disruptor实例的EventFactory不同 此处EventFactory采用的是RingBufferLogEvent.FACTORY,newInstance逻辑大致是: 创建的是 实例。该对象封装 阅读全文

log4j2用asyncRoot配置异步日志是如何使用disruptor

2019-06-08 11:11 by chen.simon, 10669 阅读, 0 推荐, 收藏, 编辑
摘要:用 配置对应的对接disruptor类是 ,用 启动参数配置全局异步的对应的对接disruptor类是 。下面分析的是 disruptor的创建与启动需要的部件实现 方法用来创建并启动 实例 创建disruptor需要 ,`ringBuffer的大小 ThreadFactory ProducerTy 阅读全文

log4j2异步日志配置及官方文档的问题澄清

2019-06-02 19:50 by chen.simon, 4270 阅读, 0 推荐, 收藏, 编辑
摘要:配置及demo 方法一全部打开 加启动参数 DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector 启动参数的这个key有点说法: 按官方文档说明 "http://logging.apa 阅读全文

uReplicator实现分析

2019-05-31 08:29 by chen.simon, 1012 阅读, 0 推荐, 收藏, 编辑
摘要:MirrorMakerWorker分析 是整个同步机制的主入口,主要组织的逻辑有: 配置数据的传入与处理,ConsumerConfig对象的构建 度量对象的准备,定时上报的度量数据收集线程的定义与启动 CompactConsumerFetcherManager实例的创建与startConnectio 阅读全文
上一页 1 2 3 4 5 6 7 8 ··· 21 下一页