Similar ebooks

Threads are a fundamental part of the Java platform. As multicore processors become the norm, using concurrency effectively becomes essential for building high-performance applications. Java SE 5 and 6 are a huge step forward for the development of concurrent applications, with improvements to the Java Virtual Machine to support high-performance, highly scalable concurrent classes and a rich set of new concurrency building blocks. In Java Concurrency in Practice , the creators of these new facilities explain not only how they work and how to use them, but also the motivation and design patterns behind them.

However, developing, testing, and debugging multithreaded programs can still be very difficult; it is all too easy to create concurrent programs that appear to work, but fail when it matters most: in production, under heavy load. Java Concurrency in Practice arms readers with both the theoretical underpinnings and concrete techniques for building reliable, scalable, maintainable concurrent applications. Rather than simply offering an inventory of concurrency APIs and mechanisms, it provides design rules, patterns, and mental models that make it easier to build concurrent programs that are both correct and performant.

This book covers:

  • Basic concepts of concurrency and thread safety
  • Techniques for building and composing thread-safe classes
  • Using the concurrency building blocks in java.util.concurrent
  • Performance optimization dos and don'ts
  • Testing concurrent programs
  • Advanced topics such as atomic variables, nonblocking algorithms, and the Java Memory Model


Learning a complex new language is no easy task especially when it s an object-oriented computer programming language like Java. You might think the problem is your brain. It seems to have a mind of its own, a mind that doesn't always want to take in the dry, technical stuff you're forced to study.

The fact is your brain craves novelty. It's constantly searching, scanning, waiting for something unusual to happen. After all, that's the way it was built to help you stay alive. It takes all the routine, ordinary, dull stuff and filters it to the background so it won't interfere with your brain's real work--recording things that matter. How does your brain know what matters? It's like the creators of the Head First approach say, suppose you're out for a hike and a tiger jumps in front of you, what happens in your brain? Neurons fire. Emotions crank up. Chemicals surge.

That's how your brain knows.

And that's how your brain will learn Java. Head First Java combines puzzles, strong visuals, mysteries, and soul-searching interviews with famous Java objects to engage you in many different ways. It's fast, it's fun, and it's effective. And, despite its playful appearance, Head First Java is serious stuff: a complete introduction to object-oriented programming and Java. You'll learn everything from the fundamentals to advanced topics, including threads, network sockets, and distributed programming with RMI. And the new. second edition focuses on Java 5.0, the latest version of the Java language and development platform. Because Java 5.0 is a major update to the platform, with deep, code-level changes, even more careful study and implementation is required. So learning the Head First way is more important than ever.

If you've read a Head First book, you know what to expect--a visually rich format designed for the way your brain works. If you haven't, you're in for a treat. You'll see why people say it's unlike any other Java book you've ever read.

By exploiting how your brain works, Head First Java compresses the time it takes to learn and retain--complex information. Its unique approach not only shows you what you need to know about Java syntax, it teaches you to think like a Java programmer. If you want to be bored, buy some other book. But if you want to understand Java, this book's for you.
"Every programming language has its quirks. This lively book reveals oddities of the Java programming language through entertaining and thought-provoking programming puzzles."

--Guy Steele, Sun Fellow and coauthor of The Java™ Language Specification

"I laughed, I cried, I threw up (my hands in admiration)."

--Tim Peierls, president, Prior Artisans LLC, and member of the JSR 166 Expert Group

How well do you really know Java? Are you a code sleuth? Have you ever spent days chasing a bug caused by a trap or pitfall in Java or its libraries? Do you like brainteasers? Then this is the book for you!

In the tradition of Effective Java™, Bloch and Gafter dive deep into the subtleties of the Java programming language and its core libraries. Illustrated with visually stunning optical illusions, Java™ Puzzlers features 95 diabolical puzzles that educate and entertain. Anyone with a working knowledge of Java will understand the puzzles, but even the most seasoned veteran will find them challenging.

Most of the puzzles take the form of a short program whose behavior isn't what it seems. Can you figure out what it does? Puzzles are grouped loosely according to the features they use, and detailed solutions follow each puzzle. The solutions go well beyond a simple explanation of the program's behavior--they show you how to avoid the underlying traps and pitfalls for good. A handy catalog of traps and pitfalls at the back of the book provides a concise taxonomy for future reference.

Solve these puzzles and you'll never again fall prey to the counterintuitive or obscure behaviors that can fool even the most experienced programmers.

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 concise introduction to JavaFX, which is positioned to replace Swing GUIs, and to the Nashorn Javascript engine
  • A thorough discussion of many small library changes that make Java programming more productive and enjoyable

This is the first title to cover all of these highly anticipated improvements and is invaluable for anyone who wants to write tomorrow’s most robust, efficient, and secure Java code.

★ Java Programming for Beginners – a Step-by-Step Guide for Beginners ★

Have you always wanted to learn computer programming but are afraid it'll be too difficult for you? Or perhaps you know other programming languages but are interested in learning the Java language fast?

