OpenJDK JRE vs HotSpot JVM? ObjectSizeCalculator only works with HotSpot

0

There is a class in the java ext classes that computes object sizes but it only works with the HotSpot JVM. jdk.nashorn.internal.ir.debug.ObjectSizeCalculator
https://stackoverflow.com/a/39406536
https://stackoverflow.com/questions/52353/in-java-what-is-the-best-way-to-determine-the-size-of-an-object#comment84178865_39406536

What is the status of HotSpot? It took me a while to figure out that the error mesage was due to the JVM version:
java.lang.NoClassDefFoundError: Could not initialize class jdk.nashorn.internal.ir.debug.ObjectSizeCalculator$CurrentLayout

This would be very useful with spark RDDs during debug...

asked 6 years ago407 views
1 Answer
0

I'm still curious about HotSpot but a different way to solve this is something like this using openjdk jol project:

import org.openjdk.jol

val l = List(1,2,3)

// Convert Any into AnyRef: https://stackoverflow.com/a/23892913
val jo = l.asInstanceOf[AnyRef]
val gl = jol.info.GraphLayout.parseInstance(jo)
gl.totalSize()
answered 6 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions