JOL 0.3
Aleksey Shipilev
aleksey.shipilev at oracle.com
Thu Jan 15 17:10:15 UTC 2015
Hi,
JOL 0.3 is released and available at Maven Central (thanks to Evgeny
Mandrikov, as always!). This is a maintenance release, and it includes a
few experimental features. Please give them a try, and report your
experience back.
Summary of changes:
* JOL now has an experimental HotSpot Serviceability Agent (SA)
support. At this point, we use SA to figure out the actual compressed
references information from the running VM. This is much more accurate
than guessing the compressed references base and shift, especially in
non-trivial compressed references modes. SA support can be skipped with
"-Djol.skipHotspotSAInit=true". Thanks goes to Serkan Ozal for this
contribution:
https://bugs.openjdk.java.net/browse/CODETOOLS-7901247
* JOL now tries to self-attach the Java Agent to get the
Instrumentation API without forcing user to start the VM with
-javaagent. This dynamic behavior can be disabled with
"-Djol.skipDynamicAttach=true". Thanks to Rafael Winterhalter for this
contribution:
https://bugs.openjdk.java.net/browse/CODETOOLS-7901220
* We now also provide the synthetic data model with a given object
alignment. This is useful in simulations, and "estimates" now uses the
16-byte alignment as additional case. Change:
https://bugs.openjdk.java.net/browse/CODETOOLS-7901112
* CLI tools are now trying to invoke private constructors in addition
to public constructors when they need a sample instance. Volker Simonis
had contributed a simple patch for this:
https://bugs.openjdk.java.net/browse/CODETOOLS-7901238
* String Compression estimator that we use for "More memory-efficient
internal representation for Strings":
$ jol-cli.jar string-compress *.hprof
https://bugs.openjdk.java.net/browse/JDK-8054307
* CLI tools are now merged under the single executable JAR
(jol-cli.jar). This helps to copy and use the uberjar on remote
machines, and also we can attach it (in fact, we do) to the artifacts on
Maven Central -- so people can pull the uberjar and run it right away.
Change:
https://bugs.openjdk.java.net/browse/CODETOOLS-7901252
* Bug: "estimates" mistreated arrays as ordinary classes, and therefore
the footprint estimate was wrong. This bug was affecting the CLI tools,
not the library itself:
https://bugs.openjdk.java.net/browse/CODETOOLS-7901131
Additionally, JOL project page is updated to reflect the current status:
http://openjdk.java.net/projects/code-tools/jol/
Enjoy!
Thanks,
-Aleksey.
More information about the jol-dev
mailing list