JVM源码研读1

 enum MetadataType {
    ClassType,
    NonClassType,
    MetadataTypeCount
  };
  enum MetaspaceType {
    StandardMetaspaceType,
    BootMetaspaceType,
    ROMetaspaceType,
    ReadWriteMetaspaceType,
    AnonymousMetaspaceType,
    ReflectionMetaspaceType
  };

 

java垃圾回收是一个水位回收机制

high_mem_level:

low_mem_level

一个java进程的虚拟空间类的初始空间表示

end()--->虚拟内存的空间最高位置

top()----> 一个类的最高位置

bottom()---->一个类的最低位置

end() 用于标记类的非法访问

 

 

虚拟机中类必须是如下六中类型的类的子类:

1、ResourceObj--分配在资源区的对象 。保存虚拟机中的临时数据结构,实际分配的内存要结合本地线程

2、CheapObj--- 分配在C-heap的对象

3、 StackObj---分配在栈中的对象

4、ValueObj --- 内部类

5、AllStatic -- 用于命名空间的类

6、MetaspaceObj -- 所用的类数据

 

import 引入的包名在报名就具体解析了

class AllStatic {
 public:
  AllStatic()  { ShouldNotCallThis(); }
  ~AllStatic() { ShouldNotCallThis(); }
};

class AllStatic {
 public:
  void* operator new(size_t size) throw();
  void operator delete(void* p);
};

默认的虚表的项目数量为17,默认虚函数的数量为200

默认的虚表函数16,默认虚函表函数的代码大小为1*K

 

 

你可能感兴趣的:(JVM)