- Author: Sharon Biocca Zakhour, Sowmya Kannan, Raymond Gallardo
- Format: online HTML, epub, mobi
- Price: free
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.
The free version of the book is broken up into chunks. Link for obtaining the epub or mobi versions are at the bottom, as well as a link to purchase or rent a paperback version from Amazon.
Epub and Mobi downloads
Buy or rent the paperback from Amazon
- Author: Sun Microsystems, Inc.
- Format: online HTML
- Price: free
Java Look and Feel Design Guidelines, second edition, provides essential information for anyone involved in creating cross-platform GUI (graphical user interface) applications and applets in the JavaTM programming language. In particular, this book offers design guidelines for software that uses the Swing classes together with the Java look and feel.
This revised and expanded edition contains a collection of toolbar graphics, lists of terms localized for European and Asian languages, and an appendix on look and feel switching. New and revised guidelines are provided throughout, and new sections discuss smooth interaction, the use of badges in button graphics, and revised standards for window titles.
Although an application’s human interface designer and software developer might well be the same person, the two jobs involve different tasks and require different skills and tools. Primarily, this book addresses the designer who chooses the interface elements, lays them out in a set of components, and designs the user interaction model for an application. (Unless specified otherwise, this book uses “application” to refer to both applets and applications.) This book should also prove useful for developers, technical writers, graphic artists, production and marketing specialists, and testers who participate in the creation of Java applications and applets.
Java Look and Feel Design Guidelines focuses on design issues and human-computer interaction in the context of the Java look and feel. It also attempts to provide a common vocabulary for designers, developers, and other professionals.
The guidelines provided in this book are appropriate for GUI applications and applets that run on personal computers and network computers. They do not address the needs of software that runs on consumer electronic devices.
- The Java Look and Feel
- The Java Foundation Classes
- Design Considerations
- Visual Design
- Application Graphics
- Windows and Panes
- Dialog Boxes and Alert Boxes
- Menus and Toolbars
- Basic Controls
- Text Components
- Selectable Lists, Tables, and Tree Components
- Keyboard Shortcuts, Mnemonics, and Other Keyboard Operations
- Graphics Repository
- Localization Word Lists
- Switching Look and Feel Designs
Read the book: Java Look and Feel Design Guidelines
- Author: Gregory J. E. Rawlins
- Format: online HTML
- Price: free
Creating a Java program is a bit like making a movie or putting on a play. Every theatrical production needs actors (in Java these are objects), roles the actors play (classes), and scenes the actors play out (methods). In a movie or play, actors step into one of their scenes when given a cue; in a Java program, objects enter one of their methods when cued to do so by another object. The Java interpreter, which runs each Java program, is like a combination stage manager and producer—it creates the set, casts the actors, and teaches them their roles. We, as Java programmers, are like playwrights (or screenwriters) and directors put together, we specify the roles the actors will play. Our program’s users are the audience.
Just as a stage manager and a producer read a play or movie script to find out what sets to create and what kinds of actors to audition, the Java interpreter reads each of the classes that we as programmers write to find out how objects of that class must behave (their role). Unlike temperamental actors, however, each Java object does exactly as its class tells it, so each object is the personification of a single role.
Real actors can play many roles; Java objects are all role. A play’s script usually specifies the actions of many characters in lots of different roles: butlers, tycoons, girl scouts, lone gunmen. A Java class, however, only specifies the actions of one quite specific type of character; that is, one role. So a simple Java program might be the equivalent of an extremely boring play about a butler forever polishing silverware, or a snoozer about a tennis pro playing exactly one round of a game of tennis. A complex program, however, might describe a universe of thousands of roles for its objects to play, all working together to run a sophisticated game, a nuclear power station, a national telephone service, or an orbital telescope.
- Setting the Stage
- Introducing the Players
- Behind the Scenes
- Character Study
- Stage Direction
- All Together Now
- It Takes All Types
- What’s in a Name?
- Think Like an Object
- Let the Games Begin
- The Play’s the Thing
- Defensive Programming
- Design Patterns
- Navel Gazing
- Avoiding Style Crime
- Java’s Flaws
- Book Recommendations
- The Rest of Java
- Author: Steven T. Shaughnessy, Jens Ole Lauridsen
- Format: archived PDF
- Price: free
Blackfish SQL is a high-performance, small-footprint, transactional database that was originally implemented as an all-Java database called JDataStore. This is now called Blackfish SQL for Java.
Blackfish SQL was then ported from Java to C#. The C# implementation is called Blackfish SQL for Windows.
This book is intended for developers implementing Blackfish SQL database applications and system administrators responsible for installing, deploying, and maintaining Blackfish SQL databases.
A CodeGear Developer Network membership is needed in order to download the .zip file. Registration is free.
- System Architecture
- Establishing Connections
- Administering Blackfish SQL
- Using Blackfish SQL Security
- Using Stored Procedures and User Defined Functions
- Using Triggers in Blackfish SQL Tables
- Stored Procedures Reference
- SQL Reference
- Optimizing Blackfish SQL Applications
- Deploying Blackfish SQL Database Applications
- Author: Carl Albing, Michael Schwarz
- Format: PDF
- Price: free
Linux is the fastest-growing Java development platform because it saves money and time by serving as a platform for both development and deployment. But developers face significant platform-specific challenges when managing and deploying Java applications in a controlled production environment.
Written for Java and Linux developers alike, Java Application Development on Linux is the hands-on guide to the full Java application development lifecycle on Linux.
Determined to spare other developers hours of trial and error, Albing and Schwarz demonstrate the platform, tools, and application development by showing realistic, easy-to-follow examples. After a simple command-line application introduces basic tools, this program leads readers through business-logic object analysis, database design, Java servlet UIs, Java Server Pages (JSP) UIs, Swing GUIs, and Standard Widget Toolkit (SWT) GUIs. Scaling up to the enterprise level provides the opportunity to use both the JBoss Application Server and the Apache Geronimo Application Servers, and Enterprise JavaBeans (EJB).
The authors conclude by demonstrating how a hierarchy of budgets can be created, tracked, and shared with Concurrent Versions System (CVS).
A companion Website includes all source code and a link to each tool described.
Java Application Development on Linux can propel you from a standing start to the full-speed development and deployment of Java applications on Linux.
- An Embarrassment of Riches: The Linux Environment
- An Embarrassment of Riches: Editors
- An Experienced Programmer’s Introduction to Java
- Where Am I? Execution Context
- The Sun Microsystems Java Software Development Kit
- The IBM Developer Kit for Linux, Java 2 Technology Edition
- The GNU Compiler for Java (gcj)
- Know What You Have: CVS
- Ant: An Introduction
- Integrated Development Environments
- Balancing Acts: An Imaginary Scenario
- Analysis and Design: Seeking the Objects
- JUnit: Automating Unit Testing
- Storing the Data
- Accessing the Data: An Introduction to JDBC
- Getting in the Swing of Things: Designing a GUI for BudgetPro
- Other Ways: Alternatives to Swing
- Servlets: Java Pressed into Service
- JSP: Servlets Turned Inside Out
- Open Source Web Application Servers
- Introduction to Enterprise JavaBeans
- Building an EJB
- Deploying EJBs
- Parting Shots
- Author: Will Iverson
- Format: PDF
- Price: free
Using the Apache Jakarta Commons reusable Java components, you can leverage the work of the global open-source community to solve common programming problems reliably, quickly, and inexpensively.
But, to use the Commons libraries effectively, you need far more guidance than the official documentation offers. In Apache Jakarta Commons: Reusable Java Components, Will Iverson covers what Java developers need to know to take full advantage of Jakarta Commons—starting right now.
Iverson begins with a definitive overview of the Commons project: goals, installation, and getting started with Commons components. Next, he presents example-rich chapters on the twelve most useful Commons packages, covering topics ranging from HTTP FileUpload to database connectivity. Iverson provides detailed code samples for every component he describes. After you’ve mastered the core Jakarta Commons packages, you’ll constantly rely on this book’s handy seventy-five page quick-reference.
Whether you’re building code for front-end Web applications, client-side software, or back-end servers, learning Jakarta Commons will make you far more efficient. Apache Jakarta Commons is the fastest way to master and get results with Commons.
- DBCP (Database Connection Pool)
- CLI (Command-Line Interface)
- Other Projects
- Lang Reference
Download source code examples
- Author: Jason Lam
- Format: PDF download, with source
- Price: free
This book is about programming with J2ME on wireless devices with focus on developing games. It is assumed you have some knowledge and programming experience with J2ME and J2SE.
The book does not go into detail on topics like how to make high level GUI menu but does demonstrate what a game menu might look like. Nor will it explain in detail how to use the Record Management System (RMS), but will go over topics that use RMS such as high score and game settings. As well a knowledge and experience with threading will be an asset before proceeding with game development. The book will go over in detail the new game classes that are now included in the MIDP 2.0.
The book also serves as quick reference for Java programmers who are interested in mobile game development. As well, to provide good introduction for experience game developers who developed games in other languages/platforms and are now interested in using J2ME to develop games.
It is a work in progress and not quite complete as of the time of this posting.
- Mobile Game Contraints
- Before Code
- MIDP2 Game Classes
- Math Constraints
- Eliminator: Introduction
- Eliminator: Splash Screen
- Eliminator: Game Menu
- Eliminator: Exception Handling
- Eliminator: Settings & High Score
- Eliminator: Terrain (Scrolling …)
- Eliminator: Player and Bullets
- Eliminator: Change of Scenery
- Eliminator: Enemies & Game Items
- Eliminator: Boss
- Eliminator: Game Extras
- Adding Time Trial to Your Game
- Customer Interface
- (more chapters to come)
- Author: Wilson, Kesselman
- Format: HTML
- Price: free
Direct from Sun’s Java Performance Team, Java Platform Performance is a comprehensive field manual full of battle-tested strategies and tactics for developing high-performance applications and applets with Java technology.
This book covers every aspect of Java performance, including speed, scalability, RAM footprint, startup time, and user-perceived performance factors. Part I covers the crucial process issues associated with Java optimization, outlining how performance tuning fits into the software development process, showing how to use benchmarks and profiling tools to identify hot spots and bottlenecks, and presenting general strategies for enhancing the performance of Java technology-based systems.
In Part II, the authors present a wide array of concrete optimization techniques, including: enhancing the speed and scalability of Swing GUIs; providing high-speed I/O and using serialization; controlling RAM footprint and class loading; selecting optimal algorithms and data structures; using native code; and more.
The book contains detailed appendices on garbage collection and the Java HotSpot Virtual Machine, written to address key performance questions. For all intermediate-to-advanced Java software developers, engineers, engineering managers, and technical leads.
- Author: Campione, Walrath, Huml, The Tutorial Team
- Format: HTML (with archived example bundles)
- Price: free
Follow your own path to expertise with this self-guided tour of the Java programming language. Written by two members of the JavaSoft team at Sun Microsystems, the book employs a hands-on interactive approach to teaching Java basics, object-oriented concepts, applet programming, and everything else you need to know to become a proficient Java programmer.
Through a task-oriented, example-driven approach, The Java Tutorial introduces you to fundamental concepts and applications. Designed so that you can customize your own path through the specific information you need, the book explains the nuts and bolts of the language, applet construction, and the fundamental Java classes. You will also learn about more advanced topics such as creating a graphical user interface (GUI), using multiple threads, and working with Java’s networking capabilities.
- Getting Started
- Learning the Java Language
- Essential Java Classes
- Writing Applets
- Creating a GUI with JFC/Swing
- 2D Graphics
- JDBC Database Access
- Security in Java 2 SDK 1.2
- JAR Files
- The Extension Mechanism
- Java Native Interface
- The Reflection API
- Putting It All Together
- Custom Networking
- JDK 1.1 — And Beyond!
- Drag and Drop
- Security in JDK 1.1
View at Archive.org
Download example bundles at Archive.org: http://preview.tinyurl.com/3vr8e5
- Author: Cattell, Inscore, Enterprise Partners
- Format: HTML
- Price: free
Since its introduction in 1999, the Java 2 Platform, Enterprise Edition (J2EE) has achieved remarkable success. Over one million developers have downloaded the J2EE SDK and over a dozen application server companies have announced J2EE compatible products.
J2EE Technology in Practice describes how the J2EE platform has helped leading corporations, educational institutions, and government organizations meet the challenges of developing distributed applications.
Following the tradition of the Java Community Process, J2EE in Practice represents the ongoing partnership between the Java software group, J2EE licensees, and their customers. Each case study shows how the J2EE platform was used to solve an existing business problem.
J2EE Technology in Practice includes the following case studies:
- J.Crew Builds Out to the Web with the ATG Dynamo Suite
- AT&T Unisource: Cost-Optimized Routing Environment (CORE) on the Borland Application Server
- Codexa: Building a Big Bang Architecture with J2EE on Brokat’s GemStone Server
- Java Engine Powers New eTapestry.com ASP for Charities with Forte Tools
- HP Bluestone’s Total-e-Server at Altura International: Deploying J2EE for Performance and Scalability
- IBM Helps Honeywell Manage Manufacturing and Engineering Processes
- Bekins Handles Large Package Delivery with IBM and J2EE Technology
- International Data Post Brings Snail Mail to the Internet Age with iPlanet
- CERN Simplifies Document Handling Using the Oracle Application Server
- U.S. Army Military Traffic Management Command, Freight Systems Division
View at Archive.org: http://preview.tinyurl.com/6zea7y