1. jamvm采用纯ansi c编写,首先根据参数来确定分配一块heap区,然后所有的object在这里面分配。等于所有分配的内存都控制在这块heap区,就算有overflow之类都可以catch住。 2. 里面heap有一个链表类的结构来将object串起来,目前这块还在分析中。 typedef struct object Class; typedef struct object {   uintptr_t lock;   Class *class;} Object; typedef struct classblock { 。。。。 } ClassBlock; 以前没想通为什么这两个结构要分开写,而不是放在一起,刚弄明白了, java中都是引用,真正的对像才是ClassBlock,这个可以被多个Class来指向。所以分开存放才伤得起。  
posted on 2011-07-15 11:30  杂草丛  阅读(655)  评论(0编辑  收藏  举报