LinuxLinks.com
Newbies What Next ? News Forums Calendar

Search





News Sections
Home
General News (3973/0)
Reviews (628/0)
Press Releases (464/0)
Distributions (187/0)
Software (850/0)
Hardware (522/0)
Security (192/0)
Tutorials (338/0)
Off Topic (180/0)


User Functions
Username:

Password:

Don't have an account yet? Sign up as a New User


Events
There are no upcoming events




9 of the Best Free Java Books

9 of the Best Free Java Books

Java is a general-purpose, concurrent, class-based, object-oriented, high-level programming language and computing platform first released by Sun Microsystems in 1995. It is related in some ways to C and C++, in particular with regard to its syntax, and borrows a few ideas from other languages.

Java is designed to be simple enough that many programmers can quickly become proficient in the language. It is one of the most popular programming languages in use, especially for client-server web applications. Some popularity indexes show that Java holds the top spot with C.

This programming language is the underlying technology that powers utilities, games, business applications, and other software. One of its key attributes is its ability to enable developers to write code that runs without modification on multiple platforms, without the need to recompile the code for each platform. It therefore solves the problem of cross-platform application development. Besides Java's platform independence, the language has automatic garbage collection (avoiding the safety problems of explicit deallocation), and eliminates some low-level constructs such as pointers, aiding development. Most of the implementation of Java is released under the GNU General Public License (GPL).

The focus of this article is to select some of the finest Java books which help programmers master all aspects of this language. The books featured here help programmers of all levels take advantage of the rich tapestry of Java. All of the books are available to download for free.

To cater for all tastes, we have chosen a good range of books. All of the texts here come with our strongest recommendation. So get reading (and downloading).

1. Introduction to Programming in Java

Introduction to Programming in Java
Website introcs.cs.princeton.edu
Author Robert Sedgewick, Kevin Wayne
Format HTML
Pages 736

Introduction to Programming in Java is an interdisciplinary approach to the traditional CS1 curriculum. The book teaches all of the classic elements of programming, using an "objects-in-the-middle" approach that emphasizes data abstraction. A key feature of the book is how it motivates each programming concept by examining its impact on specific applications, taken from fields ranging from materials science to genomics to astrophysics to internet commerce.

  • Elements of Programming introduces variables; assignment statements; built-in types of data; conditionals and loops; arrays; and input/output, including graphics and sound. The chapter ends with a case study that models the behavior of a web surfer using a Markov chain
  • Functions introduces modular programming. The chapter stresses the fundamental idea of dividing a program into components that can be independently debugged, maintained, and reused. Specifically, it focuses on static methods, libraries and clients, recursion, and a case study that uses Monte Carlo simulation to study a natural model known as percolation
  • Object-Oriented Programming introduces data abstraction. Topics covered include the concept of a data type and its implementation using Java's class mechanism, creating and designing data types, and a case study that simulates the motion of N particles, subject to Newton's laws of gravity
  • Algorithms and Data Structures introduces classical algorithms for sorting and searching, and fundamental data structures, including stacks, queues, and symbol tables. The chapter finishes with a case study to investigate the small world phenomenon - the principle that we are all linked by short chains of acquaintances

2. Thinking in Java, 3rd Edition

Thinking in Java
Website www.mindview.net/Books/TIJ/ (dead link)
www.sourcefiles.org
Author Bruce Eckel
Format HTML
Pages 1119

Thinking in Java, 3rd Edition covers many of the nooks and crannies of the Java language, which is of great value in the programming world.

The most prominent feature of the book is its extremely thorough treatment of the Java language, with special attention to object design. Some of the best thinking about objects is in this book, including when to use composition over inheritance. The esoteric details of Java in regard to defining classes are thoroughly laid out.

Weighing in at over 1,000 pages, any reader who is serious about learning Java inside and out will want to take a look at this book which covers advanced thinking in object design.

Topics covered:

  • Object-design basics - an introduction to the basic concepts of OOP, including an overview of development methods
  • Inheritance and polymorphism - Polymorphism allows improved code organization and readability as well as the creation of extensible programs that can be "grown" not only during the original creation of the project but also when new features are desired
  • Object lifetimes - Java provides a feature called a garbage collector that automatically discovers when an object is no longer in use and destroys it
  • Error Handling with exception handling - dealing with errors
  • Analysis and design basics
  • Java basics: keywords and flow control
  • Initializing objects
  • Garbage collection - automatically releases memory resources when they are no longer being used
  • Java packages
  • Designing for reuse: composition vs. inheritance
  • Interfaces and inner classes
  • Arrays and container classes - includes the defining and initializing an array, returning an array, the Arrays class, filling an array, copying an array, comparing arrays, array element comparisons, sorting an array, searching a sorted array, and array summary
  • Java I/O classes - gives the reader an introduction to the variety of I/O classes in the standard Java library and how to use them
  • Concurrency - objects provide a way to divide a program into independent sections
  • Run-time type identification
  • Network programming with sockets
  • Cloning objects - looks at basic threads, sharing limited resources, thread states, cooperation between threads, deadlock and more
  • Creating Windows and Applets - covers the modern, Java 2 Swing library
  • The Java Native Interface (JNI)
  • Java programming guidelines - contains suggestions to help guide the reader in performing low-level program design, and in writing code

