A Java application resembles programs in most compiled languages. Code in object format resides on the user's machine and is executed by a run-time interpreter that normally has to be user installed.
Previously you wrote a simple 'hello world!' application to test the development environment. Now comes the explanation of the basic structure of Java applications using it as an example. Applications are stand alone and are invoked (or executed) by using a Java interpreter.
New to Java Center
What is the Java platform and how does it differ from the Java programming language? What do J2SE, JDBC technology, and AWT stand for? The following articles answer these questions and help you understand the Java platform.
There are many ways to approach learning Java programming. Some people start by writing a simple applet or application, and go on to learn about servlets. Others need to learn about a particular technology area right away. No matter what your approach, to learn and develop applications written in the Java programming language, you must first set up the Java platform.
Cafe au Lait Java News and Resources
The GNU Project has released version 0.90 of GNU Classpath, an incomplete free implementation of the core Java class libraries. New features in this release include HTTPS, Unicode 4.0.0, and RELAX NG and W3C XML schema validation. Many holes in Swing support have been filled in as well. gtk 2.4 or later is required fro GUI operations. GNU Classpath is published under the GPL with library exception.
jGuru: Language Essentials: Introduction
The Java Developer Connection (JDC) presents a Short Course on Java Language Essentials technology written by jGuru (formerly named the MageLang Institute).
This course introduces the Java programming language. It includes examples that demonstrate the syntax of the language in an object-oriented framework, along with standard programming practices such as defining instance methods, working with the built-in data types, creating user-defined data types, and working with reference variables. There is also an appendix to help developers transition over from COBOL.
Essentials of the Java Programming Language.
If you are new to programming in the Java language, have some experience with other languages, and are familiar with things like displaying text or graphics or performing simple calculations, this tutorial could be for you. It walks through how to use the Java® 2 Platform software to create and run three common types of programs written for the Java platform—applications, applets, and
servlets. You will learn how applications, applets, and servlets are similar and different, how to build a basic user interface that handles simple end user input, how to read data from and write data to files and databases, and how to send and receive data over the network. This tutorial is not comprehensive, but instead takes you on a straight and uncomplicated path through the more common programming features available in the Java platform.
Essentials of the Java Programming Language, Part 2
This series of lessons builds on the material presented in Java Programming Language Basics, Part 1, which introduced applications, applets, and servlets; simple file and database access operations; and remote method invocation (RMI). The lessons and code examples for Part 2 are somewhat more complex. They walk you through network communications, building a user interface using more components, data encryption and decryption (pseudo code only), grouping multiple data elements into one object (collections), and internationalizing a program. Part 2 concludes with some object-oriented programming concepts.
Java was originally developed at SunMicrosystems in 1991 to provide a platform-independent programming language and operating system for consumer electronics (TV sets, toasters and VCRs).
In syntax and execution, Java is a lot like a simplified version of C++. ("simplified" should be read in the previous sentence as "an improved"). It is a highly robust, distributed, high performance, object-oriented, multi-threaded language with all of the usual features. As such, it builds upon years of C++ development, taking the good and dispensing with the bad.
Brewing Java: A Tutorial
This tutorial has grown into a book called The Java Developer's Resource, available now from Prentice Hall. It's now out of print, but the examples and exercises from that book are also online here and may be of use. For more details about the JDR including the plans for a second edition see the JDR page.
This tutorial covers Java 1.0. I've also posted several hundred pages of lecture notes from an Introduction to Java Programming course I'm teaching at Polytechnic University.
Java Coffee Break Tutorials
Here are all our tutorials on Java programming. If you can't find what you're looking for, also try our articles section, which typically deals with more advanced topics.
If you wish to use any source code from the tutorials in your projects, you'll need to import the files into your project first. Also remember that Visual J++ 1.1 isn't JDK1.1 compatible - you'll need to upgrade your Microsoft Java Virtual Machine first.
Computer Aided Instruction Project
This is a gentle introduction to programming using the computer programming language QuickBasic (sometimes called QBasic). This introduction is used for a course in computer literacy for students in all majors. Its goal is to show what programming is about. These are interactive lessons. Each chapter consists of about 20 web pages, and is about the equivalent of one classroom lecture. At the bottom of each page is a question on the material on that page. Answer the question before moving on to the next page.
I've created a set of microbenchmarks to test the performance of Java operations on different platforms. These can be used to guide optimization decisions and to compare different Java implementations. This page describes the microbenchmarks and analyses the results for several different Java implementations on a low-end PC. The applet and results submitted by readers for different platforms, together with the industry-standard Linpack benchmark.
Introductory Swing Demonstration Applications
These are applications - not applets. The following pictures are images only. You must download the Java source code, compile with javac, then execute with java (ie. the Java interpreter) to run these
Java 101 : Hello World
Java quickly became a hot buzzword of the computing industry. People wanted to know Java - it was said to be great for creating dynamic interactive content for webpages. Yet the true power of Java lies not in applets, but in its many other uses. Java is used for developing standalone applications, and for server-side programming. The face of Java has changed, but the core language remains the same. In this tutorial series, I'll teach you the basics of Java programming. You'll still need a good book as a companion to this tutorial series, but for those who are dabbling in Java, this should be enough to get your feet wet.
How to understand Java by looking at pretty colors
When I first started learning how to program Java, I was left totally confused about this whole "object-oriented" thing. What books I had explained the concept poorly, and then went straight on to advanced programming tips. I felt frustrated and lost. Not being particularly math-oriented, I needed a good analogy to help me understand the nature of Java.
Regular Expressions and the Java Programming Language
Applications frequently require text processing for features like word searches, email validation, or XML document integrity. This often involves pattern matching. Languages like Perl, sed, or awk improves pattern matching with the use of regular expressions, strings of characters that define patterns used to search for matching text. To pattern match using the Java programming language required the use of the StringTokenizer class with many charAt substring methods to read through the characters or tokens to process the text. This often lead to complex or messy code.
Men are amused by anything. That is why professional ice hockey is so popular. That is why Disneyland runs into lengthier balance sheets than the scientific museums. And that is why something like Java is touted as the next Glasnost (well, unless you are a snoozebucket, you are probably aware of Java, the new language that is bowling the world over). Make way. Here comes the stuff our forefathers warned us about. It is mightier than the sword, the pen and usually, the programmer. A thousand and one news-breakers and articles have done their rounds on how Java is invariably an isotope of C++ minus the warts and pimples, on how it is going to give the Internet an upbeat facelift, on how......
Packaging Programs in JAR Files
The JavaTM Archive (JAR) file format enables you to bundle multiple files into a single archive file. Typically a JAR file contains the class files and auxiliary resources associated with applets and applications.
You can digitally sign the contents of a JAR file. Users who recognize your signature can then optionally grant your software security privileges it wouldn't otherwise have.
Java is designed to be architecturally neutral so it can run on multiple platforms. The same runtime code can run any platform which supports Java.
To achieve its cross-architecture capabilities, the Java compiler generates architecturally neutral bytecode instructions. These instructions are designed to be both easy to interpret on any machine and easily translated into native machine code on the fly.
Wildly popular due to its interactive multimedia capabilities, Java programming leads the list of Internet development skills in current commercial demand. In this first half of our two-part tutorial on Java applet development, we explore the essentials of Java's components. These include how Java development tools relate to each other and--most importantly--how they are used to provide content that executes on the client side instead of on your server.
ChiMu OO and Java Development:
Guidelines and Resources
This document does not define standards but provides resources and guidelines that can be chosen as part of a team’s standards. A common approach would be to define a separate standards document — along with useful supporting materials like code templates, UML examples, and CASE templates — that priorities guidelines, makes them more concrete, and fills in gaps that are important to a development team. ChiMu uses this approach internally and recommends it to clients.
Summaries of the latest Java IDEs, tools, and products for programmers and non-programmers alike.
At this year's No Fluff, Just Stuff symposium in New York, Barry Burd asked three experts to compare Java with Ruby on Rails--a framework, built on the Ruby language. Here.s what the experts had to say.
Mandomartis Online Courses
The first course being developed here in the online courses site is the Basic Course In Special Effects and Game Development in Java by Anibal Wainstein. Here you will learn to make games, both multiplayer and singleplayer with game servers. Special effects like scrollers, image slideshows, message applets, navigation menus and buttons will be reviewed. You will also learn application development, client-server systems and Java's graphics engine but on a smaller scale. Currently four chapters have been published in English. However if you understand Swedish you can read more published chapters at Live Programming.
Concurrent Programming Using Java
This is an introduction to using the Java programming language in concurrent or multithreaded applications. The context is the process synchronization material and related concurrent programming in operating systems courses as opposed to software engineering. Topics covered are race conditions when threads share data, critical sections, mutual exclusion, semaphores, monitors, message passing, the rendezvous, remote procedure calls, distributed or network programming, and parallel processing. Solutions to the classical problems talked about in operating systems courses (the dining philosophers, the bounded buffer producers and consumers, and the database readers and writers) are shown in Java. Also shown is how to animate algorithms using the command set of the Xtango animation interpreter, animator. Some of the animation examples can be viewed as applets.
Object Initialization in Java
An object is a chunk of memory bundled with the code that manipulates memory. In the memory, the object maintains its state (the values of its instance variables), which can change and evolve throughout its lifetime. To get a newly-created object off to a good start, its newly-allocated memory must be initialized to a proper initial state. This article is a companion piece to this month's Design Techniques installment, which focuses on designing classes for proper initialization. Here we take an in-depth look at the mechanisms Java uses to manage object initialization.
Sockets programming in Java: A tutorial
This tutorial presents an introduction to sockets programming over TCP/IP networks and shows how to write client/server applications in Java.
The Unix input/output (I/O) system follows a paradigm usually referred to as Open-Read-Write-Close. Before a user process can perform I/O operations, it calls Open to specify and obtain permissions for the file or device to be used. Once an object has been opened, the user process makes one or more calls to Read or Write data. Read reads data from the object and transfers it to the user process, while Write transfers data from the user process to the object.
In Java 1.2, the paintComponent method is supplied with a Graphics2D object (a subclass of Graphics), which contains a much richer set of drawing operations. It includes pen widths, dashed lines, image and gradient color fill patterns, the use of arbitrary local fonts, a floating point coordinate system, and a number of coordinate transformation operations. However, to maintain compatibility with Swing as used in Java 1.1, the declared type of the paintComponent argument is Graphics, so you have to cast it to Graphics2D.
The Java Developer Connection (JDC) presents a Short Course on Security written by Java Software licensee, the MageLang Institute. A leading provider of Java technology training, MageLang has contributed regularly to the JDC since 1996.
The MageLang Institute, since its founding in 1995, has been dedicated to promoting the growth of the Java technology community by providing excellent education and acting as an independent resource. To find out more about MageLang's Java technology training, visit the MageLang web site.
The Wonders of Java Object Serialization
With the release of Java 1.1, the Java community has gained access to a wide variety of features that were not available in Java 1.0. Some of the important features include remote method invocation (RMI), Java database connectivity (JDBC) (or more specifically the java.sql package ), inner classes (nested classes), reflection, Java native interfaces (JNI), JavaBeans, internationalization, JAR files, and object serialization. With all of these new features, the possibilities for Java programs expand significantly compared to the ``old days'' of 1.0. This article will attempt to render a good explanation and tutorial through one of these new features: object serialization.
Advanced Programming for the Java 2 Platform
As an experienced developer on the Java platform, you undoubtedly know how fast moving and comprehensive the platform is. Its many application programming interfaces (APIs) provide a wealth of functionality for all aspects of application and system-level programming. Real-world developers never use one or two APIs to solve a problem, but bring together key functionality spanning a number of APIs. Knowing which APIs you need, which parts of which APIs you need, and how the APIs work together to create the best solution can be a daunting task.
CGI Programming in Java
These examples cover using Java for both the client and the server side of the CGI process. The client-side part covers using GET and POST from applets to talk to CGI programs (regardless of what language the CGI programs are written in). The server-side part covers implementing CGI programs in Java that handle GET and POST (regardless of whether the client uses HTML forms or applets), and also includes a URL decoder and CGI form parser in Java (and a similar parser for cookie values).
Fundamentals of the JavaMail API
The Java Developer Connection (JDC) presents a Short Course written by jGuru (formerly named the MageLang Institute). This Short Course provides an introduction to the JavaMail API.
Looking to incorporate mail facilities into your platform independent Java solutions? Look no further than the JavaMail API, which offers a protocol independent model for working with IMAP, POP, SMTP, MIME, and all those other Internet-related messaging protocols. With the help of the JavaBeans Activation Framework (JAF), your applications can now be mail-enabled through the JavaMail API.
Remote Method Invocation: Introduction
The Java Developer Connection (JDC) presents a Short Course introducing the Remote Method Invocation API, written by Java Software licensee, jGuru (formerly named the MageLang Institute). A leading provider of Java technology training, jGuru has contributed regularly to the JDC since 1996.
Reach out and touch someone. Object-oriented distributed computing is all about communication between objects that live in different virtual machines. Remote Method Invocation (RMI) makes sending a message to an object in Timbuktu as easy as invoking a method on a local object. RMI is 100% Pure Java . And best of all, it's built into the core Java libraries (version 1.1 and higher). This module introduces RMI and covers its strengths and weaknesses as a platform for distributed computing.
Java and XML: SOAP
SOAP is the Simple Object Access Protocol. If you haven't heard of it by now, you've probably been living under a rock somewhere. It's become the newest craze in web programming, and is integral to the web services fanaticism that has taken hold of the latest generation of web development. If you've heard of .NET from Microsoft or the peer-to-peer "revolution," then you've heard about technologies that rely on SOAP (even if you don't know it).