Voxxed Days Milano 2019
on Saturday 13 April
I’m a software developer, conference speaker and a disorganizer of JCrete (http://www.jcrete.org/) and JAlba (http://jalba.scot/) unconferences, passionate about concurrency and performance.
See also https://vyazelenko.com
What really happens when your Java program runs? After the transformation from Java source through bytecode and machine code to microcode, and the various optimizations that take place along the way, the instructions that are actually executed may be very different from what you imagined when you wrote the program. This session shows you tools and techniques for tracing that path. You’ll see what a simple program actually looks like when it really hits the hardware.
Is it better to write "" + 42 or Integer.toString(42)? How much memory can you save if you intern() all of your strings? How can String Deduplication reduce your memory footprint and what does it cost? And how much memory will Java 9 Strings save in Bulgaria? What is the maximum length of a constant String? And a dynamic String? How much faster is new StringBuilder().append("Hello ").append(name).toString() than "Hello " + name? What are intrinsics and how do they relate to Strings? Are Strings really immutable? How can you efficiently create substrings? These and many more questions we will answer during this talk.