我正在处理爆炸图像,并且注意到如果我们运行爆炸图像,ClassPathEntry
就是ignored。就是这样:
ClassPathEntry* new_entry = create_class_path_entry(path, &st, false, false, CHECK);
// Check for a jimage
if (Arguments::has_jimage()) {
assert(_jrt_entry == NULL, "should not setup bootstrap class search path twice");
assert(new_entry != NULL && new_entry->is_modules_image(), "No java runtime image present");
_jrt_entry = new_entry;
assert(_jrt_entry->jimage() != NULL, "No java runtime image");
}
可以看出,如果图像爆炸了,我们将忽略堆分配的指针。它不是资源,因此不会被ResourceMark
析构函数回收。
目的是什么?或者,运行爆炸图像时是否丢失了几个字节根本无关紧要。