We know that books are expensive and everybody by nature like to save every penny especially in this bad economic all over the world.
So this few links can help you save few pennies

Just be warned these are only Limited preview so sometimes you may not be able to access some sections, similar to Safari service A Programmer's Guide to Java™ SCJP Certification: A Comprehensive Primer, Third Edition

Javapassion.com holds free online courses taught by Sang Shin

These courses are free to take for anyone who wants to enhance their knowledge and programming skill on Java technologies.

What you waiting for??? ;)

How about some Free Online Video Tutorials in Java,
here are a couple of links:

1.) Java Video Tutes

2.) Java-o-Matic

If you prefer and have got money to spend and would prefer video learning or supplement your learning with commercial java video training/tutorials, you might want to try:

1.) VTC Java: Introduction to the Java Programming Language by Arthur Griffith

*The problem with this video is that it covers the version 1.4 before versions 5.0 and 6.0, given sun's confusing marketing versioning system of java for beginner's that dont know this 1.4 isn't java 1 it actually would translate to java 4.0.

2.) VTC Java 6 by Arthur Griffith

* Obviously from the title it is up to date with java version 6.0, but this video is not for absolute beginners with no knowledge in programming, it is for java programmer's to learn the version 6 or for other programmers using different languages to find out about java version 6.0

Using both VTC videos listed in 1.) and 2.) would supplement learning java easier, though the cost would rise it would still be alot cheaper than taking up courses be it web/CD/live-classroom types from Sun Microsystems, listed in their online training catalog.

3.) (Live Lessons) Java Fundamentals I and II, Video Training Prentice Hall Author/s: Harvey M. Deitel, Paul J. Deitel

*More up to date, recommended, Authored by Deitels.

IMHO Best english "Java Specific Programming Books" to date (on versions 5.0 and 6.0) for beginners, that I had the chance of reading/browsing through from bookstores/libraries, friends books, and a few that I actually own, also while no programming book could ever please everybody in the world, if you do take into considerations my book recommendations, please do try to read or browse the said books before buying them (from the bookstore or library), to see if you do like the book/s:

1.) "Head First Java, 2nd Edition (2005)", Author/s: by Kathy Sierra and Bert Bates.

**Best book for fun, self-study, painless, friendly, hand holding, easy non-terse graphic book for java beginner.

2.) Beginning Programming with Java For Dummies, 2nd Edition (2005) Author/s: by Barry Burd

3.) Java For Dummies, 4th Edition (2006) Author/s: by Barry Burd

** Both books listed at 2.) and 3.) by the same author are for simplifying the very basics of java programming and thus, it lacks alot of further material (yes even for beginner programmers) you would need to learn for programming in java, you would eventually need other books and training materials if you purchase these books, I generally wouldn't recommend them as good bang for your buck though (very short shelf-life), its only for simplifying some of the basics of java if you cannot understand other java books/media, but the best for the super beginners that chose java as their programming language of choice who cant understand basics such as the very idea/concept of variables and arrays in programming, if your troubled with basic concept of variables and arrays, and cant see the difference with an object and a class consider the said 2 books above.

**those 2 books aside, all the rest that follows are good java beginner books and/or have some minimal programming background, --but not for the very basic and technically challenged.

4.) Ivor Horton's Beginning Java 2, JDK 5 Edition (2004) Author/s: by Ivor Horton

5.) Java - A Beginner's Guide, 4th Edition (2006) Author/s: by Herbert Schildt

6.) The Java Tutorial - A Short Course on the Basics, 4th Edition (2006) Author/s: by Sharon Zakhour, Scott Hommel, Jacob Royal, Isaac Rabinovitch, Tom Risser, Mark Hoeber

7.) Java All-In-One Desk Reference For Dummies, 2nd Edition (2007) Author/s: by Doug Lowe, Barry Burd

** This dummies book is way better than 2 other very basic java dummy books mentioned earlier, it's a very good beginner book in java and has quite some substance to be used as a reference as well, covers Java basics, programming basics, strings, arrays, and collections, programming techniques, Swing Interface, basic Web programming with java, files and databases, and very simple games.

8.) Java How to Program, 7th Edition (2007) Author/s: by Harvey M. Deitel, Paul J. Deitel

** Excellent book, very informative, good as academic text as well.

9.) Learning Java, 3rd Edition (2005) Author/s: by Pat Niemeyer, Jonathan Knudsen

** Excellent book, very informative, good as academic text as well.

10.) Thinking in Java, 4th Edition (2006) Author/s: by Bruce Eckel

11.) Core Java, Volume I Fundamentals, 8th Edition (2007) Author/s: by Cay S. Horstmann, Gary Cornell

And for excellent java reference books for all levels:

1.) Java in a Nutshell, 5th Edition (2005) Author/s: by David Flanagan

2.) Java - The Complete Reference, 7th Edition (2006) Author/s: by Herbert Schildt

3.) Java Pocket Guide (2008) Author/s: by Robert Liguori, Patricia Liguori

** The Java Pocket Guide is alot thicker than its C and C++ pocket guide book counterparts, and why not java is more verbose afterall.


Other informative sites for beginners:

Sun Java Tutorials - Great free resource.

Java @ About.com

Free Java Guide

JavaBat already mentioned by AmyxD

Java Passion by Sang Shin - already mentioned by peter_budo

So far the only link I didnt know of mentioned in this thread is the Javamex website mentioned by stephen84s, took a quick peak and yes the owner of the site needs to fix that website, I'm not a website connoiseur but that is poorly designed and cluttered to the eyes, it can throw most any beginners off.

I know that an IDE is not recommended but it is helpful. The very good, easy to use for beginners is Holtsoft's Ready to Program IDE. Its simple and nice. You can get the installer here.

It may seem helpful to a beginner, but it's not. IDE's are for people who already know what they're doing in order to increase their effeciency. You need to understand the tools and the processes behind everything and an IDE shields that from you.

Totally agree.

> Some links are no longer active.. Cheers!!

If you can point me to specific sections, I can get them fixed.

I have been a big fan of this tutorial series, and continually use this series as a reference whenever I need to quickly lookup something. The author (Derek Banas) of this particular series does an excellent job in teaching from the basics to the more advanced topics. He essentially covers every major topic, that one would need to know about Java programming. I would definitely suggest, if you are a beginner starting here, especially if your like me, and find reading a textbook rather stagnant.

Updated the main post with:

  1. Change all old Java 6/7 links with Java 8
  2. Added mention about mocking and the mockito library
  3. Removed old/unreachable links and resources from pre-Java 1.5 times
This question has already been answered. Start a new discussion instead.