Tuning the JVM for Performance: 10 Optimizations Every Developer Should Know