Java 9: Building Robust Modular Applications

Java 9: Building Robust Modular Applications

Author: Dr. Edward Lavieri

Publisher: Packt Publishing Ltd

Published: 2018-04-13

Total Pages: 890

ISBN-13: 1788830709

DOWNLOAD EBOOK

Mastering advanced features of Java and implement them to build amazing projects Key Features Take advantage of Java's new modularity features to write real-world applications that solve a variety of problems Explore the major concepts introduced with Java 9, including modular programming, HTTP 2.0, API changes, and more Get to grips with tools, techniques and best practices to enhance application development Book Description Java 9 and its new features add to the richness of the language; Java is one of the languages most used by developers to build robust software applications. Java 9 comes with a special emphasis on modularity with its integration with Jigsaw. This course is your one-stop guide to mastering the language. You'll be provided with an overview and explanation of the new features introduced in Java 9 and the importance of the new APIs and enhancements. Some new features of Java 9 are ground-breaking; if you are an experienced programmer, you will be able to make your enterprise applications leaner by learning these new features. You'll be provided with practical guidance in applying your newly acquired knowledge of Java 9 and further information on future developments of the Java platform. This course will improve your productivity, making your applications faster. Next, you'll go on to implement everything you've learned by building 10 cool projects. You will learn to build an email filter that separates spam messages from all your inboxes, a social media aggregator app that will help you efficiently track various feeds, and a microservice for a client/server note application, to name just a few. By the end of this course, you will be well acquainted with Java 9 features and able to build your own applications and projects. This Learning Path contains the best content from the following two recently published Packt products: •Mastering Java 9 •Java 9 Programming Blueprints What you will learn Package Java applications as modules using the Java Platform Module System Implement process management in Java using the all-new process handling API Integrate your applications with third-party services in the cloud Interact with mail servers, using JavaMail to build an application that filters spam messages Use JavaFX to build rich GUI-based applications, which are an essential element of application development Leverage the possibilities provided by the newly introduced Java shell Test your application's effectiveness with the JVM harness See how Java 9 provides support for the HTTP 2.0 standard Who this book is for This learning path is for Java developers who are looking to move a level up and learn how to build robust applications in the latest version of Java.


Java 9 Modularity

Java 9 Modularity

Author: Sander Mak

Publisher: "O'Reilly Media, Inc."

Published: 2017-09-07

Total Pages: 309

ISBN-13: 1491954116

DOWNLOAD EBOOK

The upcoming Java 9 module system will affect existing applications and offer new ways of creating modular and maintainable applications. With this hands-on book, Java developers will learn not only about the joys of modularity, but also about the patterns needed to create truly modular and reliable applications. Authors Sander Mak and Paul Bakker teach you the concepts behind the Java 9 module system, along with the new tools it offers. You’ll also learn how to modularize existing code and how to build new Java applications in a modular way. Understand Java 9 module system concepts Master the patterns and practices for building truly modular applications Migrate existing applications and libraries to Java 9 modules Use JDK 9 tools for modular development and migration


The Java Module System

The Java Module System

Author: Nicolai Parlog

Publisher: Simon and Schuster

Published: 2019-06-26

Total Pages: 750

ISBN-13: 1638356246

DOWNLOAD EBOOK

Summary Java's much-awaited "Project Jigsaw" is finally here! Java 11 includes a built-in modularity framework, and The Java Module System is your guide to discovering it. In this new book, you'll learn how the module system improves reliability and maintainability, and how it can be used to reduce tight coupling of system components. Foreword by Kevlin Henney. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. You'll find registration instructions inside the print book. About the Technology Packaging code into neat, well-defined units makes it easier to deliver safe and reliable applications. The Java Platform Module System is a language standard for creating these units. With modules, you can closely control how JARs interact and easily identify any missing dependencies at startup. This shift in design is so fundamental that starting with Java 9, all core Java APIs are distributed as modules, and libraries, frameworks, and applications will benefit from doing the same. About the Book The Java Module System is your in-depth guide to creating and using Java modules. With detailed examples and easy-to-understand diagrams, you'll learn the anatomy of a modular Java application. Along the way, you'll master best practices for designing with modules, debugging your modular app, and deploying to production. What's inside The anatomy of a modular Java app Building modules from source to JAR Migrating to modular Java Decoupling dependencies and refining APIs Handling reflection and versioning Customizing runtime images Updated for Java 11 About the Reader Perfect for developers with some Java experience. About the Author Nicolai Parlog is a developer, author, speaker, and trainer. His home is codefx.org. Table of Contents PART 1 - Hello, modules First piece of the puzzle Anatomy of a modular application Defining modules and their properties Building modules from source to JAR Running and debugging modular applications PART 2 - Adapting real-world projects Compatibility challenges when moving to Java 9 or later Recurring challenges when running on Java 9 or later Incremental modularization of existing projects Migration and modularization strategies PART 3 - Advanced module system features Using services to decouple modules Refining dependencies and APIs Reflection in a modular world Module versions: What's possible and what's not Customizing runtime images with jlink Putting the pieces together


