Three tables for storing class information in JVM

Source: Internet
Author: User

From: Chapter 3 of Java Performance

Internal class loading data

The hotspot VM maintains three hash tables to track class loading.
SystemDictionaryContains 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.
PlaceholderTableContains 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.
LoaderConstraintTableTracks 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.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.