Helping ordinary people create extraordinary websites!

Java Tutorials


Java Tutorials are a great way to learn more coding strategies and principles of Java. Below is our collection of articles and tutorials where you should be able to find the right Java tutorial to suit your need.

JavaFX in Action: Developing Classes
Jan 19th by Simon Morris

Classes are an integral part of Object Orientation, encapsulating state and behavior for each component in a larger system, thereby allowing us to express our software in terms of the structures and relationships which link its autonomous component parts. Object Orientation has become an incredibly popular way of...
Java Data Mining
Dec 7th by Satnam Alag

JDM aims at building a standard API for data mining with the goal that client applications coded to the specification are not dependent on any specific vendor application. The JDBC specification provides a good analogy to the potential of JDM.
All about JAXP, Part 1
Jul 15th by Brett McLaughlin

The Java API for XML Processing (JAXP) lets you validate, parse, and transform XML using several different APIs. JAXP provides both ease of use and vendor neutrality. This article, the first of a two-part series introducing JAXP, shows you how to take advantage of the API's parsing and validation features. Part 2 will...
Make Database Queries Without the Database
Jul 14th by Brian Goetz

When you have a hammer, everything looks like a nail (as the old saying goes). But what if you don't have a hammer? Well, sometimes, you can borrow a hammer. Then, hammer in hand, you can bang the virtual nails with the borrowed hammer, return it, and no one is the wiser. In this month's Java theory and practice, Brian...
Load List Values for Improved Efficiency
Jun 22nd by Srinivasa Rao Karanam

Reduce the number of database hits and improve your Web application's efficiency when you load common shared list values only once. In this code-filled article, learn to load the values for drop-down lists when your Web application starts and then to share these loaded list values among all the users of your application.
2 Ways To Implement Session Tracking
Jun 11th by Kiran Pai

This article explains how to implement session tracking using two of the simplest & oldest methods available to programmers. The techniques presented in this article use some old, tried and tested ways which are extremely popular even today. After reading this article you would be able to implement session tracking using...
A Simple Way to Read an XML File in Java
Jun 11th by Kiran Pai

This is actually a piece of code used by me to access XML files through Java. I have added some explanation. In case you are interested in knowing how to access XML files using Java, quickly without reading a lot of material, this is the right article for you.
Develop Aspect-Oriented Java Applications with Eclipse and AJDT
May 16th by Matt Chapman, Dr. Helen Hawkins

AspectJ is an aspect-oriented extension of the Java™ language that enables a modular implementation of crosscutting concerns. This crosscutting behavior, which can be static or dynamic, presents an extra challenge to tools that support AspectJ. The AJDT project aims to provide Eclipse platform-based tools for AspectJ,...
Java Validation With Dynamic Proxies
May 14th by Eric Olson

Version 1.3 of the Java platform saw the introduction of the dynamic proxy facility. Dynamic proxies offer many interesting solutions to Java developers, including a validation scheme that easily decouples validation logic from an application's core business logic. In this article, Java developer Eric Olson shows you how...
Using Aspects to Autonomic-Enable Legacy Applications
May 13th by Brian Temple

Learn how to use Aspects to generate Common Base Events in any legacy Java application, without modifying the original application source. This article shows you how and also provides an example framework that can be used with your applications today.
JSF for Nonbelievers: The JSF Application Lifecycle
May 5th by Rick Hightower

In this second article in his four-part JSF for nonbelievers series, Rick Hightower introduces the major phases of the JavaServer Faces (JSF) request processing lifecycle. Using a sample application, he walks you through the six phases of a request process. Along the way, he shows you how to combine JSF with JavaScript...
Assertion Extensions for JUnit
May 5th by Tony Morris

JUnit lets you test software code units by making assertions that the intended requirements are met, but these assertions are limited to primitive operations. IBM Software Engineer Tony Morris fills the gap by introducing Assertion Extensions for JUnit, which provides a set of complex assertions that execute within the...
Practically Groovy: Go Server-Side Up, with Groovy
May 5th by Andrew Glover

