One of the most important features of the Java language is support for multithreaded (also called concurrent) programming. This tutorial introduces you to the proper use of multiple threads in a Java program, using sample programs to illustrate these concepts. Before taking this course, you should have a general knowledge of Java programming; the context and level of knowledge used in this tutorial is the equivalent of an undergraduate operating systems course.
The addition of the java.util.prefs package to Java 1.4 (through JSR 10) lets you manipulate user preference data and configuration data by providing you with access to an implementation-specific registry (for example, the Windows Registry on Windows platforms). This article introduces you to the Preferences class and walks you through its use. It puts it all together with a sample program.
You inevitably spend some part of your week crunching code that you didn't write, and for which you may not have the source. This beginner's guide to opening up and locking down Java code walks you through the essentials of disassembling, decompiling, and obfuscating Java code, using examples from popular tools such as Mocha, HoseMocha, jmangle, and JODE.