Modular Programming in Java 9

Modular Programming in Java 9

Author: Koushik Kothagal

Publisher: Packt Publishing Ltd

Published: 2017-08-29

Total Pages: 287

ISBN-13: 1787126277

DOWNLOAD EBOOK

Kick-start your modular programming journey and gear up for the future of Java development About This Book Master design patterns and best practices to build truly modular applications in Java 9 Upgrade your old Java code to Java 9 with ease Build and run a smooth functioning multi-module application. Who This Book Is For This book is written for Java developers who are interested in learning and understanding the techniques and best practices to build modular applications in Java. The book assumes some previous programming experience in Java 8 or earlier, familiarity with the basic Java types such as classes and interfaces, as well as experience in compiling and executing Java programs. What You Will Learn Get introduced to the concept of modules and modular programming by working on a fully modular Java application Build and configure your own Java 9 modules Work with multiple modules and establish inter-module dependencies Understand and use the principles of encapsulation, readability, and accessibility Use jlink to generate fully loaded custom runtime images like a pro Discover the best practices to help you write awesome modules that are a joy to use and maintain Upgrade your old Java code to use the new Java 9 module system In Detail The Java 9 module system is an important addition to the language that affects the way we design, write, and organize code and libraries in Java. It provides a new way to achieve maintainable code by the encapsulation of Java types, as well as a way to write better libraries that have clear interfaces. Effectively using the module system requires an understanding of how modules work and what the best practices of creating modules are. This book will give you step-by-step instructions to create new modules as well as migrate code from earlier versions of Java to the Java 9 module system. You'll be working on a fully modular sample application and add features to it as you learn about Java modules. You'll learn how to create module definitions, setup inter-module dependencies, and use the built-in modules from the modular JDK. You will also learn about module resolution and how to use jlink to generate custom runtime images. We will end our journey by taking a look at the road ahead. You will learn some powerful best practices that will help you as you start building modular applications. You will also learn how to upgrade an existing Java 8 codebase to Java 9, handle issues with libraries, and how to test Java 9 applications. Style and Approach The book is a step-by-step guide to understanding Modularity and building a complete application using a modular design.


Java 9 Programming Blueprints

Java 9 Programming Blueprints

Author: Jason Lee

Publisher: Packt Publishing Ltd

Published: 2017-07-27

Total Pages: 458

ISBN-13: 1786464446

DOWNLOAD EBOOK

Build a variety of real-world applications by taking advantage of the newest features of Java 9 About This Book See some of the new features of Java 9 and be introduced to parts of the Java SDK This book provides a set of diverse, interesting projects that range in complexity from fairly simple to advanced and cover HTTP 2.0 Take advantage of Java's new modularity features to write real-world applications that solve a variety of problems Who This Book Is For This book is for Java developers who are already familiar with the language. Familiarity with more advanced topics, such as network programming and threads, would be helpful, but is not assumed. What You Will Learn Learn how to package Java applications as modules by using the Java Platform Module System Implement process management in Java by using the all-new process handling API Integrate your applications with third-party services in the cloud Interact with mail servers using JavaMail to build an application that filters spam messages Learn to use JavaFX to build rich GUI based applications, which are an essential element of application development Write microservices in Java using platform libraries and third-party frameworks Integrate a Java application with MongoDB to build a cloud-based note taking application In Detail Java is a powerful language that has applications in a wide variety of fields. From playing games on your computer to performing banking transactions, Java is at the heart of everything. The book starts by unveiling the new features of Java 9 and quickly walks you through the building blocks that form the basis of writing applications. There are 10 comprehensive projects in the book that will showcase the various features of Java 9. You will learn to build an email filter that separates spam messages from all your inboxes, a social media aggregator app that will help you efficiently track various feeds, and a microservice for a client/server note application, to name a few. The book covers various libraries and frameworks in these projects, and also introduces a few more frameworks that complement and extend the Java SDK. Through the course of building applications, this book will not only help you get to grips with the various features of Java 9, but will also teach you how to design and prototype professional-grade applications with performance and security considerations. Style and approach This is a learn-as-you-build practical guide to building full-fledged applications using Java 9. With a project-based approach, we'll improve your Java skills. You will experience a variety of solutions to problems with Java.


