DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   Java (http://www.daniweb.com/forums/forum9.html)
-   -   Starting "Java" [Java tutorials / resources / faq] (http://www.daniweb.com/forums/thread99132.html)

~s.o.s~ Dec 1st, 2007 5:11 am
Starting "Java" [Java tutorials / resources / faq]
 
» Prologue «

I guess this is one of the threads everyone here has been waiting for. There was a thread created sometime back but due to been diluted by off topic posts couldn't be made into a sticky. I would request the OP to post the same links here if possible.

Please don't post "spam" or "Thank you" posts in this thread since this is meant to be used as a guide for all beginners and I am sure we would like it to be on topic. I hope you understand this.

» Introduction to Java «

To start off, Java is a general purpose programming language liked by application developers and web developers alike. It is the force which drives a large number of enterprise applications out there. Read more about it here. And yes, just for the records, Java is not slow!! [1, 2, 3] ;-)

» Getting started «

All you require to develop Java application is a text editor and a JDK which encompasses a Java compiler, a Java interpreter and a host of tools which ease your development.
» Java 1.4 download
» Java 5.0 download
» Java 6.0 download
» Java Language Specification - 3rd edition
» Java 1.5 online documentation
After installing the JDK, you might want to take a look at the common problems beginners face when setting up Java and their solutions. New to java center is a good section for absolute beginners.

As a beginner, you should know the commonly used JDK development tools like javac, java, jar, javadoc to name a few. Read about them here.

Though not recommended for beginners, there are a lot of IDE (Integrated Development Environments) out there which greatly reduce the development time and abstract away all the complexities faced. A few free and commercial ones are:
» Netbeans IDE [open source]
» Eclipse IDE[open source]
» IntelliJ IDEA[commercial]
» JCreator [both free and commercial versions]
» Sun Java studio creator [free]
» Build Tools «

Though compiling Java programs using the javac tool may seem fine enough now, it has it's limitations. Compiling, building and archiving an entire application becomes quite tedious. Build tools to the rescue. It's a good thing to have the knowledge of at least one of the build tools under your belt if you want to work with Java in a professional setting. There are a lot of open source build tools out there, Ant and Maven being well known among them. Which build system to use is a personal / project choice though Ant is a good one for beginners. For those who are conversant with Ruby, you might find Raven interesting. Google for 'ant tutorial' and you will surely find something to get you started (that is if you are using Ant).

» Unit Testing «

It's a good thing to get into the habit of unit testing your code. Test cases have a host of advantages over your normal print statements placed throughout your program. Testing helps you in focus on the way your Java object is actually used / the part it plays in the system, thereby improving class design. And above all, its fun. :-) Get the unit testing framework JUnit here. Google for 'junit tutorial' and you will surely find something to get you started.

» Links «

Now for some tutorial links:
» Java tutorials (beginners start here!)
» Online resources for Java programmers
» Brewing Java
» Java tutorials at about.com
» Don't fear the OOP
» The Java Tutorial by Mary Campione and Kathy Walrath
» Java Student's Resouce
» Sussex Data structure notes in java
» Ohio University Java notes
» Rochester Advanced programming in java notes
» LeePoint Java Tutorials
» Sample snippets from the Java Developers Almanac
Some free online books / pdf's:
» Introduction to Programming Using Java, Fifth Edition
» Thinking in Java 3rd edition
» Free java books
» Free java books at Developer's Daily
» Onto Java
» O'Reilly's eBooks
In case you need to buy a book, consider the ones enlisted below. They are a gem.
» Head First Java [beginner]
» Java Programming Language [advanced]
» Java in a Nutshell [intermediate]
» Hardcore Java [advanced]
» Java concurrency in practice [intermediate]
» Effective Java [advanced]
Must visit sites for all Java programmers:
» JavaWorld
» OnJava
» IBM Java developerworks
If you are one of those people who are interested in reading blogs, I would recommend Reddit, DZone, JRoller and many others.

» Frequently Asked Questions «
» How can I convert a java program to an executable?
» What are the difference between Java and C/C++?
» What is hell is 'Generics' all about?
» Where can I find a more comprehensive FAQ?
Just google for 'java faq' and you surely would stumple upon a gold mine of well written FAQ's.

» Certifications «

After getting a good grasp of the subject, you might want to get a good certification to add a feather to your cap. You can find more about Java certification here. Google for 'scjp notes', 'java mock test' or 'scjp mock' to get started. Getting a certification or not is a choice you have to make.

» Of programming and hackers «


The learning process remains incomplete unless we play around with the language, learn to understand others code and implement some sample projects. For those want to learn Java *really* fast, Teach yourself programming in ten years would be a good read. Some other inspirational reads are 'How to become a hacker', Great Hackers and other Paul Graham essays. One of our community members, Black Box, has written a nice post targeted at beginners, which enlists what it takes to learn a language.

That being said, you can find a lot of open source Java projects on Java source. Play with them to your fullest, try to see how things are done in the real world and walk the path of a hacker! ;-)

