Java Language Features


Book Description

Work with essential and advanced features of the Java programming language such as Java modules development, lambda expressions (closures), inner classes, threads, I/O, Collections, garbage collection, and more. Author Kishori Sharan provides over 50 diagrams and 290 complete programs to help you visualize and better understand the topics covered in this book. Java Language Features, Second Edition starts with a series of chapters on the essential language features provided by Java, including annotations, reflection, and generics. These topics are then complemented by details of how to use lambda expressions, allowing you to build powerful and efficient Java programs. The chapter on threads follows this up and discusses everything from the very basic concepts of a thread to the most advanced topics such as synchronizers, the fork/join framework, and atomic variables. This book contains unmatched coverage of Java NIO, the Stream API, the Path API, the FileVisitor API, the watch service, and asynchronous file I/O. With this in-depth knowledge, your data- and file-management programs will be able to take advantage of every feature of Java's powerful I/O framework and much more. Additionally, three appendices are available for free via the Download Source Code on apress.com. These appendices will give you a head start on the most important features of Java 10 and the new Java versioning scheme. What You’ll Learn Use essential and advanced features of the Java language Code Java annotations and inner classes Work with reflection, generics, and threads Take advantage of the garbage collector Manage streams with the Stream API Who This Book Is For Those new to Java programming and continues the learning Java journey; it is recommended that you read an introductory Java programming book first, such as Beginning Java Fundamentals, from Apress.




Beginning Java 8 Language Features


Book Description

Beginning Java 8 Language Features covers essential and advanced features of the Java programming language such as the new lambda expressions (closures), inner classes, threads, I/O, Collections, garbage collection, streams, and more. Author Kishori Sharan provides over 60 diagrams and 290 complete programs to help you visualize and better understand the topics covered in this book. The book starts with a series of chapters on the essential language features provided by Java, including annotations, inner classes, reflection, and generics. These topics are then complemented by details of how to use lambda expressions, allowing you to build powerful and efficient Java programs. The chapter on threads follows this up and discusses everything from the very basic concepts of a thread to the most advanced topics such as synchronizers, the fork/join framework, and atomic variables. This book contains unmatched coverage of Java I/O, including NIO 2.0, the Path API, the FileVisitor API, the watch service and asynchronous file I/O. With this in-depth knowledge, your data- and file-management programs will be able to take advantage of every feature of Java's powerful I/O framework. Finally, you'll learn how to use the Stream API, a new, exciting addition to Java 8, to perform aggregate operations on collections of data elements using functional-style programming. You'll examine the details of stream processing such as creating streams from different data sources, learning the difference between sequential and parallel streams, applying the filter-map-reduce pattern, and dealing with optional values.




What's New in Java 8


Book Description

Java 8 is a giant step forward for the Java language. In Project Lambda, Java gets a new closure syntax (lambda expressions), method-references, and default and static methods on interfaces. It manages to add many of the features of functional languages without losing the clarity and simplicity Java developers have come to expect. In addition, many of the existing Java core library classes have been enhanced with the new Streams API. This book will help you understand Java 8, including: Project Lambda, the new Date-Time API, Streams, default methods, the Nashorn Javascript engine, and more.




Programming Scala


Book Description

Get up to speed on Scala, the JVM language that offers all the benefits of a modern object model, functional programming, and an advanced type system. Packed with code examples, this comprehensive book shows you how to be productive with the language and ecosystem right away, and explains why Scala is ideal for today's highly scalable, data-centric applications that support concurrency and distribution. This second edition covers recent language features, with new chapters on pattern matching, comprehensions, and advanced functional programming. You’ll also learn about Scala’s command-line tools, third-party tools, libraries, and language-aware plugins for editors and IDEs. This book is ideal for beginning and advanced Scala developers alike. Program faster with Scala’s succinct and flexible syntax Dive into basic and advanced functional programming (FP) techniques Build killer big-data apps, using Scala’s functional combinators Use traits for mixin composition and pattern matching for data extraction Learn the sophisticated type system that combines FP and object-oriented programming concepts Explore Scala-specific concurrency tools, including Akka Understand how to develop rich domain-specific languages Learn good design techniques for building scalable and robust Scala applications




The Java Programming Language


Book Description

Restructured to deliver in-depth coverage of Java's critical new features, this guide contains code examples to help developers make the most of new Java features. It offers a creator's eye view of the rationale behind Java's design, and its latest enhancements, all designed to help developers make the most of Java's power, portability, and flexibility.




More Java 17


Book Description

