[Java] 10 Java Packages every Java Developer must know about

This article describes 10 Java Packages which ideally every Java Developer must know. Knowledge of these packages can certainly give you an edge over other Java enthusiasts. Infact, most of the Java job interviews can easily be handled with a good knowledge of these Java packages. I must mention that though these Java packages are like the cream of the cream, knowledge of other Java packages is always good.

If you are new to Java and don’t know much about Packages, i must say that Packages are nothing more than the way we organize files into different directories according to their functionality, usability as well as category they should belong to. Packages contain classes and interfaces based on the functionality and usability.

1.) java.util.concurrent.*

Most of us computer users take Concurrency for granted.If you are new to concurrency, this example might help; Consider a  streaming audio application which must simultaneously read the digital audio off the network, decompress it, manage playback, and update its display. Even the word processor should always be ready to respond to keyboard and mouse events, no matter how busy it is reformatting text or updating the display. Software that can do such things is known as concurrent software. In such situation,Java platform’s support for letting you develop application which support Concurrency is very important.Since version 5.0, the Java platform has also included high-level concurrency APIs.

2.) java.util

java.util is one of the most widely used package in Java ( after java.lang), a good knowledge of Collections classes which are part of this package is certainly very important.

3.) java.beans

JavaBeans technology is the component architecture for the Java 2 Platform, Standard Edition (J2SE). Components (JavaBeans) are reusable software programs that you can develop and assemble easily to create sophisticated applications. Knowledge of java.beans package can certainly help you write better POJOs ( Plain Old Java Objects).

4.) java.lang.reflect

Reflection is commonly used by programs which require the ability to examine or modify the runtime behavior of applications running in the Java virtual machine. Reflection classes allow you to call another class’s methods dynamically at run time. With the reflection classes, you can also examine an instance’s fields and change the fields’ contents.

5.) java.security.*

The java.security package contains the classes and interfaces that implement the Java security architecture. These classes can be divided into two broad categories. First, there are classes that implement access control and prevent untrusted code from performing sensitive operations. Second, there are authentication classes that implement message digests and digital signatures and can authenticate Java classes and other objects. Do ensure you know about java.security.* package in order to create secure applications with Java.

6.) javax.script

Combining scripting languages with the Java platform provides developers an opportunity to leverage the abilities of both environments. You can continue to use scripting languages for all the reasons you already have, and you can use the powerful Java class library to extend the abilities of those languages. If you are a Java language programmer, you now have the ability to ship applications that your customers can significantly and dynamically customize. The synergy between the Java platform and scripting languages produces an environment in which developers and end users can collaborate to create more useful, dynamic applications.

7.) java.util.logging

This is another important package which provides classes and interface for Java 2 Platform’s core logging features. You might also be interested in knowing about Log4J, read my previous post Log4J: What is it?

8.) javax.xml.parsers.*, javax.xml.bind, and javax.xml.transform.*

XML looms largely in the Java developer’s mindset and being able to parse it (both directly as via an object-XML library) and transform it (using XSLT) is a powerful skill to have, if not outright necessary. You might also be interested in reading out a previous post called How-To: Read an XML file using DOM parser in JAVA?

9.) javax.sound.*

This though might not be very important to know but definitely can add some spice to otherwise boring application. Sound can certainly prove useful in situations when display is usually not available immediately.

10.) javax.management and java.lang.management

These packages provide the core classes for the Java Management Extensions. The Java Management Extensions (JMXTM) API is a standard API for management and monitoring. Typical uses include:

* consulting and changing application configuration
* accumulating statistics about application behavior and making them available
* notifying of state changes and erroneous conditions.

The JMX API can also be used as part of a solution for managing systems, networks, and so on.

Via

You can follow me on Twitter at http://twitter.com/vaibhav1981

Do stay tuned to Technofriends for more, one of the best ways of doing so is by subscribing to our feeds. You can subscribe to Technofriends feed by clicking here.

Related posts:

  1. [Java] Tips for Becoming a Good Java Developer
  2. Why Java?
  3. Java Tutorials: Its here
  4. Learn Java with Head First Java
  5. [How-To] Print Date/Time in a Given Format in Java

3 Responses to “[Java] 10 Java Packages every Java Developer must know about”

  1. [...] [Java] 10 Java Packages every Java Developer must know about … [...]

  2. [...] [Java] 10 Java Packages every Java Developer must know about Posted on Sunday, February 1st, 2009 in Java – Comments: (1) This article describes 10 Java Packages which ideally every Java Developer must know. Knowledge of these packages can certainly give you an edge over other Java enthusiasts. Infact, most of the Java job interviews can easily be handled with a good knowledge of these Java packages. I must mention that though these Java packages are like the cream of the cream, knowledge of other Java packages is always good. [...]

  3. Hi, I was looking around for a while searching for security architect and I happened upon this site and your post regarding 10 Java Packages every Java Developer must know about | Technofriends, I will definitely this to my security architect bookmarks!

Leave a Reply