Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Java Class Metadata: A User Guide [Presentation]

DZone's Guide to

Java Class Metadata: A User Guide [Presentation]

Check out these slides and video from FOSDEM that cover Java class metadata, how to measure it, and how to reduce its footprint on your app.

· Java Zone ·
Free Resource

Download Microservices for Java Developers: A hands-on introduction to frameworks and containers. Brought to you in partnership with Red Hat.

Last week I presented a talk on the subject of Java Class Metadata at FOSDEM 2018 in the Free Java Room. In my presentation I explained:

  1. What Java Class Metadata is
  2. Why it helps to know about it
  3. What you might do to measure it and reduce the impact of the metadata’s footprint on your Java application

The “too long — didn’t read” summary is:

  1. It’s the model of the loaded class base that Java retains at runtime in order to dynamically load, link, JIT compile, and execute Java code.
  2. Different design choices you make when writing your code can significantly expand or contract the amount of metadata Java needs to retain.
  3. The JVM can give you a breakdown of metadata storage costs for individual structures that model each loaded class, allowing you to weigh and compare the costs of alternative designs.

The video of the talk has been put online by the FOSDEM team. It was limited to 25 minutes, which is enough to get you started, but not enough to explain how to do really fine analysis and tuning. As promised at the start of the talk, I have now published the FOSDEM slides plus the original 4 articles from which the talk was derived. The articles provide an introduction to the topic along with a detailed explanation of how to measure and analyze the JVM stats. Example analyses are included based on the Wildfly code base along with full reference materials listing all of the available stats with advice on how to interpret them.

Please check it out!

Resources:

Download Building Reactive Microservices in Java: Asynchronous and Event-Based Application Design. Brought to you in partnership with Red Hat

Topics:
java ,jit compiler ,jvm ,java performance ,class metadata

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}