This Java tutorial covers most aspects of the Java programming language used by a novice programmer. Beginning with the history of the evolution of Java, it moves on to describe the various features of Java, which would help you learn to write efficient application programs.