Java 9 Modularity Unveiled: Crafting Scalable Applications

Java 9 Modularity Unveiled: Crafting Scalable Applications

Author: Peter Jones

Publisher: Walzone Press

Published: 2024-10-21

Total Pages: 187

ISBN-13:

DOWNLOAD EBOOK

Dive into the nuanced world of Java 9 modularity with our comprehensive guide, "Java 9 Modularity Unveiled: Crafting Scalable Applications." This indispensable resource is crafted for developers and architects aiming to master the modular system introduced in Java 9, offering a detailed exploration of creating, maintaining, and evolving modular Java applications. From setting up a modular environment and understanding module declarations to advanced techniques and migration strategies, this book covers all the essential topics. Each chapter unfolds with examples, practical scenarios, and in-depth analysis to transform theory into actionable insights, making complex concepts accessible. Whether you're aiming to upgrade existing applications or build efficient new systems, this book is your go-to roadmap for leveraging Java’s modularity features to construct scalable, maintainable, and high-performing applications. Embrace modularity to enhance code readability, improve system agility, and stay ahead in the evolving landscape of Java development.


Java 9 Programming By Example

Java 9 Programming By Example

Author: Peter Verhas

Publisher: Packt Publishing Ltd

Published: 2017-04-26

Total Pages: 503

ISBN-13: 1786464519

DOWNLOAD EBOOK

Get the steps you need to discover the world of Java 9 programming using real-world examples About This Book We bridge the gap between “learning” and “doing” by providing real-world examples that will improve your software development Our example-based approach will get you started quickly with software programming, get you up-to-speed with Java 9, and improve your Java skills This book will show you the best practices of Java coding and improve your productivity Who This Book Is For 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 Learn Compile, package and run a trivial program using a build management tool Get to know the principles of test-driven development and dependency management Separate the wiring of multiple modules from the application logic into an application using dependency injection Benchmark Java execution using Java 9 microbenchmarking See the workings of the Spring framework and use Java annotations for the configuration Master the scripting API built into the Java language and use the built-in JavaScript interpreter Understand static versus dynamic implementation of code and high-order reactive programming in Java In Detail This 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 approach Throughout 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.


Mastering Java 11

Mastering Java 11

Author: Dr. Edward Lavieri

Publisher: Packt Publishing Ltd

Published: 2018-09-27

Total Pages: 451

ISBN-13: 1789138930

DOWNLOAD EBOOK

Update your Java knowledge with the latest features of Java 11, such as the low-Overhead Garbage Collector, Local-Variable Syntax for Lambda Parameters, and Dynamic Class-File Constants Key FeaturesExplore the latest features in Java 9,Java 10, and Java 11Enhance your Java application development and migration approaches Full coverage of modular Java applications, G1 Garbage Collector, JMHBook Description Java 11 is a long-term release and its new features add to the richness of the language. It emphasizes variable-type inference, performance improvements, along with simplified multithreading. The Java platform has a special emphasis on modularity, making this the programming platform of choice for millions of developers. The modern Java platform can be used to build robust software applications, including enterprise-level and mobile applications. Fully updated for Java 11, this book stands to help any Java developer enjoy the richness of the Java programming language. Mastering Java 11 is your one-stop guide to fully understanding recent Java platform updates. It contains detailed explanations of the recent features introduced in Java 9, Java 10, and Java 11 along with obtaining practical guidance on how to apply the new features. As you make your way through the chapters, you'll discover further information on the developments of the Java platform and learn about the changes introduced by the variable handles and Project Coin, along with several enhancements in relation to import statements processing. In the concluding chapters, you'll learn to improve your development productivity, making your applications more efficient. You'll also be able to get to grips with the command-line flags with respect to various utilities and the command-line utility changes featured in the current Java platform. By the end of the book, you'll have obtained an advanced level understanding of the Java platform and its recent changes. What you will learnWrite modular Java applicationsMigrate existing Java applications to modular onesUnderstand how the default G1 garbage collector worksLeverage the possibilities provided by the newly introduced Java ShellPerformance test your application effectively with the JVM harnessLearn how Java supports the HTTP 2.0 standardFind out how to use the new Process APIExplore the additional enhancements and features of Java 9, 10, and 11Who this book is for Mastering Java 11 is for experienced Java developers with a solid understanding of the Java language and want to progress to an advanced level.


Java 9 for Programmers

Java 9 for Programmers

Author: Paul Deitel

Publisher: Prentice Hall

Published: 2017-05-16

Total Pages: 2652

