Is this fact fully transparent to a Scala developer or does basic understanding of the platform can be beneficial? Can we squeeze full potential out of our code? Are we aware of limits of our runtime environment? This talk will try to answer those questions.
- we will show how Scala code is transformed to bytecode and what that implies
- we will try to answer the question why @tailrec matters
- we will look at the organization of the JVM memory
- we will understand how different GC algorithms work
- we will see if different GC algorithm can change performance of our code
- we will look at toolkits located at JAVA_HOME/bin/
- we will try to scratch a surface of JIT :)
This is basic introduction to the topic. We will not show you how compiler works internally :) But we will try to give you general overview of internals of the platform that you use on a daily basis.
YOU MAY ALSO LIKE:
Know your platform. 7 things every Scala developer should know about JVM
Paul Szulc is primarily a programmer. Always was and always will be. Experienced professionally in JVM ecosystem, currently having tons of fun with Scala, Clojure and Haskell. By day working on (not that) BigData problems with Akka Stream & Apache Spark, by night hacking whatever he finds interesting at that given moment. Humble apprentice of Functional Programming.
Software engineer really interested in everything around and underneath Java Virtual Machine and Java low latency. Works for financial institution by day, big fan of clean functional code by night:)