Every new version of Java is important, but Java 8 is a game changer. Java 8 in Action is a clearly written guide to the new features of Java 8. It begins with a practical introduction to lambdas, using real-world Java code. Next, it covers the new Streams API and shows how you can use it to make collection-based code radically easier to understand and maintain. It also explains other major Java 8 features including default methods, Optional, CompletableFuture, and the new Date and Time API. This book is written for programmers familiar with Java and basic OO programming. What's Inside How to use Java 8's powerful new featuresWriting effective multicore-ready applicationsRefactoring, testing, and debuggingAdopting functional-style programmingQuizzes and quick-check questions About the Authors Raoul-Gabriel Urma is a software engineer, speaker, trainer, and PhD candidate at the University of Cambridge. Mario Fusco is an engineer at Red Hat and creator of the lambdaj library. Alan Mycroft is a professor at Cambridge and cofounder of the Raspberry Pi Foundation. Table of Contents PART 1 FUNDAMENTALSJava 8: why should you care?Passing code with behavior parameterizationLambda expressionsPART 2 FUNCTIONAL-STYLE DATA PROCESSINGIntroducing streamsWorking with streamsCollecting data with streamsParallel data processing and performancePART 3 EFFECTIVE JAVA 8 PROGRAMMINGRefactoring, testing, and debuggingDefault methods Using Optional as a better alternative to null CompletableFuture: composable asynchronousprogrammingNew Date and Time APIPART 4 BEYOND JAVA 8Thinking functionallyFunctional programming techniquesBlending OOP and FP: comparing Java 8 and Scala Conclusions and where next for JavaAPPENDIXESMiscellaneous language updatesMiscellaneous library updatesPerforming multiple operations in parallelon a streamLambdas and JVM bytecode
Explore the latest Java-based software development techniques and methodologies through the project-based approach in this practical guide. Unlike books that use abstract examples and lots of theory, Real-World Software Development shows you how to develop several relevant projects while learning best practices along the way. With this engaging approach, junior developers capable of writing basic Java code will learn about state-of-the-art software development practices for building modern, robust and maintainable Java software. You'll work with many different software development topics that are often excluded from software develop how-to references. Featuring real-world examples, this book teaches you techniques and methodologies for functional programming, automated testing, security, architecture, and distributed systems.
This book is a collection of original research papers that focus on recent developments in Spatial Analysis and Modelling with direct relevance to settlements and infrastructure. Topics include new types of data (such as simulation data), applications of methods to support decision-making, and investigations of human-environment data in order to recognize significance for structures, functions and processes of attributes. Research incorporated ranges from theoretical through methodological to applied work. It is subdivided into four main parts: the first focusing on the research of settlements and infrastructure, the second studies aspects of Geographic Data Mining, the third presents contributions in the field of Spatial Modelling, System Dynamics and Geosimulation, and the fourth part is dedicated to Multi-Scale Representation and Analysis. The book is valuable to those with a scholarly interest in spatial sciences, urban and spatial planning, as well as anyone interested in spatial analysis and the planning of human settlements and infrastructure. Most of the selected papers were originally presented at the “International Land Use Symposium (ILUS 2015): Trends in Spatial Analysis and Modelling of Settlements and Infrastructure” November 11-13 2015, in Dresden, Germany.
A practical guide to building modern single-page applications with Angular and Java EE
Author: Prashant Padmanabhan
Publisher: Packt Publishing Ltd
Learn how to build high-performing enterprise applications using Java EE powered by Angular at the frontend Key Features Leverage Java EE 8 features to build robust backend for your enterprise applications Use Angular to build a single page frontend and combine it with the Java EE backend A practical guide filled with ample real-world examples Book Description The demand for modern and high performing web enterprise applications is growing rapidly. No more is a basic HTML frontend enough to meet customer demands. This book will be your one-stop guide to build outstanding enterprise web applications with Java EE and Angular. It will teach you how to harness the power of Java EE to build sturdy backends while applying Angular on the frontend. Your journey to building modern web enterprise applications starts here! The book starts with a brief introduction to the fundamentals of Java EE and all the new APIs offered in the latest release. Armed with the knowledge of Java EE 8, you will go over what it's like to build an end-to-end application, configure database connection for JPA, and build scalable microservices using RESTful APIs running in Docker containers. Taking advantage of the Payara Micro capabilities, you will build an Issue Management System, which will have various features exposed as services using the Java EE backend. With a detailed coverage of Angular fundamentals, the book will expand the Issue Management System by building a modern single page application frontend. Moving forward, you will learn to fit both the pieces together, that is, the frontend Angular application with the backend Java EE microservices. As each unit in a microservice promotes high cohesion, you will learn different ways in which independent units can be tested efficiently. Finishing off with concepts on securing your enterprise applications, this book is a handson guide for building modern web applications. What you will learn Write CDI-based code in Java EE 8 applications Build an understanding of microservices and what they mean in a Java EE context Employ Docker to build and run microservice applications Use configuration optionsto work effectively with JSON documents Handle asynchronous task and write RESTAPI clients Set the foundation for working on Angular projects with the fundamentals of TypeScript Learn to use Angular CLI to add and manage new features Secure Angular applicationsusing malicious attacks adopting JSON Web tokens Who this book is for This book is for Java EE developers who would like to build modern enterprise web applications using Angular. No knowledge of Angular is required.
If you’re a developer with core Java SE skills, this hands-on book takes you through the language changes in Java 8 triggered by the addition of lambda expressions. You’ll learn through code examples, exercises, and fluid explanations how these anonymous functions will help you write simple, clean, library-level code that solves business problems. Lambda expressions are a fairly simple change to Java, and the first part of the book shows you how to use them properly. Later chapters show you how lambda functions help you improve performance with parallelism, write simpler concurrent code, and model your domain more accurately, including building better DSLs. Use exercises in each chapter to help you master lambda expressions in Java 8 quickly Explore streams, advanced collections, and other Java 8 library improvements Leverage multicore CPUs and improve performance with data parallelism Use techniques to “lambdify” your existing codebase or library code Learn practical solutions for lambda expression unit testing and debugging Implement SOLID principles of object-oriented programming with lambdas Write concurrent applications that efficiently perform message passing and non-blocking I/O
From lambda expressions and JavaFX 8 to new support for network programming and mobile development, Java 8 brings a wealth of changes. This cookbook helps you get up to speed right away with hundreds of hands-on recipes across a broad range of Java topics. You’ll learn useful techniques for everything from debugging and data structures to GUI development and functional programming. Each recipe includes self-contained code solutions that you can freely use, along with a discussion of how and why they work. If you are familiar with Java basics, this cookbook will bolster your knowledge of the language in general and Java 8’s main APIs in particular. Recipes include: Methods for compiling, running, and debugging Manipulating, comparing, and rearranging text Regular expressions for string- and pattern-matching Handling numbers, dates, and times Structuring data with collections, arrays, and other types Object-oriented and functional programming techniques Directory and filesystem operations Working with graphics, audio, and video GUI development, including JavaFX and handlers Network programming on both client and server Database access, using JPA, Hibernate, and JDBC Processing JSON and XML for data storage Multithreading and concurrency