The Groovlet and GroovyServer Pages (GSP) frameworks are built on the shoulders of the Java™ Servlet API. Unlike Struts and JSF, however, Groovy's server-side implementation isn't meant for all occasions. Rather, it's a simplified alternative for developing server-side applications quickly and easily. Follow along with...
StrutsTestCase Simplifies the Development Process
Apr 28th by Sunil Patil

This article introduces the StrutsTestCase (STC) framework and explains how to test a sample application using the mock approach and Cactus approach. Author Sunil Patil, a developer at the IBM Software Labs in India, introduces STC, then walks you through setting up an environment for using STC and testing various Struts...
Eye on performance: Wait leaks
Apr 28th by Jack Shirazi & Kirk Pepperdine

A fine line runs between performance tuning and debugging. Several particular categories of bugs, including memory errors and thread race conditions, frequently surface during performance tuning, and this month, our performance tuning experts Jack Shirazi and Kirk Pepperdine show how to spot a particular class of race...
Java Theory and Practice: Anatomy of a Flawed Microbenchmark
Apr 27th by Brian Goetz

Software engineers are notoriously obsessed, sometimes excessively, with performance. While sometimes performance is the most important requirement in a software project, as it might be when developing protocol routing software for a high-speed switch, most of the time performance needs to be balanced against other...
Understanding JCA Transactions
Apr 22nd by Mikhail Genkin

Transaction processing is a vital part of most real-world J2EE application development. In this article, IBM Solution Architect Mikhail Genkin explains how different enterprise information systems (EIS) can participate in transactions via the J2EE Connector Architecture. Using an example e-commerce application, Mikhail...
Simplify Your Application Delivery with One-JAR
Apr 22nd by P. Simon Tuffs

If you've ever tried to deliver a Java application as a single Java Archive file (JAR file), you've most likely encountered the need to expand supporting JAR files before you build the final archive. As well as being a development nuisance, this can put you in violation of license agreements. In this article, Simon Tuffs...
Getting Started with Enumerated Types
Apr 22nd by Brett McLaughlin

One of the great new features in Tiger is the enumeration construct, a new type that allows you to represent specific pieces of data as constants, all in a type-safe manner. Tiger expert and frequent developerWorks contributor Brett McLaughlin explains what an enumeration is, how you can use it in your programs, and why it...
Use Continuations to Develop Complex Web Applications
Apr 22nd by Abhijit Belapurkar

If you've ever developed a non-trivial Web application, you know that development complexity is increased by the fact that Web browsers allow users to follow arbitrary navigation paths through the application. No matter where the user navigates, the onus is on you, the developer, to keep track of the possible interactions...
Eye on Performance: Profiling on the Edge
Apr 21st by Jack Shirazi & Kirk Pepperdine

Tuning isn't always about speed, sometimes other aspects of the application need fixing. When your application needs tuning, your first course of action is normally to monitor the application with a profiler. But profiling is not always practical -- sometimes for ironic reasons. In this installment of Eye on performance,...
Advanced Synth
Apr 16th by Michael Abernethy

Take an in-depth look at the Synth look and feel, the newest addition to Swing introduced in Java 5.0. Synth lets developers rapidly create and deploy custom looks for an application by introducing the concept of a "skin" to Java UI programming. Software Engineer Michael Abernethy takes you through Synth concepts...
Get Dynamic Web Content with HTTPRequest
Apr 11th by Doug Davis

The HttpRequest object initially might not seem like a big deal. Explore the possibilities of it when you issue a HTTP GET or POST on a URL for succinct page refreshes that update only a specific portion of the Web page
Java Theory and Practice: Generics Gotchas
Mar 23rd by Brian Goetz

Generic types, added in JDK 5.0, are a significant enhancement to type safety in the Java language. However, some aspects of generics may seem confusing, or even downright bizarre, to first-time users. In this month's Java theory and practice, Brian Goetz examines the common pitfalls that ensnare first-time users of...
TestNG Makes Java Unit Testing a Breeze
Mar 22nd by Filippo Diotalevi

In this article, Filippo Diotalevi introduces TestNG, a new framework for testing Java applications. TestNG isn't just really powerful, innovative, extensible, and flexible; it also illustrates an interesting application of Java Annotations, a great new feature in JDK 5.0.


GET OUR NEWSLETTERS