This book is for you. You no longer have to waste your time and money trying to learn Java from boring books that are 600 pages long, expensive online courses or complicated Java tutorials that just leave you more confused and frustrated.


What this book offers...

Made for Beginners

This guide is written specifically for beginners. We take you step-by-step through

writing your very first program, explaining each portion of code as we go

along. We guide you through the workings of the Java Development Kit and Java

Runtime Environment, as well as choosing an IDE.


Practical Examples

With each concept, we provide one or more example to illustrate the topic in a way

that makes it easy to understand. We break examples down into their basic

workings, and provide the output for you to compare to your own results.


Introduction to Java

For new comers to Java we look at what the language has to offer, its origin and

design goals, features and capabilities, as well as the various Java editions,

before stepping into more in-depth topics.


Learn The Java Programming Language Fast

Concepts are presented in a "to-the-point" style to cater to the busy individual. You no longer have to endure boring and lengthy Java textbooks that simply puts you to sleep. With this book, you can learn Java fast and start coding immediately.


How is this book different...

The best way to learn Java is by doing. This book includes a unique project at the end of the book that requires the application of all the concepts taught previously. Working through the project will not only give you an immense sense of achievement, it’ll also help you retain the knowledge and master the language.

Are you ready to dip your toes into the exciting world of Java coding? This book is for you. Click the "Add to Cart" button and download it now.

What you'll learn:

INTRODUCTION TO JAVA      

Features Of Java    

C++ Vs Java    

Java Variables 

Java Comments      

Java Packages

Operators In Java   

Java Keyword 

Java User Input (Scanner)             


JAVA BRANCHING STATEMENTS   

Java if statement    

Java If-else Statement   

Java if-else-if ladder statement     

Nested if-else Statement       

Java switch Statement


LOOPS IN JAVA      

for-loop  

Java while loop      

Java do-while loop 


JAVA ARRAYS 

Single Dimensional Array in Java   

Multidimention Array in Java 


and Others...

JAVA CLASS AND OBJECTS           

JAVA INHERITANCE

JAVA METHOD              

JAVA ABSTRACTION      

INTERFACE IN JAVA

ENCAPSULATION IN JAVA     


Finally, you'll be guided through a hands-on project that requires the application of all the topics covered.

Click the BUY button at the top of this page now to start learning Java. Learn it fast and learn it well.


★ Java Programming for Beginners – a Step-by-Step Guide for Beginners ★

Have you always wanted to learn computer programming but are afraid it'll be too difficult for you? Or perhaps you know other programming languages but are interested in learning the Java language fast?

This book is for you. You no longer have to waste your time and money trying to learn Java from boring books that are 600 pages long, expensive online courses or complicated Java tutorials that just leave you more confused and frustrated.


What this book offers...

Made for Beginners

This guide is written specifically for beginners. We take you step-by-step through writing your very first program, explaining each portion of code as we go along. We guide you through the workings of the Java Development Kit and Java Runtime Environment, as well as choosing an IDE.


Practical Examples

With each concept, we provide one or more example to illustrate the topic in a way that makes it easy to understand. We break examples down into their basic

workings, and provide the output for you to compare to your own results.


Introduction to Java

For new comers to Java we look at what the language has to offer, its origin and

design goals, features and capabilities, as well as the various Java editions,

before stepping into more in-depth topics.


Learn the Java Programming Language Fast

Concepts are presented in a "to-the-point" style to cater to the busy individual. You no longer have to endure boring and lengthy Java textbooks that simply puts you to sleep. With this book, you can learn Java fast and start coding immediately.


How is this book different...

The best way to learn Java is by doing. This book includes a unique project at the end of the book that requires the application of all the concepts taught previously. Working through the project will not only give you an immense sense of achievement, it’ll also help you retain the knowledge and master the language.

Are you ready to dip your toes into the exciting world of Java coding? This book is for you. Click the "Add to Cart" button and download it now.

What you'll learn:

INTRODUCTION TO JAVA      

Features of Java     

C++ Vs Java    

Java Variables 

Java Comments      

Java Packages

Operators in Java   

Java Keyword 

Java User Input (Scanner)             


JAVA BRANCHING STATEMENTS   

Java if statement    

Java If-else Statement   

Java if-else-if ladder statement     

Nested if-else Statement       

Java switch Statement


LOOPS IN JAVA      

for-loop  

Java while loop      

Java do-while loop 


JAVA ARRAYS 

Single Dimensional Array in Java   

Multidimension Array in Java 


and Others...

JAVA CLASS AND OBJECTS           

JAVA INHERITANCE

JAVA METHOD              

JAVA ABSTRACTION      

INTERFACE IN JAVA

ENCAPSULATION IN JAVA     


Finally, you'll be guided through a hands-on project that requires the application of all the topics covered.

Click the BUY button at the top of this page now to start learning Java. Learn it fast and learn it well.


