Premium
Inter‐JVM Sharing
Author(s) -
Richard Adam,
Nguyen Lai,
Shipton Peter,
Kent Kenneth B.,
Bierbrauer Azden,
Nasartschuk Konstantin,
Dombrowski Marcel
Publication year - 2016
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/spe.2379
Subject(s) - computer science , java , heap (data structure) , exploit , reuse , ibm , operating system , programming language , string (physics) , scala , oracle , just in time compilation , computer security , ecology , materials science , physics , quantum mechanics , biology , nanotechnology
Summary Some Java programs lend themselves to being run many times and create the same fixed objects every time. Many of these common objects are Strings . To exploit this trend, we have modified IBM's J9 Java virtual machine (JVM) to allow the same String 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 the Strings 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.