Default values for Xmx, Xms, MaxPermSize on non-server-class machines

Default values for JDK 1.6.0_29 on Windows 7/32-bit: -Xmx256m -XX:MaxPermSize=64m Also value of these option can be printed by following command: java -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version 2>&1 Then look for MaxHeapSize and MaxPermSize keys and see default values. uintx InitialHeapSize := 199947456 {product} uintx MaxHeapSize := 268435456 {product} uintx MaxPermSize = 67108864 {pd product} Here … Read more

What is the point of invokeinterface?

Each Java class is associated with a virtual method table that contains “links” to the bytecode of each method of a class. That table is inherited from the superclass of a particular class and extended with regard to the new methods of a subclass. E.g., class BaseClass { public void method1() { } public void … Read more

Font is not available to the JVM with Jasper Reports

I tried installing mscorefonts, but the package was installed and up-to-date. sudo apt-get update sudo apt-get install ttf-mscorefonts-installer I tried searching for the font in the filesystem, with: ls /usr/share/fonts/truetype/msttcorefonts/ This folder just had the README, with the correct instructions on how to install. cat /usr/share/fonts/truetype/msttcorefonts/README You need an internet connection for this: sudo apt-get … Read more

Why is the JVM stack-based and the Dalvik VM register-based?

There are a few attributes of a stack-based VM that fit in well with Java’s design goals: A stack-based design makes very few assumptions about the target hardware (registers, CPU features), so it’s easy to implement a VM on a wide variety of hardware. Since the operands for instructions are largely implicit, the object code … Read more