» Game Development «

And yes, now you can use Java for professional game development for the PC platform. The Java Monkey Engine makes this possible with advanced features like shaders, cloth simulation, bump mapping, inbuilt sound and user interface support and much much more. You can learn more about it on the JMonkey Home page.

» Epilogue «

After all this, if you still find yourself struggling with some issue, make sure you read this thread and this essay before creating a new topic in the Java forums.

It has taken a lot of effort to come up with these links so that you don't waste your time searching for some study material / reference text. Appreciation goes out to Stephen, Ezzaral , Peter , Alok and others for their suggestions and corrections. So, just go for it, learn, contribute to this thread and above all, enjoy programming!

Java FTW. :-)

Ezzaral Dec 1st, 2007 2:42 pm
Re: Starting "Java" [Java tutorials / resources / faq]
 
One more very handy site for code snippet examples on many things:
Java Examples from The Java Developers Almanac 1.4

Ezzaral Dec 7th, 2007 12:55 pm
Re: Starting "Java" [Java tutorials / resources / faq]
 
Everyone working with Java should take the time to read the Java coding conventions published by Sun: http://java.sun.com/docs/codeconv/ht...nvTOC.doc.html
Coding to the common conventions will ensure a consistency that greatly aids both the coder and others reading that code.

Anyone designing programs that involve more than one or two classes could benefit from familiarizing themselves with design patterns. An excellent introduction to this is Head First Design Patterns. Design patterns may or may not be appropriate for a given application, but learning about them and their usage will teach you to look at your program organization in a more critical manner from perspectives that you may not have considered at the outset.

Artmann Dec 7th, 2007 7:11 pm
Re: Starting "Java" [Java tutorials / resources / faq]
 
I would like to recomend the the books Core Java Volume 1 and 2 . A really good set of books that covers the most areas you'll need.

~s.o.s~ Dec 22nd, 2007 2:00 am
Re: Starting "Java" [Java tutorials / resources / faq]
 
A sample chapter on Data Structures in Java from the book Java concepts for Java 5 and 6. A good and thorough read.

peter_budo Dec 26th, 2007 8:32 am
Re: Starting "Java" [Java tutorials / resources / faq]
 
JDBC tutorial that can help to start

Dev-SEO Feb 5th, 2008 8:02 am
Re: Starting "Java" [Java tutorials / resources / faq]
 
following are few of the useful java tutorial websites:
http://www.javacoffeebreak.com/tutorials/index.html
http://java.sun.com/docs/books/tutorial/
http://www.tutorialized.com/tutorials/Java/1

and there are plenty more on google ..

sam207 Mar 15th, 2008 7:19 am
Re: Starting "Java" [Java tutorials / resources / faq]
 
the art of java, core java and some books from osborne.com and horstmann.com are always good for me. They are useful.

~s.o.s~ May 2nd, 2008 12:51 pm
Re: Starting "Java" [Java tutorials / resources / faq]
 
A document describing the common compile time / runtime errors and ways to resolve them; beginners might find it to be useful.

twilightwolf90 May 31st, 2008 2:37 am
Re: Starting "Java" [Java tutorials / resources / faq]
 
Could I recommend both Notepad++ and JGRASP as lightweight beginner IDEs? I like them a lot when writing individual java files and I don't feel like waiting for Netbeans to come up. They both have the basics, such as Indentation Guides, but JGRASP is more focused on Java, while Notepad++ is highly configurable (such as add-ons, custom highlighting, and code-completion). Just my two cents to help everyone.

sanaulla123 Jul 3rd, 2008 4:42 pm
Re: Starting "Java" [Java tutorials / resources / faq]
 
Quote:

Originally Posted by Artmann (Post 486506)
I would like to recomend the the books Core Java Volume 1 and 2 . A really good set of books that covers the most areas you'll need.

+1 to Core Java, Volume 1 and 2 By Horstmann. Really good book. One can actually read Head First Java and then come to this book for perfect understanding of the language

sciwizeh Jul 11th, 2008 3:21 am
Re: Starting "Java" [Java tutorials / resources / faq]
 
