Inter‐JVM Sharing. (18th December 2015) - Richard, Adam; Nguyen, Lai; Shipton, Peter; Kent, Kenneth B.; Bierbrauer, Azden; Nasartschuk, Konstantin; Dombrowski, Marcel
Summary: Some Java programs lend themselves to being run many times and create the same fixed objects every time. Many of these common objects areStrings . To exploit this trend, we have modified IBM's J9 Java virtual machine (JVM) to allow the sameString objects to share (reuse) their internal char[] (character) arrays in each JVM. The first instance of the Java program runs to completion and then sets up theStrings for sharing, so that subsequent instances of the same program can use the char[] arrays that it created instead of recreating them. String sharing will not provide benefit in all applications, but for those that fit the pattern, as exemplified by the Eclipse and H2 benchmarks, we were able to achieve significant heap saving with negligible impact on performance. Copyright © 2015 John Wiley & Sons, Ltd.