This book is for anyone who wants to learn the Java programming language. You are expected to have some prior programming experience with another language, such as JavaScript or Python, but no knowledge of earlier versions of Java is assumed.
What You Will LearnCompile, package and run a trivial program using a build management toolGet to know the principles of test-driven development and dependency managementSeparate the wiring of multiple modules from the application logic into an application using dependency injectionBenchmark Java execution using Java 9 microbenchmarkingSee the workings of the Spring framework and use Java annotations for the configurationMaster the scripting API built into the Java language and use the built-in JavaScript interpreterUnderstand static versus dynamic implementation of code and high-order reactive programming in JavaIn DetailThis book gets you started with essential software development easily and quickly, guiding you through Java's different facets. By adopting this approach, you can bridge the gap between learning and doing immediately. You will learn the new features of Java 9 quickly and experience a simple and powerful approach to software development. You will be able to use the Java runtime tools, understand the Java environment, and create Java programs.
We then cover more simple examples to build your foundation before diving to some complex data structure problems that will solidify your Java 9 skills. With a special focus on modularity and HTTP 2.0, this book will guide you to get employed as a top notch Java developer.
By the end of the book, you will have a firm foundation to continue your journey towards becoming a professional Java developer.
Style and approachThroughout this book, our aim is to build Java programs. We will be building multiple applications ranging from simpler ones to more complex ones. Learning by doing has its advantages as you will immediately see the concepts explained in action.
Peter Verhas is a senior software engineer and software architect having electrical engineering and economics background from TU Budapest (MsC) and PTE Hungary (MBA), and also studied at TU Delft and TU Vienna. He created his first programs in 1979, and since then he has authored several open source programs. He has worked in several positions in the telecommunications and finance industries and was the CIO of the Hungarian start-up index.hu during its early days. Peter works for EPAM Systems in Switzerland, participating in software development projects at various customer sites, and he supports talent acquisition by interviewing candidates, training programs for developers, and internal mentoring programs. You can follow Peter on Twitter at @verhas, LinkedIn, and GitHub, or read his technical blog, Java Deep, at http://javax0.wordpress.com.