首页 » 标签存档: codereading

Tag Archives: codereading

JVM源码阅读-Dalvik类的加载

 

前言 本文主要研究Android dalvik虚拟机加载类的流程和机制。目的是了解Android中DEX文件结构,虚拟机如何从DEX文件中加载一个Java Class,以及到最终如何初始化这个类直至可被正常使用。​ [Java]类的加载 在Java的世界里,所 … 阅读全文

Google Breakpad 学习

 

一. BreakPad简介 Google breakpad是一个跨平台的崩溃转储和分析框架和工具集合。 Breakpad由三个主要组件: client,以library的形式内置在你的应用中,当崩溃发生时写 minidump文件 symbol dumper, … 阅读全文

【源码解读】lua源码分析之编译器部分

 
3

lua虚拟机简介 lua作为嵌入式脚本语言,具有轻量、性能高,与宿主语言无缝接入等优点,现已广泛应用于各个领域,包括游戏服务器、甚至web服务器部分组件也已接入lua,例如nginx+lua作为接入服务器portal,已经应用的较为成熟了。 两个阶段 lua虚 … 阅读全文

【源码解读】mono内存管理及gc源码阅读

 

简介 Mono支持内存自动回收,因为MONO集成了内存回收算法。在1.X到2.X的版本中,MONO集成了贝母内存管理及回收算法;而在3.X或更高版本中,则开始启用SGEN内存管理及回收算法。本周研究了2.6.X版本的BOEHM(贝母)的内存管理及GC算法部分代 … 阅读全文

【源码解读】luajit源码入门

 

简介 luajit也是lua代码的一款虚拟机,相比较原生lua虚拟机而言,其优势为性能优越,同时支持ffi,能非常方便的集成C语言实现的模块,而这在原生lua虚拟机中集成需要编写较多的接口代码。 背景 最近尝试使用luaprofiler工具来测试lua层代码的 … 阅读全文

【源码解读】lua源码分析之编译器部分I(lua编译表达式)

 

研究目的 对当前项目写的lua代码最终生成的操作码,和可能执行的C操作有一个大体的了解,为后续实现高效的代码及代码优化做准备; 了解不同的代码书写方式可能产生的执行效率差异,比如频繁使用全局变量造成的额外开销,对table的错误访问方式造成的额外数组扩展(如果 … 阅读全文