Book Image

Introduction to JVM Languages

By : Vincent van der Leun
Book Image

Introduction to JVM Languages

By: Vincent van der Leun

Overview of this book

Anyone who knows software development knows about the Java Virtual Machine. The Java Virtual Machine is responsible for interpreting Java byte code and translating it into actions. In the beginning, Java was the only programming language used for the JVM. But increasing complexity of the language and the remarkable performance of the JVM created an opening for a new generation of programming languages. If you want to build a strong foundation with the Java Virtual Machine and get started with popular modern programming languages, then this book is for you. The book will begin with a general introduction of the JVM and its features, which are common to the JVM languages, helping you get abreast with its concepts. It will then dive into explaining languages such as Java, Scala, Clojure, Kotlin, and Groovy and will show how to work with each language, their features, use cases, and pros and cons. By writing example projects in those languages and focusing on each language’s strong points, it will help you find the programming language that is most appropriate for your particular needs. By the end of the book, you will have written multiple programs that run on the Java Virtual Machine and know about the differences between the various languages.
Table of Contents (21 chapters)
Title Page
About the Author
About the Reviewer
Customer Feedback

The Vert.x microservice platform

Vert.x is a modern micro web service framework for the JVM platform. It was initially developed by VMWare, but nowadays, it is an Eclipse Foundation project. Vert.x is truly a polyglot framework; its official documentation is available for multiple JVM languages, including Java and Groovy, but also Scala, Kotlin, Nashorn (JavaScript), JRuby, and Ceylon.

Vert.x is all about high performance and scalability, and to achieve this, it uses a model similar to the popular Node.js model, called the asynchronous programming model. In simplified terms, Vert.x has one main event loop that looks for events and, when something happens, it calls the registered event handler in your code that should handle the event. The event handler in your application is expected to return as soon as possible. While your code executes, Vert.x's main event loop will not be able to retrieve new events and handle them.

If all the event handlers in the system can handle events quickly, a single...