Core Java® has long been recognized as the leading, no-nonsense tutorial and reference for experienced programmers who want to write robust Java code for real-world applications. Now, Core Java®, Volume I–Fundamentals, Tenth Edition, has been extensively updated to reflect the most eagerly awaited and innovative version of Java in years: Java SE 8. Rewritten and reorganized to illuminate new Java SE 8 features, idioms, and best practices, it contains hundreds of example programs–all carefully crafted for easy understanding and practical applicability.

Writing for serious programmers solving real-world problems, Cay Horstmann helps you achieve a deep understanding of the Java language and library. In this first volume of the two-volume work, Horstmann focuses on fundamental language concepts and the foundations of modern user interface programming. You’ll find in-depth coverage of topics ranging from Java object-oriented programming to generics, collections, lambda expressions, Swing UI design, and the latest approaches to concurrency and functional programming. This guide will help you

  • Leverage your existing programming knowledge to quickly master core Java syntax
  • Understand how encapsulation, classes, and inheritance work in Java
  • Master interfaces, inner classes, and lambda expressions for functional programming
  • Improve program robustness with exception handling and effective debugging
  • Write safer, more readable programs with generics and strong typing
  • Use pre-built collections to collect multiple objects for later retrieval
  • Master concurrent programming techniques from the ground up
  • Build modern cross-platform GUIs with standard Swing components
  • Deploy configurable applications and applets, and deliver them across the Internet
  • Simplify concurrency and enhance performance with new functional techniques

If you’re an experienced programmer moving to Java SE 8, Core Java®, Tenth Edition, will be your reliable, practical companion–now and for many years to come.

Look for the companion volume, Core Java®, Volume II–Advanced Features, Tenth Edition (ISBN-13: 978-0-13-417729-8), for coverage of Java 8 streams, input and output, XML, databases, annotations, and other advanced topics.

Register your product or convenient access to downloads, updates, and corrections as they become available. See inside the book for information.

Start programming robots NOW!


Learn hands-on, through easy examples, visuals, and code


This is a unique introduction to programming robots to execute tasks autonomously. Drawing on years of experience in artificial intelligence and robot programming, Cameron and Tracey Hughes introduce the reader to basic concepts of programming robots to execute tasks without the use of remote controls.


Robot Programming: A Guide to Controlling Autonomous Robots takes the reader on an adventure through the eyes of Midamba, a lad who has been stranded on a desert island and must find a way to program robots to help him escape. In this guide, you are presented with practical approaches and techniques to program robot sensors, motors, and translate your ideas into tasks a robot can execute autonomously. These techniques can be used on today’s leading robot microcontrollers (ARM9 and ARM7) and robot platforms (including the wildly popular low-cost Arduino platforms, LEGO® Mindstorms EV3, NXT, and Wowee RS Media Robot) for your hardware/Maker/DIY projects. Along the way the reader will learn how to:



  • Program robot sensors and motors
  • Program a robot arm to perform a task
  • Describe the robot’s tasks and environments in a way that a robot can process using robot S.T.O.R.I.E.S.
  • Develop a R.S.V.P. (Robot Scenario Visual Planning) used for designing the robot’s tasks in an environment
  • Program a robot to deal with the “unexpected” using robot S.P.A.C.E.S.
  • Program robots safely using S.A.R.A.A. (Safe Autonomous Robot Application Architecture) Approach
  • Program robots using Arduino C/C++ and Java languages
  • Use robot programming techniques with LEGO® Mindstorms EV3, Arduino, and other ARM7 and ARM9-based robots.


Learn all the Java and Android skills you need to start making powerful mobile applicationsAbout This Book
  • Kick-start your Android programming career, or just have fun publishing apps to the Google Play marketplace
  • A first-principles introduction to Java, via Android, which means you'll be able to start building your own applications from scratch
  • Learn by example and build three real-world apps and over 40 mini apps throughout the book
Who This Book Is For

Are you trying to start a career in programming, but haven't found the right way in? Do you have a great idea for an app, but don't know how to make it a reality? Or maybe you're just frustrated that “to learn Android, you must know java.” If so, Android Programming for Beginners is for you. You don't need any programming experience to follow along with this book, just a computer and a sense of adventure.

What You Will Learn
  • Master the fundamentals of coding Java for Android
  • Install and set up your Android development environment
  • Build functional user interfaces with the Android Studio visual designer
  • Add user interaction, data captures, sound, and animation to your apps
  • Manage your apps' data using the built-in Android SQLite database
  • Find out about the design patterns used by professionals to make top-grade applications
  • Build, deploy, and publish real Android applications to the Google Play marketplace
In Detail

Android is the most popular OS in the world. There are millions of devices accessing tens of thousands of applications. It is many people's entry point into the world of technology; it is an operating system for everyone. Despite this, the entry-fee to actually make Android applications is usually a computer science degree, or five years' worth of Java experience.

Android Programming for Beginners will be your companion to create Android applications from scratch—whether you're looking to start your programming career, make an application for work, be reintroduced to mobile development, or are just looking to program for fun. We will introduce you to all the fundamental concepts of programming in an Android context, from the Java basics to working with the Android API. All examples are created from within Android Studio, the official Android development environment that helps supercharge your application development process.

