• Complain

Nick Samoylov - Java: High-Performance Apps with Java 9

Here you can read online Nick Samoylov - Java: High-Performance Apps with Java 9 full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 2018, publisher: Packt Publishing, genre: Computer. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

Nick Samoylov Java: High-Performance Apps with Java 9

Java: High-Performance Apps with Java 9: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Java: High-Performance Apps with Java 9" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

Optimize the powerful techniques of Java 9 to boost your applications performance

About This Book

  • Tackle all kinds of performance-related issues and streamline your development
  • Dive into the new features of Java 9
  • Implement highly efficient and reliable codes with the help of new APIs of Java
  • Embedded with assessments that will help you revise the concepts you have learned in this book

Who This Book Is For

This book is targeted at developers who would like to build reliable and high-performance applications with Java.

What You Will Learn

  • Familiarize with modular development and its impact on performance
  • Learn various string-related performance improvements, including compact string and modify string concatenation
  • Explore various underlying compiler improvements, such as tiered attribution and Ahead-of-Time (AOT) compilation
  • Learn security manager improvements
  • Understand enhancements in graphics rasterizers
  • Use of command-line tools to speed up application development
  • Learn how to implement multithreading and reactive programming
  • Build microservices in Java 9
  • Implement APIs to improve application code

In Detail

Java 9 which is one of the most popular application development languages. The latest released version Java 9 comes with a host of new features and new APIs with lots of ready to use components to build efficient and scalable applications. Streams, parallel and asynchronous processing, multithreading, JSON support, reactive programming, and microservices comprise the hallmark of modern programming and are now fully integrated into the JDK.

This book focuses on providing quick, practical solutions to enhance your applications performance. You will explore the new features, APIs, and various tools added in Java 9 that help to speed up the development process. You will learn about jshell, Ahead-of-Time (AOT) compilation, and the basic threads related topics including sizing and synchronization. You will also explore various strategies for building microservices including container-less, self-contained, and in-container.

This book is ideal for developers who would like to build reliable and high-performance applications with Java.

This book is embedded with useful assessments that will help you revise the concepts you have learned in this book.

Style and approach

This book is a fast-paced guide that provides practical solutions to enhance your applications performance.

Note: This book is a blend of text and quizzes, all packaged up keeping your journey in mind. It includes content from the following Packt product:

  • Java 9 High Performance by Mayur Ramgir and Nick Samoylov

Downloading the example code for this book You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

Nick Samoylov: author's other books


Who wrote Java: High-Performance Apps with Java 9? Find out the surname, the name of the author of the book and a list of all author's works by series.

Java: High-Performance Apps with Java 9 — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Java: High-Performance Apps with Java 9" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make
Appendix A. Assessment Answers
Lesson 1: Learning Java 9 Underlying Performance Improvements

Question Number

Answer

tool

True

Lesson 2: Tools for Higher Productivity and Faster Application

Question Number

Answer

Ahead-of-Time

False

Lesson 3: Multithreading and Reactive Programming

Question Number

Answer

calculateAverageSqrt()

False

RxJava

Lesson 4: Microservices

Question Number

Answer

Vertx

False

1,2

True

Lesson 5: Making Use of New APIs to Improve Your Code

Question Number

Answer

java.util.streams.Stream

True

True

Chapter 1. Learning Java 9 Underlying Performance Improvements

Just when you think you have a handle on lambdas and all the performance-related features of Java 8, along comes Java 9. What follows are several of the capabilities that made it into Java 9 that you can use to help improve the performance of your applications. These go beyond byte-level changes like for string storage or garbage collection changes, which you have little control over. Also, ignore implementation changes like those for faster object locking, since you don't have to do anything differently and you automatically get these improvements. Instead, there are new library features and completely new command-line tools that will help you create apps quickly.

In this lesson, we will cover the following topics:

  • Modular development and its impact on performance
  • Various string-related performance improvements, including compact string and indify string concatenation
  • Advancement in concurrency
  • Various underlying compiler improvements, such as tiered attribution and Ahead-of-Time ( AOT ) compilation
  • Security manager improvements
  • Enhancements in graphics rasterizers
Introducing the New Features of Java 9

In this lesson, we will explore many under the cover improvements to performance that you automatically get by just running your application in the new environment. Internally, string changes also drastically reduce memory footprint requirements for times when you don't need full-scale Unicode support in your character strings. If most of your strings can be encoded either as ISO-8859-1 or Latin-1 (1 byte per character), they'll be stored much more efficiently in Java 9. So, let's dive deep into the core libraries and learn the underlying performance improvements.

Modular Development and Its Impact

In software engineering, modularity is an important concept. From the point of view of performance as well as maintainability, it is important to create autonomous units called modules . These modules can be tied together to make a complete system. The modules provides encapsulation where the implementation is hidden from other modules. Each module can expose distinct APIs that can act as connectors so that other modules can communicate with it. This type of design is useful as it promotes loose coupling, helps focus on singular functionality to make it cohesive, and enables testing it in isolation. It also reduces system complexity and optimizes application development process. Improving performance of each module helps improving overall application performance. Hence, modular development is a very important concept.

I know you may be thinking, wait a minute, isn't Java already modular? Isn't the object-oriented nature of Java already providing modular operation? Well, object-oriented certainly imposes uniqueness along with data encapsulation. It only recommends loose coupling but does not strictly enforce it. In addition, it fails to provide identity at the object level and also does not have any versioning provision for the interfaces. Now you may be asking, what about JAR files? Aren't they modular? Well, although JARs provide modularization to some extent, they don't have the uniqueness that is required for modularization. They do have a provision to specify the version number, but it is rarely used and also hidden in the JAR's manifest file.

So we need a different design from what we already have. In simple terms, we need a modular system in which each module can contain more than one package and offers robust encapsulation compared to the standard JAR files.

This is what Java 9's modular system offers. In addition to this, it also replaces the fallible classpath mechanism by declaring dependencies explicitly. These enhancements improve the overall application performance as developers can now optimize the individual self-contained unit without affecting the overall system.

This also makes the application more scalable and provides high integrity.

Let's look at some of the basics of the module system and how it is tied together. To start off with, you can run the following commands to see how the module system is structured:

$java --list-modules
If you are interested in a particular module you can simply add the module - photo 1

If you are interested in a particular module, you can simply add the module name at the end of the command, as shown in the following command:

$java --list-modules java.base
The earlier command will show all the exports in packages from the base module - photo 2

The earlier command will show all the exports in packages from the base module. Java base is the core of the system.

This will show all the graphical user interface packages. This will also show requires which are the dependencies:

$java --list-modules java.desktop
So far so good right Now you may be wondering I got my modules developed but - photo 3

So far so good, right? Now you may be wondering, I got my modules developed but how to integrate them together? Let's look into that. Java 9's modular system comes with a tool called JLink . I know you can guess what I am going to say now. You are right, it links a set of modules and creates a runtime image. Now imagine the possibilities it can offer. You can create your own executable system with your own custom modules. Life is going to be a lot more fun for you, I hope! Oh, and on the other hand, you will be able to control the execution and remove unnecessary dependencies.

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Java: High-Performance Apps with Java 9»

Look at similar books to Java: High-Performance Apps with Java 9. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «Java: High-Performance Apps with Java 9»

Discussion, reviews of the book Java: High-Performance Apps with Java 9 and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.