Exploring Java - Free Ebook
Ebook - Java Fundamental Classes Reference
- Java is now more dynamic. An expanded Class class, in conjunction with the new java.lang.reflect package, allows objects to access methods and variables of objects that they were not compiled with.
- There are classes in java.io that build on the new dynamic capabilities to provide the ability to read and write objects as streams of bytes.
- There is increased support for internationalization. The support includes a Locale class and classes to format and parse data in locale-specific ways. There is also support for loading external locale-specific resources, such as textual strings.
- The java.util.zip package provides the ability to read and write compressed files.
- The java.math package provides the ability to perform arithmetic operations to any degree of precision that is necessary.
There are also more ways to package and distribute Java programs. In addition to being able to build command-line based applications and applets that are hosted by browsers, we now have the Java Servelet API that allows Java programs to function as part of a web server. Furthermore, the nature of applets may be changing. Instead of waiting for large applet to be downloaded by a browser, we now have push technologies such as Marimba's Castanet that ensure that the most current version of an applet is already on our machine when we want to run it.
Many new uses for Java have appeared or are on the horizon. For example, NASA is using Java applets to monitor telemetry data, instead of building more large, dedicated hardware consoles. Cellular phone manufacturers have committed to making cellular phone models that support Java, so in the future we may see Java programs that run on cellular phones and allow us to check e-mail or view location maps. Many additional APIs are also on the way, from Sun and other companies. These APIs not only supply infrastructure, but also provide frameworks for building domain-specific applications, in such areas as electronic commerce and manufacturing.
This java ebook is about the classes that provide the most fundamental infrastructure for Java. As you use this book, we hope that you will share our enthusiasm for the richness of what is provided and the anticipation of what is yet to come.
Java AWT Reference
This state of affairs raises obvious problems for my book. Nothing would have made me happier than to write a book that covered AWT 1.1 only. It would be significantly shorter, for one thing, and I wouldn't have to spend so much effort pointing out which features are present in which release. But that's not the current reality. For the time being, programmers still need to know about 1.0.2. Therefore, this book covers both releases thoroughly. There are many examples using 1.0.2; many more examples that require 1.1; and more examples showing you how to update 1.0.2 code to use 1.1's features.
Java Language Reference
- Inner classes, which include nested top-level classes and interfaces, member classes, local classes, and anonymous classes
- final local variables, method parameters, and catch clause parameters
- Instance initializers
- Blank finals, or final variable declarations that do not include initializers
- Class literals for obtaining Class objects
- Anonymous arrays, or arrays created and initialized without a variable initializer
Ebook - Java in a Nut Shell
This book is divided into five parts:
This first part of the book introduces Java and Java programming, with a particular emphasis on helping C and C++ programmers make the transition to Java. If you are already familiar with Java 1.0 programming, you can skip the three chapters in this part.
This second part of the book contains two chapters that introduce the new features of the Java 1.1 API and the new language features in Java 1.1.
This part contains example programs that demonstrate many of the new features of Java 1.1. You may find that these examples are a good starting point for your own programs, and you should feel free to adapt them for your own use. As explained below, this example section has changed a lot since the first edition of this book.
This part of the book contains reference material that describes the syntax of the Java language and the tools provided with the Java Development Kit (JDK), among other things.
This part is a quick reference for the Java API; it forms the bulk of the book. Please be sure to read the How To Use This Quick Reference material, which appears at the beginning of the part. It explains how to get the most out of the reference material.
Java FAQ's - Core, Advanced, Enterprises, Miscellaneous
- Language Fundamentals(147)
- Virtual Machine(19)
- Classes, Interfaces, & Pkgs(49)
- Exceptions(09)
- Applets(55)
- Abstract Window Toolkit(70)
- Events - JDK 1.1 and above(27)
- Drawing(38)
- Threads(21)
- Input, Output(38)
- Network(68)
- Miscellaneous(28)
Advance Java FAQ
- Servlets (12)
- JDBC (38)
- Swing (15)
- RMI (30)
- Java Beans(15)
- Java IO (10)
- Jini (09)
- CORBA (04)
- Browsers (07)
Java Lecture Notes
Week 1: Basic Java
Week 2: Procedural Java
Week 3: Introduction to java Objects
Week 4: More java ObjectsMidterm
Week 5: Introducing java Applets
Week 6: Java Components
Week 7: Java Events
Week 8: Java LayoutManagers, Windows, and Dialogs
Week 9: Java Images and Menus
Week 10: Java I/O and Streams
Week 11: Java Threads
Week 12: Java Network Programming
Week 13: Cut and Paste, Printing, Future Directions
Week 14: Final Exam
Read More/get this free ebook
Java an Object First Approach - Free Ebook
- Two Initial Applications
- An overview of Java classes
- The start of the Counters class hierarchy
- The completion of the Counters hierarchy
- The RoomMonitor class and MoneyRegister hierarchy
- The BasicMenu class
- The AdaptingMenu class
- Java Concurrent processes
- Java Keyboard input and formatted output
- The JulianDate Hierarchy
- Testing Software
- Java Streams
- Java Standard Iterative Data Structures
- Developer Supplied Data Structures.
- Dynamic and recursive data structures
- Java Graphical User Interfaces.
A Guide to Java Programming - Bleeding at the Keyboard
Java Version- How to Think Like a Computer Scientist - Fourth Edition
A Gentle Introduction to Java Programming
- Flags
In which draw colourful pictures using powerful java programming features.
- World Factbook I
In which we look at the countries of the world one at a time. We practice "if"
- Function
In which we calculate values
- Boxes
In which we practice conditions with two numbers
- World Factbook II
In which we use a loop to examine the CIA's World Factbook
- Strings
In which we manipulate and test strings.
- World Factbook II
In which we use an accumulating variable to count and sum.
- Using the documentation
In which we examine fonts.
- World Factbook III
In which we use the TreeMap Class.
- Bricks
In which we use for loops.
- Quilts
In which we practice a functional style of programming with immutable objects.
Reference: how to...
- Hello World
Some short, trival programs.
- Data types
Creating variables of different types. Converting between variable types.
- Control structures
We control program flow with while, for, foreach, if, return, break and other constructs
- Tests
We look at the different ways to test conditions.
- In-built function
We can use many functions provided by the core language. String and number functions primarily.
- In-built data structures
We can make use of arrays, hash tables and dates.
- Input and output
We explore the options for reading and writing data to files and to databases.
- Graphics
Drawing lines, polygons, strings and other shapes.
- Graphic User Interface
Buttons, text boxes that users can see and control.
- Programming techniques
Read More/Start Java TrainingAccumulating variables, recursion, function composition.
Essentials of the Java Programming Language, Part 1
The Java platform consists of the Java application programming interfaces (APIs) and the Java virtual machine (JVM).
Java Au Naturel - Guide to Object Oriented Design - Java 2 with Swing
Introduction to Programming Using Java, Fifth Edition
Introduction to Programming Using Java is a free introductory computer programming textbook that uses Java as the language of instruction. It is suitable for use in an introductory programming course and for people who are trying to learn programming on their own. There are no prerequisites beyond a general familiarity with the ideas of computers and programs. There is enough material for a full year of college-level programming. Chapters 1 through 7 can be used as a textbook in a one-semester college-level course or in a year-long high school course.
This version of the book covers "Java 5.0", and many of the examples use features that were not present in earlier versions of Java. (Sometimes, you will see this version of Java referred to as Java 1.5 instead of Java 5.0.) Note that Java applets appear throughout the pages of this book. Many of those applets will be non-functional in Web browsers that do not support Java 5.0.
The home web site for this book is http://math.hws.edu/javanotes/. The page at that address contains links for downloading a copy of the web site and for downloading a PDF version of the book.
In style, this is a textbook rather than a tutorial. That is, it concentrates on explaining concepts rather than giving step-by-step how-to-do-it guides. I have tried to use a conversational writing style that might be closer to classroom lecture than to a typical textbook. You'll find programming exercises at the end of most chapters, and you will find a detailed solution for each exercise, with the sort of discussion that I would give if I presented the solution in class. I strongly advise that you read the exercise solutions if you want to get the most out of this book. This is certainly not a Java reference book, and it is not even close to a comprehensive survey of all the features of Java. It is not written as a quick introduction to Java for people who already know another programming language. Instead, it is directed mainly towards people who are learning programming for the first time, and it is as much about general programming concepts as it is about Java in particular. I believe that Introduction to Programming using Java is fully competitive with the conventionally published, printed programming textbooks that are available on the market. (Well, all right, I'll confess that I think it's better.)
There are several approaches to teaching Java. One approach uses graphical user interface programming from the very beginning. Some people believe that object oriented programming should also be emphasized from the very beginning. This is not the approach that I take. The approach that I favor starts with the more basic building blocks of programming and builds from there. After an introductory chapter, I cover procedural programming in Chapters 2, 3, and 4. Object-oriented programming is introduced in Chapter 5. Chapters 6 covers the closely related topic of event-oriented programming and graphical user interfaces. Arrays are covered in Chapter 7. Chapter 8 marks a turning point in the book, moving beyond the fundamental ideas of programming to cover more advanced topics. Chapter 8 is mostly about writing robust and correct programs, but it also has a section on parallel processing and threads. Chapters 9 and 10 cover recursion and data structures, including the Java Collection Framework. Chapter 11 is about files and networking. Finally, Chapter 12 returns to the topic of graphical user interface programming to cover some of Java's more advanced capabilities.
Major changes have been made in the fifth edition. Perhaps the most significant change is the use of parameterized types in the chapter on generic programming. Parameterized types -- Java's version of templates -- were the most eagerly anticipated new feature in Java 5.0.
Other new features in Java 5.0 are also covered. Enumerated types are introduced, although they are not covered in their full complexity. The "for-each" loop is covered and is used extensively. Formatted output is also used extensively, and the Scanner class is covered (though not until Chapter 11). Static import is covered briefly, as are variable arity methods...........
Introduction to Computer Science using Java
Thinking in Java, 3rd ed. Revision 4.0
1000 Java Tips
JDiff - An HTML Report of API Differences
- Comparing J2SE1.4.2 and J2SE1.5.0b1. Report (KB, gzip'd tar) Download
- Comparing J2SE1.4.0 and J2SE1.4.1. Report (13KB, gzip'd tar) Download
- Comparing J2SE1.4.0 and J2SE1.4.1 including documentation and statistics. Report (528KB, gzip'd tar) Download
- Comparing J2SE1.3.1 and J2SE1.4. Report (456KB, gzip'd tar) Download
- Comparing J2SE1.3.1 and J2SE1.4 including documentation and statistics. Report (2.9MB, gzip'd tar) Download
Java API Specifications
- Java SE 6
- J2SE 1.5.0
- J2SE 1.4.2
- J2SE 1.3.1
Enterprise Edition
- Java EE 5
- J2EE 1.4
- J2EE 1.3
- J2EE 1.2.1
Micro Edition
- J2ME
Javacard
- Javacard
Java Web Services
- Java Web Services
XML
- XML
Other Technologies
- Java 3D
- Java Advanced Imaging (JAI)
- JavaBeans Activation Framework
- Java Communications
- JavaMail
- Java Media Framework (JMF)
- Java Speech
- Real-Time Specification for Java (RTSJ)
- Other Technologies
The Java Course
- The way of the program
- What is a programming language?
- What is a program?
- What is debugging?
- Formal and natural languages
- The first program
- Java Variables and types
- More printingVariables
- Assignment
- Printing variables
- Keywords
- Operators
- Order of operations
- Operators for Strings
- Composition
- Java Methods
- Floating-point
- Converting from double to int
- Math methods
- Composition
- Adding new methods
- Classes and methods
- Programs with multiple methods
- Methods with results
- Java Conditionals, graphics and recursion
- The modulus operator
- Conditional execution
- Alternative execution
- Chained conditionals
- Nested conditionals
- The return statement
- Type conversion
- Slates and Graphics objects
- Invoking methods on a Graphics object
- Coordinates
- A lame Mickey Mouse
- Other drawing commands
- Recursion
- fractal Mickey Mouse
- Stack diagrams for recursive methods
- Convention and divine law
- Fruitful Java methods
- Return values
- Program development
- Composition
- Overloading
- Boolean expressions
- Logical operators
- Boolean methods
- More recursion
- Leap of faith
- One more example
- Java Iteration
- Multiple assignment
- Iteration
- The while statement
- Tables
- Two-dimensional tables
- Encapsulation and generalization
- Methods
- More encapsulation
- Local variables
- More generalization
- Java Strings and things
- Invoking methods on objects
- LengthTraversal
- Run-time errors
- Reading documentation
- The indexOf method
- Looping and counting
- Increment and decrement operators
- Character arithmetic
- Strings are immutable
- Strings are incomparable
- Java Interesting objects
- What's interesting?
- Packages
- Point objects
- Instance variables
- Objects as parameters
- Rectangles
- Objects as return types
- Objects are mutableAliasingnull
- Garbage collection
- Objects and primitives
- Create your own Java objects
- Class definitions and object types
- Time
- Constructors
- More constructors
- Creating a new object
- Printing an object
- Operations on objects
- Pure functions
- Modifiers
- Fill-in methods
- Which is best?
- Incremental development vs. planning
- Generalization
- Algorithms
- Arrays
- Arrays of Objects
- Objects of Arrays
- Object-oriented programming
- Linked lists
- Stacks
- Queues and Priority Queues
- Trees
- HeapTable
- Appendix
- Index
JDK 1.4 Tutorial
Whatever their origin, these features extend Java’s capabilities, encapsulating complex functionality behind simple abstractions. Some of the features help integrate Java further into the host operating system, providing direct access to services that had previously only been accessible to native code.
This book is decidedly code-centric. The central feature of each chapter is a program or set of programs that demonstrate the subject of the chapter within a complete, real-world program. Although each chapter starts with an overview of its topic and outlines the main classes and methods of the crucial packages, it does not duplicate information that can easily be found in the Java documentation.
Sun Java Tutorials
- Getting Started — An introduction to Java technology and lessons on installing Java development software and using it to create a simple program.
- Learning the Java Language — Lessons describing the essential concepts and features of the Java Programming Language.
- Essential Java Classes — Lessons on exceptions, basic input/output, concurrency, regular expressions, and the platform environment.
- Collections — Lessons on using and extending the Java Collections Framework.
- Swing — An introduction to the Swing GUI toolkit, with an overview of features and a visual catalog of components. See below for a more comprehensive tutorial on Swing.
- Deployment — How to package applications and applets using JAR files, and deploy them using Java Web Start and Java Plug-in.
- Preparation for Java Programming Language Certification — List of available training and tutorial resources.
These trails and lessons are only available as web pages.
- Custom Networking — An introduction to the Java platform's powerful networking features.
- The Extension Mechanism — How to make custom APIs available to all applications running on the Java platform.
- Full-Screen Exclusive Mode API — How to write applications that more fully utilize the user's graphics hardware.
- Generics — An enhancement to the type system that supports operations on objects of various types while providing compile-time type safety. Note that this lesson is for advanced users. The Java Language trail contains a Generics lesson that is suitable for beginners.
- Internationalization — An introduction to designing software so that it can be easily be adapted (localized) to various languages and regions.
- JavaBeans — The Java platform's component technology.
- JDBC Database Access — Introduces an API for connectivity between the Java applications and a wide range of databases and a data sources.
- JMX— Java Management Extensions provides a standard way of managing resources such as applications, devices, and services.
- JNDI— Java Naming and Directory Interface enables accessing the Naming and Directory Service such as DNS and LDAP.
- RMI — The Remote Method Invocation API allows allows an object to invoke methods of an object running on another Java Virtual Machine.
- Reflection — An API that represents ("reflects") the classes, interfaces, and objects in the current Java Virtual Machine.
- Security — Java platform features that help protect applications from malicious software.
- Sound — An API for playing sound data from applications.
- 2D Graphics — How to display and print 2D graphics in applications.
Popular Posts
-
By David J. Eck I ntroduction to Programming Using Java is a free introductory computer programming textbook that uses Java as the language...
-
By Robert Sedgewick and Kevin Wayne This booksite supplements the forthcoming textbook Introduction to Computer Science in Java by Robert Se...
-
This post helps you to study java programming. Following free java ebooks focus on java tutorial, java swing, sun java interface, java strut...
-
By Mikalai Zaikin The purpose of this document is to help in preparation for exam CX-310-220 (Sun Certified Developer for Java Web Services)...
-
By Mikalai Zaikin The purpose of this document is to help in preparation for exam 310-052 (Sun Certified Enterprise Architect for Java EE 5)...
-
By David Schmidt, Kansas State University This free ebook entitiled "Programming Principles in Java: Architectures and Interfaces"...
-
By Patrick Niemeyer & Joshua Peck This ebook is about the Java language and programming environment. If you've been at all active on...
-
"Bleeding at the Keyboard" is a very nice java ebook and a good java guide teaches you modern programming with java. This java ebo...
-
By Mark Grand This book is a reference manual for the Java programming language; it covers Version 1.1 of the Java language. It provides a c...
-
By John Zukowski The Abstract Window Tookit (AWT) provides the user interface for Java programs. Unless you want to construct your own GUI o...