After this crash-course, we'll dive deeper into Android programming and you'll learn how to create applications with a professional-standard UI through fragments, make location-aware apps with Google Maps integration, and store your user's data with SQLite. In addition, you'll see how to make your apps multilingual, capture images from a device's camera, and work with graphics, sound, and animations too.

By the end of this book, you'll be ready to start building your own custom applications in Android and Java.

Style and approach

With more than 40 mini apps to code and run, Android Programming for Beginners is a hands-on guide to learning Android and Java. Each example application demonstrates a different aspect of Android programming. Alongside these mini apps, we push your abilities by building three larger applications to demonstrate Android application development in context.

Create and customize your very own Minecraft server using Java and the Spigot APIAbout This Book
  • Set up a Minecraft server that you control
  • Use object-oriented programming to modify Minecraft regardless of your level of experience
  • This interactive guide will help you create a unique experience for you and your friends
Who This Book Is For

This book is great for anyone who is interested in customizing their Minecraft server. Whether you are new to programming, Java, Bukkit, or even Minecraft itself, this book has you covered. All you need is a valid Minecraft account. If you are interested in programming as a career or hobby, this book will get you started. If you are simply interested in playing Minecraft with your friends, then this book will help you make that experience even more enjoyable.

What You Will Learn
  • Install and run a Spigot server for free on your home PC
  • Adjust the server settings to customize Minecraft to your liking
  • Install an IDE and configure a project to write code
  • Install and test plugins on a Spigot server
  • Test your plugins through debugging the code
  • Program in game commands and permissions
  • Get to know advanced programming concepts such as event-driven programming, configuration files, saving/loading data, and scheduled tasks
  • Implement configuration files to make your plugins customizable
  • Save and load your plugin's data to persist across server restarts
In Detail

Minecraft is a sandbox game that allows you to play it in any way you want. Coupled with a multiplayer server powered by Spigot, you can customize the game even more! Using the Bukkit API, anyone interested in learning how to program can control their Minecraft world by developing server plugins.

This book is a great introduction to software development through the wonderful world of Minecraft.

We start by instructing you through how to set up your home PC for Minecraft server development. This includes an IDE complete with the required libraries as well as a Spigot server to test on. You will be guided through writing code for several different plugins. Each chapter teaches you new skills to create plugins of increasing complexity, and each plugin adds a new concept of the Bukkit API By the end of the book, you will have all the knowledge you need about the API to successfully create any type of plugin. You can then practice and build your Java skills through developing more mods for their server.

Style and approach

This hands-on guide is filled with interactive examples to help you modify Minecraft. Programming terms and concepts are explained along the way so even those who have never written code before can keep up.

The professional programmer’s Deitel® guide to smartphone and tablet app development using Android™ 6 and Android Studio Billions of apps have been downloaded from Google Play™! This book gives you everything you need to start developing great apps quickly and getting them published on Google Play™. The book uses an app-driven approach—each new technology is discussed in the context of eight fully coded and tested Android apps, complete with syntax shading, code highlighting, code walkthroughs and sample outputs. Apps you’ll develop include:
  • Welcome App
  • Cannon Game
  • Tip Calculator
  • Weather Viewer
  • Flag Quiz
  • Twitter® Searches
  • Doodlz
  • Address Book

Practical, Example-Rich Coverage of:

  • Android 6, Android Studio: Gradle™, Vector Asset Studio, Theme Editor
  • Material Design App Templates and Themes
  • AppCompat Library, Android Design Support Library, RecyclerView, FloatingActionButton, TextInputLayout
  • Material Design Elevation and Icons
  • REST Web Services/JSON, Threading, SQLite™ Database, Android 6 Permissions
  • Cursors, Loaders, ContentProviders
  • Supporting Various Screen Sizes/Resolutions
  • Accessibility, Internationalization
  • Activities, Fragments, Intents, Preferences
  • GUIs, Layouts, Menus, Resource Files, Events, Touch/Gesture Processing, Images, Audio, Graphics, Animation
  • Immersive Mode, PrintHelper
  • Google Play™ Store, App Publishing, Pricing, Marketing, In-App Advertising, In-App Billing, Virtual Goods and more

About This Book

