Top 10 Java Classes

Thought of compiling a list of classes that are popular among java programmers. Should I say most essential? There is no strict rules for the selection, in fact there are no rules followed. Classes that popped up on top of mind are listed below. You are welcome to add your own list. This list will vary depending on the type of java project you work on. These classes I have listed does not require any introduction and they are as popular as Rajnikanth in java world. Have fun!

  1. java.lang.String
    String class will be the undisputed champion on any day by popularity and none will deny that. This is a final class and used to create / operate immutable string literals. It was available from JDK 1.0
  2. java.lang.System
    Usage of System depends on the type of project you work on. You may not be using it in your project but still it is one of the popular java classes around. This is a utility class and cannot be instantiated. Main uses of this class are access to standard input, output, environment variables, etc. Available since JDK 1.0
  3. java.lang.Exception
    Throwable is the super class of all Errors and Exceptions. All abnormal conditions that can be handled comes under Exception. NullPointerException is the most popular among all the exceptions. Exception is at top of hierarchy of all such exceptions. Available since JDK 1.0
  4. java.util.ArrayList
    An implementation of array data structure. This class implements List interface and is the most popular member or java collections framework. Difference between ArrayList and Vector is one popular topic among the beginners and frequently asked question in java interviews. It was introduced in JDK 1.2
  5. java.util.HashMap
    An implementation of a key-value pair data structure. This class implements Map interface. As similar to ArrayList vs Vector, we have HashMap vs Hashtable popular comparisons. This happens to be a popular collection class that acts as a container for property-value pairs and works as a transport agent between multiple layers of an application. It was introduced in JDK 1.2
    Ads by Google
  6. java.lang.Object
    Great grandfather of all java classes. Every java class is a subclass of Object. It will be used often when we work on a platform/framework. It contains the important methods like equals, hashcode, clone, toString, etc. It is available from day one of java (JDK 1.0)
  7. java.lang.Thread
    A thread is a single sequence of execution, where multiple thread can co-exist and share resources. We can extend this Thread class and create our own threads. Using Runnable is also another option. Usage of this class depends on the domain of your application. It is not absolutely necessary to build a usual application. It was available from JDK 1.0
  8. java.lang.Class
    Class is a direct subclass of Object. There is no constructor in this class and their objects are loaded in JVM by classloaders. Most of us may not have used it directly but I think its an essential class. It is an important class in doing reflection. It is available from JDK 1.0
  9. java.util.Date
    This is used to work with date. Sometimes we feel that this class should have added more utility methods and we end up creating those. Every enterprise application we create has a date utility. Introduced in JDK 1.0 and later made huge changes in JDK1.1 by deprecating a whole lot of methods.
  10. java.util.Iterator
    This is an interface. It is very popular and came as a replacement for Enumeration. It is a simple to use convenience utility and works in sync with Iterable. It was introduced in JDK 1.2

    Did I miss your favourite?

    This Core Java tutorial was added on 23/05/2012.

    previous post: Java Timer

    next post: Java Annotations

    84 comments on “Top 10 Java Classes

    1. the only blog that have lot of stuff for the learner is JavaPapers

    2. I have been reading all your blogs. Very good one. Simple but powerful explanation. Thanks a lot. Keep going. :)

    3. Good content with well understandable


    4. Great Job Joe,
      we are using, but not pointed.

    5. Simple but great Knowledge Transfer from ur blog.
      Nice work Joe…… :-)

      Keep Go on……

    6. Very Good friend..
      please write for advance java as well like hibernate spring etc.

    7. very nice,
      now I know who Rajnikanth is :)

    8. Very Good.Pls post some topics on spring & hibernate…

    9. Hi Sir,

      Very nice explanation. If you have time Can you please explain what exactly difference between Encapsulation and Abstraction with an example.

    10. Brilliant. I would be including java.util.LinkedList too.
      Neenga room pottu yosipengalo..?

    11. one doubt, is Class is the direct subclass of Object ?

      I dint see any extend keyword used in Class to extend Object ?

      Pls clear my ignorance

      • @Dinesh, Object is superclass of all java classes. In that way it is a superclass for ‘Class’ also. This will not be given explicitly in source code as extends.

    12. buddy….. u r an excellent java guru…..every body can become a master by reading just ur blog….great brother…carry on….. would like to become java master in the universe like rajani kanth…..lolz…..

    13. brother…kindly send the the link of ur blog for J2EE too !!! its request from myside

    14. hallo sir i’am deepak, i’m new for JDBC actually i’m facing connectivity problems after making dsn for MS Access database. i am using win7 64-bit…!!
      plz provide me solution …
      thank you…

    15. Thanks for sharing
      I guess we can add ClassLoader to the list

    16. Would love to see a statiscal based approach for this as a comparison. Obviously it would hard to classify Object and class

    17. bcoz I did a lot of number manipulation
      i would put j as wellava.lang.Math

    18. Thanks for this site it’s very beneficial for all Java developers….

    19. This is simply fantastic. It helped me a lot. Keep up the good work. Many people are getting benefited from this.

    20. Its very simple to understand

      Great Job Mr Joe

    21. Superb Joe,

      Very Good topic and easy to understand..

    22. Hello Joe,

      Also provide the detail information like methods,properties etc. for these classes.

    23. Great job Joe.

      Thanks for your such a gr8 effort.

    24. Nice Joe…Good….Expecting more from you..
      Can you please explain about some of the frameworks which is most used in projects.

    25. hi Joe,

      I guess StringBuilder/StringBuffer should be there too, must people use String where they should be using one of those two. String is inmutable, any time you assign text to an instance of String, you a creating a new object, leaving previous object orphan, until the scavengers of the gc wipe it out, and probably memory leak probs.

      Anyway, u have done a great job here !

    26. Thank you sir.

      Rajnikanth is master in acting,
      your master in java……..

    27. Great blog, Loved it. Pls keep on posting. Thanks

    28. java.class does not have constructor the how it will load and initialize the objects?can u please clarify me?

    29. thanks, your site is very neat and beautiful

    30. Great Job Dude,post more articles on Threads,Collections.

    31. what is the default access specifier, if we dont mentioned while declare the class

    32. Pingback: JavaPins

    33. Excellent is just the preface!! Kudos Joe!

    34. Thanks a lot
      keep posting
      god bless you.>>>

    35. Hi Joe,
      Where do you get the images ?
      It seems there is a lot of hard work behind your blog. keep up good work bro.

    36. nice…too much helpful to me..thanks..

    37. Wrapper classes should be there for sure.

    38. Kindly Explain System.out.println() function i.e what is System, out and println what is their relationship

    39. Dear Joe, All your posts are quite interesting and easy to understand.

      I am new to core java … yet learning basics of core java. As of now I am trying to understand the package, serialization, and generics.

      Can you please help me understand the above said for a fresher point of view?
      Thanks in advance.

    40. the way simple look of your blog and explanations get u lot of fans.. keep it up.

    41. Thanku sir .very easy to understanding

    42. Top 3 interfaces


    43. Good. However, you missed an important one which will be used for all your I/O. I don’t think any program can run without this class.

    44. Hi joe,

      All your posts are quite interesting. Please can you post tutorials regarding XML.bcz now a days it is very useful technology…do needful.

      Koduru.Rajender reddy.

    Leave a Reply

    Your email address will not be published.

    You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>