Work with the essential and advanced features of the Java 17 release. This book covers features such as annotations, reflection, and generics. These topics are then complemented by details of how to use lambda expressions, allowing you to build powerful and efficient Java programs. Furthermore, added to this edition you'll find topics on network programming, Java RMI, the process API, and custom runtime images. The authors provide a multitude of diagrams and complete programs to help you visualize and better understand the topics covered in this book. More Java 17, Third Edition starts with a series of chapters on the essential language features provided by Java before moving on to Java module development and packaging, and improved interop with other languages. After reading this book, you'll have the know-how of a professional Java programmer and be able to tackle most projects with confidence. This book's source code can be accessed at github.com/Apress/more-java-17. What You Will Learn Use essential and advanced features of the Java language Code Java annotations Work with reflection and generics Manage streams with the Stream API Who This Book Is For Those new to Java programming who are continuing the Java learning journey; it is recommended that you read an introductory Java programming book first, such as Java 17 for Absolute Beginners, from Apress.




Core Java 2


Book Description

Java 2.0 makes major improvements in areas that are critical to sophisticated developers. This book includes expert guidance on the basics of Java 2 multithreading, networking, database connectivity, remote objects, JavaBeans, and security.




CodeNotes for Java


Book Description

CodeNotes provides the most succinct, accurate, and speedy way for a developer to ramp up on a new technology or language. Unlike other programming books, CodeNotes drills down to the core aspects of a technology, focusing on the key elements needed in order to understand it quickly and implement it immediately. It is a unique resource for developers, filling the gap between comprehensive manuals and pocket references. CodeNotes for Java: Intermediate and Advanced Language Features will introduce the reader with a grasp of basic Java to advanced object oriented design techniques, collections, I/O, multi-threaded applications, internationalization and more. Experienced Java programmers will also benefit from the numerous examples, tips and tricks and design notes that explain why these Java features are fundamentally important to every development effort. This edition of CodeNotes includes: -A global overview of a technology and explanation of what problems it can be used to solve -Real-world examples -"How and Why," and "Bugs and Caveats" sections that provide hints, tricks, workarounds, and tips on what should be taken advantage of or avoided -"Design Notes" illustrating many of the common use patterns for Java programs -Instructions and classroom-style tutorials throughout from expert trainers and software developers Visit www.codenotes.com for updates, source code templates, access to message boards, and discussion of specific problems with CodeNotes authors and other developers. Every CodeNotes title is written and reviewed by a team of commercial software developers and technology experts. See "About the Authors" at the beginning of the book for moreinformation.




The Java Tutorial


Book Description

The Java®Tutorial, Fifth Edition, is based on Release 7 of the Java Platform Standard Edition. This revised and updated edition introduces the new features added to the platform, including a section on NIO.2, the new file I/O API, and information on migrating legacy code to the new API. The deployment coverage has also been expanded, with new chapters such as “Doing More with Rich Internet Applications” and “Deployment in Depth,” and a section on the fork/join feature has been added to the chapter on concurrency. Information reflecting Project Coin developments, including the new try-with-resources statement, the ability to catch more than one type of exception with a single exception handler, support for binary literals, and diamond syntax, which results in cleaner generics code, has been added where appropriate. The chapters covering generics, Java Web Start, and applets have also been updated. In addition, if you plan to take one of the Java SE 7 certification exams, this guide can help. A special appendix, “Preparing for Java Programming Language Certification,” lists the three exams available, details the items covered on each exam, and provides cross-references to where more information about each topic appears in the text. All of the material has been thoroughly reviewed by members of Oracle Java engineering to ensure that the information is accurate and up to date.




Java 11 and 12 - New Features


Book Description

Enhance your development skills with Java's state-of-the-art features and projects to make your applications leaner and faster Key Features Overcome the challenges involved in migrating to new versions of Java Discover how Oracle has bridged the gap between Java and native code Make the best use of new Java features and libraries in your applications Book Description With its new six-monthly release cadence, Java is moving forward faster. In addition to planned version releases, a lot of work is currently being undertaken on various Java projects at Oracle. In order to make best use of the new features in their applications and libraries, you must be well-versed with the most recent advancements. Java 11 and 12 - New Features will take you through the latest developments in Java, right from variable type inference and simplified multithreading through to performance improvements, which are covered in depth to help you make your applications more efficient. This book explains the relevance and applicability of Java's new features, and answers your questions on whether to invest in migrating to new Java versions and when to migrate. You'll also get to grips with platform features, such as AppCDS and new garbage collectors, to tune and optimize your application--from reduced launch time and latency to improved performance and throughput. By the end of this book, you will be equipped with a thorough understanding of the new features of Java 11, 12, and Project Amber, and possess the skills to apply them with a view to improving your application's performance. What you will learn Study type interference and how to work with the var type Understand Class-Data Sharing, its benefits, and limitations Discover platform options to reduce your application's launch time Improve application performance by switching garbage collectors Get up to date with the new Java release cadence Define and assess decision criteria for migrating to a new version of Java Who this book is for If you're an executive or solutions architect responsible for technology selection or Java migration decisions, this Java book is for you. You'll also benefit from this book if you're a computer science enthusiast curious to learn about the latest and upcoming Java features. This book will help you migrate your solutions from Java 8 or older to the latest Java release.