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.



    Comments on "Top 10 Java Classes"

    1. nilesh boradkar says:

      I would like to replace Date with Calendar and numbered at 3 or 4 :-)

    2. 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.

    3. srini says:

      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.

    4. Shiv says:

      Very nice…

    5. Anonymous says:

      thnQ u joe

    6. Praveen S M says:

      Top 3 interfaces


    7. Anonymous says:

      Thanku sir .very easy to understanding

    8. Anonymous says:

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

    9. Nasir says:

      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.

    10. Anonymous says:

      ur site looking nice bayya

    11. guru manikanta says:

      nice work. thank u sir

    12. aravind says:

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

    13. sumon says:

      Great work, thanks

    14. Prashant says:

      Thanks ……………JOE

    15. SRINU says:

      nice,VERY USE FULL…JOE

    16. Anonymous says:

      very useful

    17. teenu says:

      very useful :)

    18. Rohit Saxena says:

      Wrapper classes should be there for sure.

    19. Rachana says:

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

    20. Janardhan says:

      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.

    21. aditya says:

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

    22. Vick says:

      Excellent is just the preface!! Kudos Joe!

    23. SawMinOo says:

      Thanks for your knowledge

    24. manoj says:

      I think u may missed*; this is one of my fav class…

    25. Anonymous says:

      Ok Good,i appriciate you

    26. Anonymous says:

      Good one…..

    27. Anonymous says:

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

    28. Jagadeesh says:

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

    29. bala says:

      thanks, your site is very neat and beautiful

    30. Anonymous says:

      very good explanation, i liked it

    31. Dimit says:

      Good thought process

    32. Vijay Jetti says:


    33. Anonymous says:

      good work boss

    34. arun says:

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

    35. Yaso says:

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

    36. Krishna says:

      Thank you sir.

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

    37. andy says:

      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 !

    38. vivek says:

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

    39. kamesh duvvuri says:

      Hi Joe

      Excellent information has given your blog. please explain the encapsulation and abstraction.

    40. kamesh duvvuri says:

      Hi Joe

      Excellent information has given your blog. please explain the encapsulation and abstraction.

    41. Anonymous says:

      nice post ….

    42. Prashant says:

      Great job Joe.

      Thanks for your such a gr8 effort.

    43. Akash says:

      ThankYou So much for knowledge sharing.

    44. Anny says:

      Hello Joe,

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

    45. Amit Kumar says:

      Superb Joe,

      Very Good topic and easy to understand..

    46. Thiru says:

      Its very simple to understand

      Great Job Mr Joe

    47. Sridhar says:

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

    48. Annu Singh says:

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

    49. Roopesh says:

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

    50. Janarthanan s says:

      Really superb Mr Joe…. Thanks lot to share your knowledge with us…

    51. Rashi Coorg says:

      Nice one

    52. Anonymous says:

      good… very informative

    53. Anonymous says:


    54. Ganeshji Marwaha says:

      Good one Joe…

    55. Michael says:

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

    56. Jirka Pinkas says:

      How about org.slf4j.Logger? Everybody uses logging nowadays.

    57. Deepti says:

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

    58. deepak sharma says:

      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…

    59. Anonymous says:

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

    60. Anonymous says:

      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…..

    61. Sandeep Singh says:

      Good One

    62. Dinesh Kumar says:

      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

      • Joe says:

        @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.

    63. Prince says:

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

    64. Sree says:

      Hi Sir,

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

    65. richa says:

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

    66. Anonymous says:

      very nice,
      now I know who Rajnikanth is :)

    67. Sumit Sharma says:

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

    68. Chandrasekhar says:

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

      Keep Go on……

    69. Shashi Kanth says:

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

    70. Anonymous says:

      Good content with well understandable


    71. Kapil Suryawanshi says:

      Very well :)

    72. Rishabh says:

      great work!!! ;)

    73. Anonymous says:

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

    74. Ramana says:

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

    75. kalpesh popat says:

      very nice

    76. Sunil says:

      very good joe….

    77. Ravi says:

      Great thought to list out Top 10 classes.

    78. venki says:


    Your Comment