3. Introduction to Programming Using Java, Sixth Edition

Introduction to Programming Using Java, Sixth Edition
Website math.hws.edu/javanotes/
Author David J. Eck
Format PDF, HTML
Pages 734

Introduction to Programming Using Java is a free, on-line textbook on introductory programming, which uses Java as the language of instruction. This book is directed mainly towards beginning programmers, although it might also be useful for experienced programmers who want to learn something about Java. It is not designed to provide complete coverage of the Java language.

  • The Mental Landscape
  • Programming in the Small I: Names and Things - covers the basic building blocks - variables, expressions, assignment statements, and subroutine call statements
  • Programming in the Small II: Control - looks at how the building blocks can be put together to build complex programs with more interesting behavior
  • Programming in the Large I: Subroutines - covers static subroutines only
  • Programming in the Large II: Objects and Classes - covers the creation and use of objects in Java
  • Introduction to GUI Programming - covers the basics of GUI programming
  • Arrays - discusses how arrays are created and used in Java. It also covers the standard class java.util.ArrayList
  • Correctness, Robustness, Efficiency - looks at issues of correctness and robustness of programs. It also looks more closely at exceptions and the try..catch statement, and it introduces assertions, another of the tools that Java provides as an aid in writing correct programs
  • Linked Data Structures and Recursion - looks at two advanced programming techniques, recursion and linked data structures, and some of their applications
  • Generic Programming and Collection Classes - examines how to make pre-written, robust data structures available to programmers
  • Advanced Input/Output: Streams, Files, and Networking - looks at the basic networking API in this chapter
  • Threads and Multiprocessing
  • Advanced GUI Programming - provides a taster for this topic

Next Section: 9 of the Best Free Java Books - Page 2

This article is divided into three pages:

Page 1, Page 2, Page 3

Bookmark and Share


Last Updated Sunday, September 29 2013 @ 09:41 AM EDT


We have written a range of guides highlighting excellent free books for popular programming languages. Check out the following guides: C, C++, C#, Java, JavaScript, CoffeeScript, HTML, Python, Ruby, Perl, Haskell, PHP, Lisp, R, Prolog, Scala, Scheme, Forth, and SQL.


Group Tests
All Group Tests

Top Free Software
6 Office Suites
7 Document Processors
6 Lean Desktops
6 Desktop Search
9 Project Management
9 Groupware Apps
14 File Managers
10 Databases
21 Backup Tools
21 DVD Tools
21 Window Managers
21 Productivity Tools
9 Terminal Emulators
21 Financial Tools
21 Text Editors
21 Video Emulators
21 Home Emulators
42 Graphics Apps
6 CAD Apps
42 Scientific Apps
10 Web Browsers
42 Email Apps
12 Instant Messaging
10 IRC Clients
7 Twitter Clients
12 News Aggregators
11 VoIP Apps
11 Remote Display Apps
42 Best Games
42 More Games
21 More Games
21 Notable Games (1)
21 Notable Games (2)
21 Notable Games (3)
8 ASCII Games
9 Educational Games
42 Audio Apps
42 Video Apps
6 Screencasting Apps
80 Security Apps
9 System Monitoring
6 Family History Apps
11 PDF Tools
6 Music Servers
6 Collection Managers
7 Calculator Apps
8 Geometry Apps
Free Console Apps
14 Multimedia
Programming
8 Compilers
9 IDEs
9 Debuggers
7 Revision Control Apps
6 Doc Generators
'Free' Proprietary
21 Closed-Source Apps
Top Commercial Apps
42 Games
Free Web Software
21 Web CMS
14 Wiki Engines
8 Blog Apps
6 eCommerce Apps
5 Human Resource Apps
10 ERP
10 CRM
6 Data Warehouse Apps
8 Business Intelligence
6 Point-of-Sale

All Group Tests

Other Articles
Migrating from Windows
Back up your data
Distribution Guide
Distro Portal Pages
20 Free Linux Books
Running Linux Under Windows


Older Stories
Sunday 12/08
  • Top Email Encryption Tools (0)

  • Saturday 11/30
  • Small Image Tools that Pack a Real Punch (0)

  • Sunday 11/17
  • OneNote Alternatives (0)
  • Making Linux More Accessible (0)
  • Easy Ways to Create Screencasts (0)
  • Bloated Audio Players? No Thanks! (0)

  • Saturday 10/19
  • Tesco Hudl HT7S3 Review (0)

  • Sunday 10/13
  • Lightweight Frameworks to Kick Start HTML / CSS Projects (0)
  • Complete Frameworks for Quick Styling of Websites (0)

  • Saturday 09/28
  • Choosing a Journaling File System (0)


  • Vote

    What do you find MOST attractive about Open Source software?

    Amount of customization
    Security
    Freedom provided
    Speed of development
    Quality
    Multiple versions
    Cost
    Potential to contribute
    Ability to modify code
    Results
    4656 votes | 2 comments

    Built with GeekLog and phpBB
    Comments to the webmaster are welcome
    Copyright 2009 LinuxLinks.com - All rights reserved