i bought the Java All in One Desk Reference for dummies by doug lowe and barry burd when i first started learning java, it covers all of the basics and also includes a "minibook" on swing, web programming, and databases

it helped me a lot

~s.o.s~ Jul 12th, 2008 2:39 pm
Re: Starting "Java" [Java tutorials / resources / faq]
 
A free book 'Processing XML with Java' contains an in depth explanation about working with Java and XML.

peter_budo Jul 13th, 2008 4:10 am
JME Resources
 
For these of you who would like to learn more or start with Java Microedition - JME (also known as J2ME) here are few tips

What you need for development (download links)
  1. Your favourite IDE and Sun Java Wireless Toolkit 2.5.2 for CLDC Download (the latest available version as 13/07/2008)
  2. NetBeans with integrated Mobility
  3. IntelliJ IDEA, Eclipse or any other IDE with support of JME
  4. Custom Wireless Toolkit (to download one you have to register on the forum)

Recommended books by me :*

To start with JME
  1. Beginning J2ME: From Novice to Professional 3rd Edition
  2. Kicking Butt with MIDP and MSA (newer version from same author with latest technology offers)

Advance topics:
  1. Mobile 3D Graphics
  2. Mobile 3D Graphics with OpenGL ES and M3G
  3. Pro J2ME Polish: Open Source Wireless Java Tools Suite
  4. Pro Java ME MMAPI: Mobile Media API for Java Micro Edition
  5. Mobile Web Services

Additional resources to check upon:
  1. Java ME APIs
  2. NetBeans tutorials
  3. Sony Ericsson, scroll down for tutorials plus little search of forum (they should organize the forum little, but I still like it)
  4. How to set up on device debugging for Sony Ericsson phone ( I found it very helpful)
  5. Nokia forum
  6. Wireless Java Security 1 & 2 - are little older articles, but one can still learn a lot from them
  7. java2s.com - is a collection of basic tutorials for JME, but please be aware it does lack explanation to the code
  8. Java ME Tips - another collection of working examples
  9. DZone Snippets - another code examples
  10. Mobile Game Developer forum
  11. and the latest points of my interest Sensor (JSR-256) and mobile 3D(JSR-184) {part 1, part 2, part 3} tutorials

bloody_ninja Jul 24th, 2008 5:52 am
Re: Starting "Java" [Java tutorials / resources / faq]
 
I haven't seen any tutorials for JSP , so I guess I will post this one link that I found.

http://www.visualbuilder.com/jsp/tutorial/pageorder/1/

masijade Jul 24th, 2008 6:28 am
Re: Starting "Java" [Java tutorials / resources / faq]
 
Quote:

Originally Posted by bloody_ninja (Post 655019)
I haven't seen any tutorials for JSP , so I guess I will post this one link that I found.

http://www.visualbuilder.com/jsp/tutorial/pageorder/1/

http://java.sun.com/j2ee/1.4/docs/tutorial/doc/
http://java.sun.com/javaee/5/docs/tutorial/doc/

Ezzaral Jul 24th, 2008 11:58 am
Re: Starting "Java" [Java tutorials / resources / faq]
 
Quote:

Originally Posted by bloody_ninja (Post 655019)
I haven't seen any tutorials for JSP , so I guess I will post this one link that I found.

http://www.visualbuilder.com/jsp/tutorial/pageorder/1/

Perhaps that is because JSP has it's own forum over in the Web Development section.

bloody_ninja Jul 24th, 2008 11:52 pm
Re: Starting "Java" [Java tutorials / resources / faq]
 
Oh I didn't notice that lol.

JSP does use Java though, so some sort of link should be here too.

chelavek Aug 18th, 2008 4:19 am
Re: Starting "Java" [Java tutorials / resources / faq]
 
this is the good starting point for Java beginners. also many advices and tips for Java and general programming.Site is updated regularly so when you come back you will definitely see new informations on it.

<snipped url>

~s.o.s~ Aug 27th, 2008 12:39 pm
Re: Starting "Java" [Java tutorials / resources / faq]
 
Space Invaders Tutorial in Java

~s.o.s~ Oct 9th, 2008 10:34 am
Re: Starting "Java" [Java tutorials / resources / faq]
 
final in Java, Performance tips and more.

~s.o.s~ Oct 20th, 2008 12:45 pm
Re: Starting "Java" [Java tutorials / resources / faq]
 
Advanced Programming for the Java 2 Platform

Java 2 Security Guide

Securing Java [free e-book]

jbennet Oct 20th, 2008 9:47 pm
Re: Starting "Java" [Java tutorials / resources / faq]
 
