神农和朋友们的杂文集

其他

了解一下,Android 10中的ART虚拟机(5)

Method-BasedJIT:以Java方法为单位,将其编译成机器码。右边有一个VM执行这样一个java方法的流程图。先跳转到JIT-compile,编译完成后将机器码地址挂过去....
其他

了解一下,Android 10中的ART虚拟机(4)

有两种执行机制,一个是编译执行,一个是解释执行。今天这篇文章先讲解释执行机制。JVM解释执行机制都有一个通用的代码框架,如上图右边中的循环所示。这个循环有个专业名称叫“dispatching
其他

了解一下,Android 10中的ART虚拟机(3)

ART中不允许直接保存这指针,所以弄了一个ObjectPtr数据结构,这个数据结构里reference_(uintptr_t类型,可以存下一个指针,不管是64位还是32位)。
其他

了解一下,Android 10中的ART虚拟机(2)

--write-invocation-to=out/soong/generic_x86_64/dex_apexjars/system/framework/x86_64/apex.invocation
其他

了解一下,Android 10中的ART虚拟机(I)

profman大家应该不陌生,就是生成性能profile的。然后机器码生成的时候能根据profile做有针对性的生成,而不是一股脑都生成。基于profile的机器码生成有个专业术语,叫Profile
其他

关于线程和I/O模型的极简知识

Queue①(任务队列,其实和上面说的消息队列没什么区别,这些个名词不过是“在什么山头唱什么歌”的忠实拥趸)。根据前面的生产者/消费者模型,如何让线程池里的线程动起来就不用再解释了吧?