The first-generation Android phones were released in October 2008. As of June 2015, Android had 82.8% of the global smartphone market share, compared to 13.9% for Apple and 2.6% for Microsoft (http:// www.idc.com/prodserv/smartphone-os-market-share.jsp). Billions of apps have been downloaded from Google Play and more than one billion Android devices were shipped worldwide in 2014 (http://www.cnet.com/news/android-shipments-exceed- 1-billion-for-first-time-in-2014/). The opportunities for Android app developers are enormous.

This book presents leading-edge computing technologies for professional software developers. At the heart of the book is the Deitel app-driven approach—concepts are presented in the context of complete working Android apps, rather than using code snippets. The introduction and app test drives at the beginning of each chapter show one or more sample executions. The book’s source code is available at http://www.deitel.com/books/AndroidFP3.

The apps in this book were carefully designed to introduce you to key Android features and APIs. You’ll quickly learn everything you need to start building Android apps—beginning with a test-drive of the Tip Calculator app in Chapter 1, then building one new app in each of Chapters 2 through 9. By the time you reach Chapter 10, you’ll be ready to create your own apps for submission to Google Play and other app marketplaces. You’ll master the Google Play submission process, including uploading your apps. You’ll decide whether to sell your apps or offer them for free, and learn how to market them via social media and monetize them with in-app advertising, in-app billing, virtual goods and more.
Discover the world of Rust programming through real-world examplesKey Features
  • Implement various features of Rust to build blazingly fast applications
  • Learn to build GUI applications using Gtk-rs
  • Explore the multi-threading aspect of Rust to tackle problems in concurrency and in distributed environments
Book Description

Rust is an open source, safe, concurrent, practical language created by Mozilla. It runs blazingly fast, prevents segfaults, and guarantees safety. This book gets you started with essential software development by guiding you through the different aspects of Rust programming. With this approach, you can bridge the gap between learning and implementing immediately.

Beginning with an introduction to Rust, you’ll learn the basic aspects such as its syntax, data types, functions, generics, control flows, and more. After this, you’ll jump straight into building your first project, a Tetris game. Next you’ll build a graphical music player and work with fast, reliable networking software using Tokio, the scalable and productive asynchronous IO Rust library.

Over the course of this book, you’ll explore various features of Rust Programming including its SDL features, event loop, File I/O, and the famous GTK+ widget toolkit. Through these projects, you’ll see how well Rust performs in terms of concurrency—including parallelism, reliability, improved performance, generics, macros, and thread safety. We’ll also cover some asynchronous and reactive programming aspects of Rust.

By the end of the book, you’ll be comfortable building various real-world applications in Rust.

What you will learn
  • Compile and run the Rust projects using the Cargo-Rust Package manager
  • Use Rust-SDL features such as the event loop, windows, infinite loops, pattern matching, and more
  • Create a graphical interface using Gtk-rs and Rust-SDL
  • Incorporate concurrency mechanism and multi-threading along with thread safety and locks
  • Implement the FTP protocol using an Asynchronous I/O stack with the Tokio library
Who this book is for

This book is for software developers interested in system level and application programming who are looking for a quick entry into using Rust and understanding the core features of the Rust Programming. It’s assumed that you have a basic understanding of Java, C#, Ruby, Python, or JavaScript.

Programmers run into parsing problems all the time. Whether it's a data format like JSON, a network protocol like SMTP, a server configuration file for Apache, a PostScript/PDF file, or a simple spreadsheet macro language--ANTLR v4 and this book will demystify the process. ANTLR v4 has been rewritten from scratch to make it easier than ever to build parsers and the language applications built on top. This completely rewritten new edition of the bestselling Definitive ANTLR Reference shows you how to take advantage of these new features.

Build your own languages with ANTLR v4, using ANTLR's new advanced parsing technology. In this book, you'll learn how ANTLR automatically builds a data structure representing the input (parse tree) and generates code that can walk the tree (visitor). You can use that combination to implement data readers, language interpreters, and translators.

You'll start by learning how to identify grammar patterns in language reference manuals and then slowly start building increasingly complex grammars. Next, you'll build applications based upon those grammars by walking the automatically generated parse trees. Then you'll tackle some nasty language problems by parsing files containing more than one language (such as XML, Java, and Javadoc). You'll also see how to take absolute control over parsing by embedding Java actions into the grammar.

You'll learn directly from well-known parsing expert Terence Parr, the ANTLR creator and project lead. You'll master ANTLR grammar construction and learn how to build language tools using the built-in parse tree visitor mechanism. The book teaches using real-world examples and shows you how to use ANTLR to build such things as a data file reader, a JSON to XML translator, an R parser, and a Java class->interface extractor. This book is your ticket to becoming a parsing guru!

What You Need:

ANTLR 4.0 and above. Java development tools. Ant build system optional(needed for building ANTLR from source)
Clojure is a practical, general-purpose language that offers expressivity rivaling other dynamic languages like Ruby and Python, while seamlessly taking advantage of Java libraries, services, and all of the resources of the JVM ecosystem. This book helps you learn the fundamentals of Clojure with examples relating it to the languages you know already, in the domains and topics you work with every day. See how this JVM language can help eliminate unnecessary complexity from your programming practice and open up new options for solving the most challenging problems.



Clojure Programming demonstrates the language’s flexibility by showing how it can be used for common tasks like web programming and working with databases, up through more demanding applications that require safe, effective concurrency and parallelism, data analysis, and more. This in-depth look helps tie together the full Clojure development experience, from how to organize your project and an introduction to Clojure build tooling, to a tutorial on how to make the most of Clojure’s REPL during development, and how to deploy your finished application in a cloud environment.



  • Learn how to use Clojure while leveraging your investment in the Java platform
  • Understand the advantages of Clojure as an efficient Lisp for the JVM
  • See how Clojure is used today in several practical domains
  • Discover how Clojure eliminates the need for many verbose and complicated design patterns
  • Deploy large or small web applications to the cloud with Clojure
Familiarize yourself with all of Kotlin's features with this in-depth guideAbout This Book
  • Get a thorough introduction to Kotlin
  • Learn to use Java code alongside Kotlin without any hiccups
  • Get a complete overview of null safety, Generics, and many more interesting features
Who This Book Is For

The book is for existing Java developers who want to learn more about an alternative JVM language. If you want to see what Kotlin has to offer, this book is ideal for you.

What You Will Learn
  • Use new features to write structured and readable object-oriented code
  • Find out how to use lambdas and higher order functions to write clean, reusable, and simple code
  • Write unit tests and integrate Kotlin tests with Java code in a transitioning code base
  • Write real-world production code in Kotlin in the style of microservices
  • Leverage Kotlin's extensions to the Java collections library
  • Use destructuring expressions and find out how to write your own
  • Write code that avoids null pointer errors and see how Java-nullable code can integrate with features in a Kotlin codebase
  • Discover how to write functions in Kotlin, see the new features available, and extend existing libraries
  • Learn to write an algebraic data types and figure out when they should be used
In Detail

Kotlin has been making waves ever since it was open sourced by JetBrains in 2011; it has been praised by developers across the world and is already being adopted by companies. This book provides a detailed introduction to Kotlin that shows you all its features and will enable you to write Kotlin code to production.

We start with the basics: get you familiar with running Kotlin code, setting up, tools, and instructions that you can use to write basic programs. Next, we cover object oriented code: functions, lambdas, and properties – all while using Kotlin's new features.

Then, we move on to null safety aspects and type parameterization. We show you how to destructure expressions and even write your own. We also take you through important topics like testing, concurrency, microservices, and a whole lot more. By the end of this book you will be able to compose different services and build your own applications.

Style and approach

An easy to follow guide that covers the full set of features in Kotlin programming.

Sams Teach Yourself Java in 24 Hours, Seventh Edition

Covers Java 8 and Android Development

In just 24 lessons of one hour or less, you can learn the fundamentals of Java programming.

In this book's straightforward, step-by-step approach, each lesson builds on everything that's come before, helping readers learn Java's core features and techniques from the ground up.

Friendly, accessible, and conversational, this book offers a practical grounding in the language, without ever becoming overwhelming or intimidating. Full-color figures and clear instructions visually show you how to program with Java.

Popular author Rogers Cadenhead helps you master the skills and technology you need to create desktop and web programs, web services, and even an Android app in Java.

Learn how to…

  • Set up your Java programming environment
  • Write your first working program in just minutes
  • Control program decisions and behavior
  • Store and work with information
  • Build straightforward user interfaces
  • Create interactive web programs
  • Use threading to build more responsive programs
  • Read and write files and XML data
  • Master best practices for object-oriented programming
  • Create flexible, interoperable web services with JAX-WS
  • Use Java to create an Android app
  • Expand your skills with closures, the powerful new capability introduced in Java 8

Contents at a Glance

PART I: Getting Started

1 Becoming a Programmer

2 Writing Your First Program

3 Vacationing in Java

4 Understanding How Java Programs Work

PART II: Learning the Basics of Programming

5 Storing and Changing Information in a Program

6 Using Strings to Communicate

7 Using Conditional Tests to Make Decisions

8 Repeating an Action with Loops

PART III: Working with Information in New Ways

9 Storing Information with Arrays

10 Creating Your First Object

11 Describing What Your Object Is Like

12 Making the Most of Existing Objects

PART IV: Programming a Graphical User Interface

13 Building a Simple User Interface

14 Laying Out a User Interface

15 Responding to User Input

16 Building a Complex User Interface

PART V: Moving into Advanced Topics

17 Storing Objects in Data Structures

18 Handling Errors in a Program

19 Creating a Threaded Program

20 Using Inner Classes and Closures

21 Reading and Writing Files

22 Creating Web Services with JAX-WS

23 Creating Java2D Graphics

24 Writing Android Apps

Appendixes

A Using the NetBeans Integrated Development Environment

B Where to Go from Here: Java Resources

C This Book’s Website

D Setting Up an Android Development Environment

Explore the reactive system and create efficient microservices with Spring Boot 2.1 and Spring CloudKey Features
  • Understand the kind of system modern businesses require with Spring
  • Gain deeper insights into reactive programming with Reactor and Spring Cloud
  • Get in-depth knowledge on asynchronous and nonblocking communication with Spring 5 WebFlux
Book Description

These days, businesses need a new type of system that can remain responsive at all times. This is achievable with reactive programming; however, the development of these kinds of systems is a complex task, requiring a deep understanding of the domain. In order to develop highly responsive systems, the developers of the Spring Framework came up with Project Reactor.

Hands-On Reactive Programming in Spring 5 begins with the fundamentals of Spring Reactive programming. You’ll explore the endless possibilities of building efficient reactive systems with the Spring 5 Framework along with other tools such as WebFlux and Spring Boot. Further on, you’ll study reactive programming techniques and apply them to databases and cross-server communication. You will advance your skills in scaling up Spring Cloud Streams and run independent, high-performant reactive microservices.

By the end of the book, you will be able to put your skills to use and get on board with the reactive revolution in Spring 5.1!

What you will learn
  • Discover the difference between a reactive system and reactive programming
  • Explore the benefits of a reactive system and understand its applications
  • Get to grips with using reactive programming in Spring 5
  • Gain an understanding of Project Reactor
  • Build a reactive system using Spring 5 and Project Reactor
  • Create a highly efficient reactive microservice with Spring Cloud
  • Test, monitor, and release reactive applications
Who this book is for

This book is for Java developers who use Spring to develop their applications and want to build robust and reactive applications that can scale in the cloud. Basic knowledge of distributed systems and asynchronous programming will help you understand the concepts covered in this book.

Fully updated for Android Studio 3.6, Android 10 (Q), Android Jetpack and the modern architectural guidelines and components, the goal of this book is to teach the skills necessary to develop Android-based applications using the Java programming language.


An overview of Android Studio is included covering areas such as tool windows, the code editor and the Layout Editor tool. An introduction to the architecture of Android is followed by an in-depth look at the design of Android applications and user interfaces using the Android Studio environment.


Chapters are also included covering the Android Architecture Components including view models, lifecycle management, Room databases, app navigation, live data and data binding.


More advanced topics such as intents are also covered, as are touch screen handling, gesture recognition and the playback and recording of audio. This edition of the book also covers printing, transitions, cloud-based file storage and foldable device support.


The concepts of material design are also covered in detail, including the use of floating action buttons, Snackbars, tabbed interfaces, card views, navigation drawers and collapsing toolbars.


In addition to covering general Android development techniques, the book also includes Google Play specific topics such as implementing maps using the Google Maps Android API, and submitting apps to the Google Play Developer Console.


Other key features of Android Studio 3.6 and Android 10 are also covered in detail including the Layout Editor, the ConstraintLayout and ConstraintSet classes, constraint chains, barriers, direct reply notifications, view bindings and multi-window support.


Chapters also cover advanced features of Android Studio such as App Links, Dynamic Feature Modules, the Android Studio Profiler and Gradle build configuration.


Assuming you already have some programming experience, are ready to download Android Studio and the Android SDK, have access to a Windows, Mac or Linux system and ideas for some apps to develop, you are ready to get started.

The Object-Oriented Thought Process

Third Edition

Matt Weisfeld

An introduction to object-oriented concepts for developers looking to master modern application practices.

Object-oriented programming (OOP) is the foundation of modern programming languages, including C++, Java, C#, and Visual Basic .NET. By designing with objects rather than treating the code and data as separate entities, OOP allows objects to fully utilize other objects’ services as well as inherit their functionality. OOP promotes code portability and reuse, but requires a shift in thinking to be fully understood. Before jumping into the world of object-oriented programming languages, you must first master The Object-Oriented Thought Process.

Written by a developer for developers who want to make the leap to object-oriented technologies as well as managers who simply want to understand what they are managing, The Object-Oriented Thought Process provides a solution-oriented approach to object-oriented programming. Readers will learn to understand object-oriented design with inheritance or composition, object aggregation and association, and the difference between interfaces and implementations. Readers will also become more efficient and better thinkers in terms of object-oriented development.

This revised edition focuses on interoperability across various technologies, primarily using XML as the communication mechanism. A more detailed focus is placed on how business objects operate over networks, including client/server architectures and web services.

“Programmers who aim to create high quality software–as all programmers should–must learn the varied subtleties of the familiar yet not so familiar beasts called objects and classes. Doing so entails careful study of books such as Matt Weisfeld’s The Object-Oriented Thought Process.”

–Bill McCarty, author of Java Distributed Objects, and Object-Oriented Design in Java

Matt Weisfeld is an associate professor in business and technology at Cuyahoga Community College in Cleveland, Ohio. He has more than 20 years of experience as a professional software developer, project manager, and corporate trainer using C++, Smalltalk, .NET, and Java. He holds a BS in systems analysis, an MS in computer science, and an MBA in project management. Weisfeld has published many articles in major computer trade magazines and professional journals.

Learn how to solve problems using Clojure or ClojureScript and become a confident functional programmer with the help of engaging activities and challenging projectsKey Features
  • Master the tools and patterns of the Clojure and ClojureScript ecosystems
  • Learn the fundamentals of functional programming and immutability
  • Apply your skills practically by developing a range of scalable applications
Book Description

The Clojure Workshop is a step-by-step guide to Clojure and ClojureScript, designed to quickly get you up and running as a confident, knowledgeable developer.

Because of the functional nature of the language, Clojure programming is quite different to what many developers will have experienced. As hosted languages, Clojure and ClojureScript can also be daunting for newcomers because of complexities in the tooling and the challenge of interacting with the host platforms. To help you overcome these barriers, this book adopts a practical approach. Every chapter is centered around building something.

As you progress through the book, you will progressively develop the 'muscle memory' that will make you a productive Clojure programmer, and help you see the world through the concepts of functional programming. You will also gain familiarity with common idioms and patterns, as well as exposure to some of the most widely used libraries.

Unlike many Clojure books, this Workshop will include significant coverage of both Clojure and ClojureScript. This makes it useful no matter your goal or preferred platform, and provides a fresh perspective on the hosted nature of the language.

By the end of this book, you'll have the knowledge, skills and confidence to creatively tackle your own ambitious projects with Clojure and ClojureScript.

What you will learn
  • Write idiomatic code with Clojure and ClojureScript
  • Understand and use common patterns and best practices
  • Experiment with code and interact with programs using the REPL
  • Learn the fundamentals of functional programming and immutability
  • Master concepts including mapping, filtering, reducing and recursion
  • Structure and build your code using namespaces and Leiningen
  • Write unit tests to validate application behavior
  • Simplify your code and improve efficiency with macros
Who this book is for

The Clojure Workshop is for anyone who is curious about functional programming and wants to get started learning Clojure or ClojureScript. Prior experience of another programming language, such as Java or JavaScript, is recommended, and will help you grasp the concepts covered in this book more easily.

For too long, developers have worked on disorganized application projects, where every part seemed to have its own build system, and no common repository existed for information about the state of the project. Now there's help. The long-awaited official documentation to Maven is here.

Written by Maven creator Jason Van Zyl and his team at Sonatype, Maven: The Definitive Guide clearly explains how this tool can bring order to your software development projects. Maven is largely replacing Ant as the build tool of choice for large open source Java projects because, unlike Ant, Maven is also a project management tool that can run reports, generate a project website, and facilitate communication among members of a working team.

To use Maven, everything you need to know is in this guide. The first part demonstrates the tool's capabilities through the development, from ideation to deployment, of several sample applications -- a simple software development project, a simple web application, a multi-module project, and a multi-module enterprise project.

The second part offers a complete reference guide that includes:

  • The POM and Project Relationships
  • The Build Lifecycle
  • Plugins
  • Project website generation
  • Advanced site generation
  • Reporting
  • Properties
  • Build Profiles
  • The Maven Repository
  • Team Collaboration
  • Writing Plugins
  • IDEs such as Eclipse, IntelliJ, ands NetBeans
  • Using and creating assemblies
  • Developing with Maven Archetypes

Several sources for Maven have appeared online for some time, but nothing served as an introduction and comprehensive reference guide to this tool -- until now. Maven: The Definitive Guide is the ideal book to help you manage development projects for software, web applications, and enterprise applications. And it comes straight from the source.

Learn how to make Android development much faster using a variety of Kotlin features, from basics to advanced, to write better quality code.About This Book
  • Leverage specific features of Kotlin to ease Android application development
  • Write code based on both object oriented and functional programming to build robust applications
  • Filled with various practical examples so you can easily apply your knowledge to real world scenarios
  • Identify the improved way of dealing with common Java patterns
Who This Book Is For

This book is for developers who have a basic understanding of Java language and have 6-12 months of experience with Android development and developers who feel comfortable with OOP concepts.

What You Will Learn
  • Run a Kotlin application and understand the integration with Android Studio
  • Incorporate Kotlin into new/existing Android Java based project
  • Learn about Kotlin type system to deal with null safety and immutability
  • Define various types of classes and deal with properties
  • Define collections and transform them in functional way
  • Define extensions, new behaviours to existing libraries and Android framework classes
  • Use generic type variance modifiers to define subtyping relationship between generic types
  • Build a sample application
In Detail

Nowadays, improved application development does not just mean building better performing applications. It has become crucial to find improved ways of writing code. Kotlin is a language that helps developers build amazing Android applications easily and effectively. This book discusses Kotlin features in context of Android development. It demonstrates how common examples that are typical for Android development, can be simplified using Kotlin. It also shows all the benefits, improvements and new possibilities provided by this language.

The book is divided in three modules that show the power of Kotlin and teach you how to use it properly. Each module present features in different levels of advancement. The first module covers Kotlin basics. This module will lay a firm foundation for the rest of the chapters so you are able to read and understand most of the Kotlin code. The next module dives deeper into the building blocks of Kotlin, such as functions, classes, and function types. You will learn how Kotlin brings many improvements to the table by improving common Java concepts and decreasing code verbosity. The last module presents features that are not present in Java. You will learn how certain tasks can be achieved in simpler ways thanks to Kotlin.

Through the book, you will learn how to use Kotlin for Android development. You will get to know and understand most important Kotlin features, and how they can be used. You will be ready to start your own adventure with Android development with Kotlin.

©2021 GoogleSite Terms of ServicePrivacyDevelopersAbout Google|Location: United StatesLanguage: English (United States)
By purchasing this item, you are transacting with Google Payments and agreeing to the Google Payments Terms of Service and Privacy Notice.