JVM中存储类信息的三个表格

摘自:《Java Performance》第三章

Internal Class Loading Data

The HotSpot VM maintains three hash tables to track class loading. The SystemDictionary contains loaded classes, which maps a class name/class loader pair to a klassOop. The SystemDictionary contains both class name/initiating loader pairs and class name/defining loader pairs. Entries are currently only removed at a safepoint. Safepoints are described in more detail in the “VM Operations and Safepoints” section later in the chapter. The PlaceholderTable contains classes that are currently being loaded. It is used for  ClassCircularityError checking and for parallel class loading for class loaders that support multithreaded class loading. The LoaderConstraintTable tracks constraints for type safety checking. These hash tables are all guarded by a lock; in the HotSpot VM it is called the SystemDictionary_lock. In general, the load class phase in the HotSpot VM is serialized using the Class loader object lock.

转载于:https://www.cnblogs.com/jubincn/p/3381096.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值