ISBN-13: 0134778154

DOWNLOAD EBOOK

The professional programmer’s Deitel® guide to Java® 9 and the powerful Java platform Written for programmers with a background in another high-level language, this book applies the Deitel signature live-code approach to teaching programming and explores the Java® 9 language and APIs in depth. The book presents concepts in fully tested programs, complete with code walkthroughs, syntax shading, code highlighting and program outputs. It features hundreds of complete Java 9 programs with thousands of lines of proven code, and hundreds of software-development tips that will help you build robust applications. Start with an introduction to Java using an early classes and objects approach, then rapidly move on to more advanced topics, including JavaFX GUI, graphics, animation and video, exception handling, lambdas, streams, functional interfaces, object serialization, concurrency, generics, generic collections, database with JDBCTM and JPA, and compelling new Java 9 features, such as the Java Platform Module System, interactive Java with JShell (for discovery, experimentation and rapid prototyping) and more. You’ll enjoy the Deitels’ classic treatment of object-oriented programming and the object-oriented design ATM case study, including a complete Java implementation. When you’re finished, you’ll have everything you need to build industrial-strength, object-oriented Java 9 applications. New Java® 9 Features Java® 9’s Platform Module System Interactive Java via JShell—Java 9’s REPL Collection Factory Methods, Matcher Methods, Stream Methods, JavaFX Updates, Using Modules in JShell, Completable Future Updates, Security Enhancements, Private Interface Methods and many other language and API updates. Core Java Features Classes, Objects, Encapsulation, Inheritance, Polymorphism, Interfaces Composition vs. Inheritance, “Programming to an Interface not an Implementation” Lambdas, Sequential and Parallel Streams, Functional Interfaces with Default and Static Methods, Immutability JavaFX GUI, 2D and 3D Graphics, Animation, Video, CSS, Scene Builder Files, I/O Streams, XML Serialization Concurrency for Optimal Multi-Core Performance, JavaFX Concurrency APIs Generics and Generic Collections Recursion, Database (JDBCTM and JPA) Keep in Touch Contact the authors at: [email protected] Join the Deitel social media communities LinkedIn® at bit.ly/DeitelLinkedIn Facebook® at facebook.com/DeitelFan Twitter® at twitter.com/deitel YouTubeTM at youtube.com/DeitelTV Subscribe to the Deitel ® Buzz e-mail newsletter at www.deitel.com/newsletter/subscribe.html For source code and updates, visit: www.deitel.com/books/Java9FP


Distributed Computing in Java 9

Distributed Computing in Java 9

Author: Raja Malleswara Rao Pattamsetti

Publisher: Packt Publishing Ltd

Published: 2017-06-30

Total Pages: 294

ISBN-13: 1787122735

DOWNLOAD EBOOK

Explore the power of distributed computing to write concurrent, scalable applications in Java About This Book Make the best of Java 9 features to write succinct code Handle large amounts of data using HPC Make use of AWS and Google App Engine along with Java to establish a powerful remote computation system Who This Book Is For This book is for basic to intermediate level Java developers who is aware of object-oriented programming and Java basic concepts. What You Will Learn Understand the basic concepts of parallel and distributed computing/programming Achieve performance improvement using parallel processing, multithreading, concurrency, memory sharing, and hpc cluster computing Get an in-depth understanding of Enterprise Messaging concepts with Java Messaging Service and Web Services in the context of Enterprise Integration Patterns Work with Distributed Database technologies Understand how to develop and deploy a distributed application on different cloud platforms including Amazon Web Service and Docker CaaS Concepts Explore big data technologies Effectively test and debug distributed systems Gain thorough knowledge of security standards for distributed applications including two-way Secure Socket Layer In Detail Distributed computing is the concept with which a bigger computation process is accomplished by splitting it into multiple smaller logical activities and performed by diverse systems, resulting in maximized performance in lower infrastructure investment. This book will teach you how to improve the performance of traditional applications through the usage of parallelism and optimized resource utilization in Java 9. After a brief introduction to the fundamentals of distributed and parallel computing, the book moves on to explain different ways of communicating with remote systems/objects in a distributed architecture. You will learn about asynchronous messaging with enterprise integration and related patterns, and how to handle large amount of data using HPC and implement distributed computing for databases. Moving on, it explains how to deploy distributed applications on different cloud platforms and self-contained application development. You will also learn about big data technologies and understand how they contribute to distributed computing. The book concludes with the detailed coverage of testing, debugging, troubleshooting, and security aspects of distributed applications so the programs you build are robust, efficient, and secure. Style and approach This is a step-by-step practical guide with real-world examples.