Planet Source Code::A valuable database full of Java programs, Planet Source Code boasts one of the largest Java code databases I’ve seen on the internet. Within the website, you’ll find the source code for thousands of Java applications, games, and utilities. Some of the categories on Planet Source Code even include programs dealing with security, data structure, and applets–to name a few.
While you’re there, I would highly recommend viewing PSC’s java program Hall of Fame, where the most impressive or well written code submissions from the past few years are displayed. I personally found that the programs in the Hall of Fame were useful and professional. Oh, and of course–the source for all of the programs is free for you to use, monkey with, and recompile on your computer.
Freeware JavaHands down one of my favorite sites as a Java Resource, Freeware Java provides source code for hundreds and hundreds of games and applications. This is by far one of the most valuable websites I’ve had access to over the past year for learning Java. My suggestion for using this as a resource is to look at a game or application similar to an area of interest you have, or even a program you want to write. If I want to write an air hockey game, it would be very beneficial to get coding ideas from another programmer’s “Classic Pong” source code, and improve on his or her methods and ideas.
If nothing else, Freeware Java gives you source code access to quite a few well written Java applets and Java application examples. I’d recommend you go straight to the applets page to check out the source for chat rooms, games, website scripts and more.
Java GalaxyJava Galaxy is another internet database with hundreds of applications and games complete with free source codes for your learning pleasure. The difference between Java Galaxy and some of the other source code databases in this article is that Java Galaxy source codes are smaller and simpler–the programs aren’t as complex. I would recommend that if you’re a new Java programmer looking for simple examples, you check this site out before the others.
If you’re only about the source code itself, then just go straight to that page. However, feel free to take a look at some of the other interesting features that Java Galaxy has to offer, such as sample interview questions for java developers, or a practice test for the SCJP exam.
Java2sJava2s is a relatively popular resource for Java developers because it contains a useful database of example code for different aspects of the Java language. An aspiring coder would be hard pressed to find something java related that isn’t contained somewhere in the Java2s website. One valuable resource that the site offers is a very structured Java Tutorialsection which especially centers on file I/O and Swing, but has a section on almost everything.
Caution; this site doesn’t have any eye candy or pretty flashing lights that many websites today thrive off of–you can expect a practical, organized java resource and nothing else. While the site is not 100% dedicated to program source codes, I decided to include it because it still offers a large amount of code, but in a structured and ordered manner that I found extremely helpful.
Java DBJava DB provides access to a database of Java programming tips and example Java code for certain problems. The site’s layout is relatively simple and convenient as far as content management goes. Code examples and tutorials are separated into small box-categories on the home page, and there is a Google site search box for accessing quicker, more targeted results. Also on this site is an excellent free Java Language Tutorial. Although a work in progress, the tutorial is comprehensive, informative, and clear.
Learning Java can be an extremely daunting process, especially if you’re preparing for the SCJP exam or something to that effect (if you are, I feel your pain). I often find that one of the best ways you can gain an understanding of something is by jumping headlong into it. Learn from other people, get your hands dirty, ask questions and make mistakes (I certainly do). Hopefully this article gave you a few resources to use in learning Java or getting a feel for its practical uses.
If you have a site to add to this list, let me know in the comments section and I might add it to the article.