Live as if you were to die tomorrow. Learn as if you were to live forever.Effective Java (2nd Edition)
- Mahatma Gandhi
*Note: Effective Java (3rd Edition) to be released on December 29, 2017
Are you looking for a deeper understanding of the Java programming language so that you can write code that is clearer, more correct, more robust, and more reusable? Look no further! Effective Java™, Second Edition, brings together seventy-eight indispensable programmer’s rules of thumb: working, best-practice solutions for the programming challenges you encounter every day.
This highly anticipated new edition of the classic, Jolt Award-winning work has been thoroughly updated to cover Java SE 5 and Java SE 6 features introduced since the first edition. Bloch explores new design patterns and language idioms, showing you how to make the most of features ranging from generics to enums, annotations to autoboxing.
Each chapter in the book consists of several “items” presented in the form of a short, standalone essay that provides specific advice, insight into Java platform subtleties, and outstanding code examples. The comprehensive descriptions and explanations for each item illuminate what to do, what not to do, and why.Core Java SE 9 for the Really Impatient
Core Java SE 9 for the Impatient, Second Edition, is a complete yet concise guide that includes all the latest changes up to Java SE 9. Written by Cay S. Horstmann–author of the classic two-volume Core Java–this indispensable tutorial offers a faster, easier pathway for learning modern Java. Given Java SE 9’s size and the scope of its enhancements, there’s plenty to cover, but it’s presented in small chunks organized for quick access and easy understanding.
Horstmann’s practical insights and sample code help you quickly take advantage of all that’s new, from Java SE 9’s long-awaited “Project Jigsaw” module system to the improvements first introduced in Java SE 8, including lambda expressions and streams. Whether you’re just getting started with modern Java or you’re an experienced developer, this guide will help you write tomorrow’s most robust, efficient, and secure Java code.
- Use modules to simplify the development of well-performing complex systems
- Migrate applications to work with the modularized Java API and third-party modules
- Test code as you create it with the new JShell Read-Eval-Print Loop (REPL)
- Use lambda expressions to express actions more concisely
- Streamline and optimize data management with today’s Streams API
- Leverage modern concurrent programming based on cooperating tasks
- Take advantage of a multitude of API improvements for working with collections, input/output, regular expressions, and processes Java The Complete Reference (10th Edition - Updated for Java SE 9)
- 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
- It's the one Java book that presents object-oriented features like inheritance, interfaces, and polymorphism in a way that's both understandable and useful in the real world.
- It offers new coverage of JavaFX, the date/time API, lambdas, and working with SQLite databases.
- It uses a self-paced approach that works whether you're a beginner or have years of programming experience.
- It's full of practical coding examples that enhance training and that provide starting code for new applications.
- It lets you practice what you've just learned at the end of every chapter, to solidify your skills.
- And it's all done in the distinctive Murach style that has been training professional programmers for more than 43 years.
- Explore protocols that underlie the Internet, such as TCP/IP and UDP/IP
- Learn how Java’s core I/O API handles network input and output
- Discover how the InetAddress class helps Java programs interact with DNS
- Locate, identify, and download network resources with Java’s URI and URL classes
- Dive deep into the HTTP protocol, including REST, HTTP headers, and cookies
- Write servers and network clients, using Java’s low-level socket classes
- Manage many connections at the same time with the nonblocking I/O
- Understand the fundamentals of algorithms, data structures, and measurement of complexity
- Find out what general purpose data structures are, including arrays, linked lists, double ended linked lists, and circular lists
- Get a grasp on the basics of abstract data types—stack, queue, and double ended queue
- See how to use recursive functions and immutability while understanding and in terms of recursion
- Handle reactive programming and its related data structures
- Use binary search, sorting, and efficient sorting—quicksort and merge sort
- Work with the important concept of trees and list all nodes of the tree, traversal of tree, search trees, and balanced search trees
- Apply advanced general purpose data structures, priority queue-based sorting, and random access immutable linked lists
- Gain a better understanding of the concept of graphs, directed and undirected graphs, undirected trees, and much more
- 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
The Definitive Java Programming Guide Fully updated for Java SE 9, Java: The Complete Reference, Tenth Edition explains how to develop, compile, debug, and run Java programs. Bestselling programming author Herb Schildt covers the entire Java language, including its syntax, keywords, and fundamental programming principles. You'll also find information on key portions of the Java API library, such as I/O, the Collections Framework, the stream library, and the concurrency utilities. Swing, JavaFX, JavaBeans, and servlets are examined and numerous examples demonstrate Java in action. Of course, the new module system added by Java SE 9 is discussed in detail. This Oracle Press resource also offers an introduction to JShell, Java’s new interactive programming tool.
Java How to Program (11th Edition)
The Deitels’ groundbreaking How to Program series offers unparalleled breadth and depth of programming fundamentals, object-oriented programming concepts and intermediate-level topics for further study. Java How to Program, Late Objects, 11th Edition, presents leading-edge computing technologies using the Deitel signature live-code approach, which demonstrates concepts in hundreds of complete working programs. The 11th Edition presents updated coverage of Java SE 8 and new Java SE 9 capabilities, including JShell, the Java Module System, and other key Java 9 topics.Java 8 in Action: Lambdas, Streams, and functional-style programming
Java 8 in Action is a clearly written guide to the new features of Java 8. The book covers lambdas, streams, and functional-style programming. With Java 8's functional features you can now write more concise code in less time, and also automatically benefit from multicore architectures. It's time to dig in!
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.Java 9 Modularity: Patterns and Practices for Developing Maintainable Applications
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 gain learn how to modularize existing code and how to build new Java applications in a modular way.
This is the 5th edition of Murach's classic Java book that's trained thousands of developers in the last 15 years. Now fully updated to Java 9, this book helps any programmer learn Java faster and better than ever before. Since 2001, it has been used by thousands of beginning and experienced programmers to master the core Java skills that are needed to create desktop, web, and mobile applications. Now revised to cover Java SE 9 and updated throughout, it focuses on today’s best practices, including using an IDE for all phases of program development …a professional practice that most other Java books ignore.
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 applicaJava Network Programming (4th Edition)
This practical guide provides a complete introduction to developing network programs with Java. You’ll learn how to use Java’s network class library to quickly and easily accomplish common networking tasks such as writing multithreaded servers, encrypting communications, broadcasting to the local network, and posting data to server-side programs.
Author Elliotte Rusty Harold provides complete working programs to illustrate the methods and classes he describes. This thoroughly revised fourth edition covers REST, SPDY, asynchronous I/O, and many other recent technologies.
Java 9 Data Structures and Algorithms covers classical, functional, and reactive data structures, giving you the ability to understand computational complexity, solve problems, and write efficient code. This book is based on the Zero Bug Bounce milestone of Java 9.
We start off with the basics of algorithms and data structures, helping you understand the fundamentals and measure complexity. From here, we introduce you to concepts such as arrays, linked lists, as well as abstract data types such as stacks and queues. Next, we’ll take you through the basics of functional programming while making sure you get used to thinking recursively.
We provide plenty of examples along the way to help you understand each concept. You will get the also get a clear picture of reactive programming, binary searches, sorting, search trees, undirected graphs, and a whole lot more!
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.