I am using BlueJ at university to learn OOP concepts using Java. I find it very good.
I highly reccomend the book. "Objects first with java - practical intro using BlueJ"

~s.o.s~ Oct 31st, 2008 2:31 am
Re: Starting "Java" [Java tutorials / resources / faq]
 
Java Reference Guide from Informit

Javadocs by example

Alex Edwards Oct 31st, 2008 2:44 am
Re: Starting "Java" [Java tutorials / resources / faq]
 
Quote:

Originally Posted by ~s.o.s~ (Post 725241)

In regards to the javadoc examples...

Did you remake some of the old API listings with new and improved ones that consist of examples of function usage? O_O

Even if it isn't you... it really must've taken said individual(s) quite some time @_@

~s.o.s~ Oct 31st, 2008 3:48 am
Re: Starting "Java" [Java tutorials / resources / faq]
 
> Did you remake some of the old API listings with new and improved ones that consist of
> examples of function usage? O_O

No, I didn't. It's one of those sites which mirror the Java docs along with samples wherever possible. And yes, setting up something of this sort definitely takes up a lot of effort so we should be thankful to those who did this when referring to their API usage / examples. :-)

AmyxD Nov 6th, 2008 10:53 pm
Re: Starting "Java" [Java tutorials / resources / faq]
 
A site we work with in class is javabat.com .... free, and good practice :)

~s.o.s~ Nov 22nd, 2008 4:50 am
Re: Starting "Java" [Java tutorials / resources / faq]
 
Some links posted by Antenka on BST [Binary Search Tree]:

http://cslibrary.stanford.edu/110/BinaryTrees.html
http://www.java-tips.org/java-se-tip...n-in-java.html
http://www.cs.mcgill.ca/~cs251/OldCourses/1997/topic9/
http://www.cs.uga.edu/~gtb/1302/Project6/
http://oopweb.com/Algorithms/Documen...e/opt_bin.html

stephen84s Dec 2nd, 2008 4:36 am
Re: Starting "Java" [Java tutorials / resources / faq]
 
Following is another site which gives you javadocs with examples.

http://www.kickjava.com

>>Performance<<
Programming in Java over the years, I have encountered quite a few myths (ex. making your variables and methods final), although the following article by Brian Goetz is nearly three years old, I still encounter these "myths" about Java quite a few times mostly from newbie programmers and sometimes even experienced developers.
http://www-128.ibm.com/developerwork...vaUrbanLegends

Then theres the question of performance of Java both speed and memory management.
The following article again from Brian Goetz should put to rest anyone's doubts in the performance of Java in those sections:-
http://www-128.ibm.com/developerwork...vaUrbanLegends

~s.o.s~ Dec 2nd, 2008 9:47 am
Re: Starting "Java" [Java tutorials / resources / faq]
 
Come to think of it, all the articles of IBM Developerworks and JavaWorld are worth the read for every Java programmer out there.

Ezzaral Dec 2nd, 2008 1:24 pm
Re: Starting "Java" [Java tutorials / resources / faq]
 
Though it is not Java specific and not targeted for beginners, Code Complete 2nd Edition is an excellent book for anyone engaged in non-trivial programming or interested in software best practices. It's filled with a ton of information and suggestions gleaned from years of professional development experience - all that stuff that most of us working developers have learned the hard way in bits and pieces and wish we'd known from the outset.

~s.o.s~ Jan 14th, 2009 11:05 am
Re: Starting "Java" [Java tutorials / resources / faq]
 
JDBC Performance Best Practices

stephen84s Feb 12th, 2009 4:43 am
Re: Starting "Java" [Java tutorials / resources / faq]
 
http://www.javamex.com/

Came across this site a few days ago, although they could make the site a lot more pleasing to the eyes, I found the articles quite informative especially from a beginner point of view.

masijade Feb 12th, 2009 4:59 am
Re: Starting "Java" [Java tutorials / resources / faq]
 
Always a good resource

http://java.sun.com/developer/JDCTechTips/

peter_budo Feb 12th, 2009 5:10 am
Re: Starting "Java" [Java tutorials / resources / faq]
 
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 penniesJust 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

peter_budo May 3rd, 2009 6:52 pm
Re: Starting "Java" [Java tutorials / resources / faq]
 
Javapassion.com holds free online courses taught by Sang Shin

Quote:

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

What you waiting for??? ;)

NetByte Jun 5th, 2009 10:51 am
Re: Starting "Java" [Java tutorials / resources / faq]
 
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.


All times are GMT -4. The time now is 5:33 pm.

Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC