About the Book
Scala is not Java and Java is not Scala. This may sound obvious, as both languages have different goals and features. They might generate different byte code and even when they do something apparently the same, they might still generate byte code differently. What matters is that at the end of the day you need to understand JVM very well in order to get to the bottom of what is happening, or why something was implemented the way it was. Even in Scala.
This book isn't aiming to be an exhaustive list of what you should know about JVM - that topic is so extensive that you could write a whole book (or books) on that. To meet that requirement you're better of to grab a book on preparing for Java Programmer Certified Professional exam.
The goal of my book is to give you enough knowledge to understand why certain decisions were made by Scala creators and library writers. Why we can do certain things and cannot do other. How it affects functional programming. Give you some general ideas about how things work, so that if you wanted to learn more, you would at least know what to google for.
The book is available as an early access including all the intended content. The author is continuing its editing as he believes that improvements should be driven by the feedback. If you found something that you believe could be done better, feel free to contact the author to help him make the book better for everyone.
The "main" version is PDF while EPUB is experimental, so please consider it a bonus.
About the Author
Mateusz Kubuszok is a software developer. Driven by his long-life curiosity and love for math he specialized in Scala development co-authoring e.g. Chimney library for data transformation and blogging about his findings at his blog, Kubuszok.com. He is an active member of Polish Scala community.