Eagerly anticipated by millions of programmers, Java SE 8 is the most important Java update in many years. The addition of lambda expressions (closures) and streams represents the biggest change to Java programming since the introduction of generics and annotations. Now, with Java SE 8 for the Really Impatient , internationally renowned Java author Cay S. Horstmann concisely introduces Java 8’s most valuable new features (plus a few Java 7 innovations that haven’t gotten the attention they deserve). If you’re an experienced Java programmer, Horstmann’s practical insights and sample code will help you quickly take advantage of these and other Java language and platform improvements. This indispensable guide includes
- Coverage of using lambda expressions (closures) to write computation “snippets” that can be passed to utility functions
- The brand-new streams API that makes Java collections far more flexible and efficient
- Major updates to concurrent programming that make use of lambda expressions (filter/map/reduce) and that provide dramatic performance improvements for shared counters and hash tables
- A full chapter with advice on how you can put lambda expressions to work in your own programs
- Coverage of the long-awaited introduction of a well-designed date/time/calendar library (JSR 310)
- A thorough discussion of many small library changes that make Java programming more productive and enjoyable
Published by: Addison-Wesley Professional | Publication date: 01/10/2014Kindle book details: Kindle Edition, 240 pages
Kotlin is a statically typed programming language designed to interoperate with Java and fully supported by Google on the Android operating system. Based on Big Nerd Ranch's popular Kotlin Essentials course, this guide shows you how to work effectively with the Kotlin programming language through hands-on examples and clear explanations of key Kotlin concepts and foundational APIs. Written for Kotlin 1.2, this book will also introduce you to JetBrains' IntelliJ IDEA development environment. Whether you are an experienced Android developer looking for modern features beyond what Java offers or a new developer ready to learn your first programming language, the authors will guide you from first principles to advanced usage of Kotlin. By the end of this book, you will be empowered to create reliable, concise applications in Kotlin.
Published by: Big Nerd Ranch | Publication date: 07/13/2018Kindle book details: Kindle Edition, 480 pages
Published by: Addison-Wesley Professional | Publication date: 03/05/2013Kindle book details: Kindle Edition, 311 pages
Because of its portability and platform-independence, Java is the ideal computer programming language to use when working on graph algorithms and other mathematical programming problems. Collecting some of the most popular graph algorithms and optimization procedures, A Java Library of Graph Algorithms and Optimization provides the source code for a library of Java programs that can be used to solve problems in graph theory and combinatorial optimization. Self-contained and largely independent, each topic starts with a problem description and an outline of the solution procedure, followed by its parameter list specification, source code, and a test example that illustrates the usage of the code.The book begins with a chapter on random graph generation that examines bipartite, regular, connected, Hamilton, and isomorphic graphs as well as spanning, labeled, and unlabeled rooted trees. It then discusses connectivity procedures, followed by a paths and cycles chapter that contains the Chinese postman and traveling salesman problems, Euler and Hamilton cycles, and shortest paths. The author proceeds to describe two test procedures involving planarity and graph isomorphism. Subsequent chapters deal with graph coloring, graph matching, network flow, and packing and covering, including the assignment, bottleneck assignment, quadratic assignment, multiple knapsack, set covering, and set partitioning problems. The final chapters explore linear, integer, and quadratic programming. The appendices provide references that offer further details of the algorithms and include the definitions of many graph theory terms used in the book.
Published by: Chapman and Hall/CRC | Publication date: 10/20/2006Kindle book details: Kindle Edition, 386 pages
Benchmarking of Java Cryptoalgorithms: A comparison of different algorithms in different java libraries
Seminar paper from the year 2008 in the subject Computer Science - Commercial Information Technology, grade: 1.3, University of Regensburg, language: English, abstract: Cryptographic algorithms have nowadays serious impact on many fields of modern life. A goodexample is the SSL technology, that consists of both symmetric as well as asymmetric cryptography.It is used in thousands of websites like online banking websites to secure transfered data.For the developers of such applications the performance of employing cryptography may be acrucial factor to the success of the complete product. Normally a software developer utilizescryptographic operations by the usage of precast cryptographic libraries. Therefore, it is interestingto analyze the speed of cryptographic libraries which implement abstract cryptographicalgorithms. In the following, we describe our benchmarking of various cryptoalgorithms in differentcryptolibraries in different languages on a 32-bit system. In the first part, we outline ourpreparatory work and our considerations on setting up a fitting benchmarking environment. Withthis test environment we conducted the benchmarking of seven JAVA cryptolibraries, namelySUN-JCE, Flexiprovider, Bouncy Castle, Cryptix Crypto, IAIK-JCE, GNU crypto and RSAJSafe. Additionally, we benchmarked RSA BSafe, a cryptographic library, which is writtenin C++, to isolate the influence of the JAVA virtual machine abstraction layer on cryptographicperformance. In the second part, we present a condensed illustration of the benchmarking resultsand our interpretation, for symmetric cryptography, asymmetric cryptography, the generation ofhash based massage authentication codes and digital signatures. These results reveal remarkabledifferences in speed between the algorithms as well as between the different implementations.Also the choice of the underlying operating system has influence on the execution speed of thecryptographic code. In this work we demonstrated that software developers could gain a multipleof the execution speed of the cryptography utilizing parts of their programs just by a wise selectionof cryptographic algorithms and libraries. Furthermore our work can help as a guideline fordeveloping a generic benchmarking model for cryptoalgorithms.
Published by: GRIN Verlag | Publication date: 04/23/2009Kindle book details: Kindle Edition, 52 pages
The release of Java SE 8 introduced significant enhancements that impact the Core Java technologies and APIs at the heart of the Java platform. Many old Java idioms are no longer required and new features like lambda expressions will increase programmer productivity, but navigating these changes can be challenging. Core Java® for the Impatient is a complete but concise guide to Java SE 8. Written by Cay Horstmann—the author of Java SE 8 for the Really Impatient and Core Java™, the classic, two-volume introduction to the Java language—this indispensable new tutorial offers a faster, easier pathway for learning the language and libraries. Given the size of the language and the scope of the new features introduced in Java SE 8, there’s plenty of material to cover, but it’s presented in small chunks organized for quick access and easy understanding. If you’re an experienced programmer, Horstmann’s practical insights and sample code will help you quickly take advantage of lambda expressions (closures), streams, and other Java language and platform improvements. Horstmann covers everything developers need to know about modern Java, including
- Crisp and effective coverage of lambda expressions, enabling you to express actions with a concise syntax
- A thorough introduction to the new streams API, which makes working with data far more flexible and efficient
- A treatment of concurrent programming that encourages you to design your programs in terms of cooperating tasks instead of low-level threads and locks
- Up-to-date coverage of new libraries like Date and Time
- Other new features that will be especially valuable for server-side or mobile programmers
Published by: Addison-Wesley Professional | Publication date: 01/30/2015Kindle book details: Kindle Edition, 508 pages
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
Published by: O'Reilly Media | Publication date: 03/18/2014Kindle book details: Kindle Edition, 182 pages
If you’re an experienced programmer who has not worked with Clojure before, this guide is the perfect thorough but gentle introduction for you. Author Carin Meier not only provides a practical overview of this JVM language and its functional programming concepts, but also includes a complete hands-on training course to help you learn Clojure in a structured way.The first half of the book takes you through Clojure’s unique design and lets you try your hand at two Clojure projects, including a web app. The holistic course in second half provides you with critical tools and resources, including ways to plug into the Clojure community.
- Understand the basic structure of a Clojure expression
- Learn how to shape and control code in a functional way
- Discover how Clojure handles real-world state and concurrency
- Take advantage of Java classes and learn how Clojure handles polymorphism
- Manage and use libraries in a Clojure project
- Use the core.async library for asynchronous and concurrent communication
- Explore the power of macros in Clojure programming
- Learn how to think in Clojure by following the book’s seven-week training course
Published by: O'Reilly Media | Publication date: 04/14/2015Kindle book details: Kindle Edition, 242 pages
Ramp Up Your PL/SQL Programming Skills Master PL/SQL through the hands-on exercises, extensive examples, and real-world projects inside this Oracle Press guide. Filled with best practices, Oracle Database 11g PL/SQL Programming Workbook covers all the latest features and enhancements of the language. Mastery checks at the end of each chapter reinforce the material covered, and sample code from the book is available for download. Even experienced Oracle professionals will benefit from this practical resource.
- Understand the Oracle development architecture and the mechanics of connections
- Work with data types, structures, blocks, cursors, and PL/SQL semantics
- Write, deploy, and use functions, procedures, and packages
- Manage transactions and more
- Use dynamic SQL statements in real-world applications
- Support online transaction processing and data warehousing applications with external tables
- Find syntax samples and best practices to solve problems
- Write, deploy, and use object types
Published by: McGraw-Hill Education | Publication date: 02/10/2010Kindle book details: Kindle Edition, 512 pages
Beginning Java 8 APIs, Extensions and Libraries completes the Apress Java learning journey and is a comprehensive approach to learning the Java Swing, JavaFX, Java Scripting, JDBC and network programming APIs.This book covers the key extensions of the Java programming language such as Swing, JavaFX, network programming, and JDBC. Each topic starts with a discussion of the topic's background. A step-by-step process, with small snippets of Java code, provides easy-to-follow instructions. At the end of a topic, a complete and ready-to-run Java program is provided. This book contains over 130 images and diagrams to help you visualize and better understand the topics. More than 130 complete programs allow you to practice and quickly learn the topics.The Swing chapters discuss various aspects of working with a GUI, from the very basic concepts of developing a Swing application, to the most advanced topics, such as decorating a Swing component with a JLayer, drag-and-drop features, Synth Skinnable L&F, etc. The chapter on network programming covers the basics of network technologies first, and then, the advanced topics of network programming, using a Java class library. It covers IPv4 and IPv6, addressing schemes, subnetting, supernetting, multicasting, TCP/IP sockets, UPD sockets, asynchronous socket I/O, etc.The chapter on JDBC provides the details of connecting and working with databases such as Oracle, SQL Server, MySQL, DB2, Java DB (Apache Derby), Sybase, Adaptive Server Anywhere, etc. It contains a complete discussion on processing a ResultSet and a RowSet. It discusses how to use the RowSetFactory, to obtain a RowSet object of a specific type. Working with Large Objects (LOBs), such as Blob, Clob, and NClob, is covered in detail with Java code examples and database scripts.
Published by: Apress | Publication date: 09/22/2014Kindle book details: Kindle Edition, 799 pages