Java Drawbacks

Even though Java is projected as the most demanded language of the times, but has its own disadvantages. Of course, they are very minor in nature and need not be considered as drawbacks compared to the advantages it brings forward.

Following is the list of Java Drawbacks

a) Slow performance: The first and foremost drawback everyone accepts is Java's slow speed of execution. Of course it is designed so to get the affect of platform-independent feature. Designers do trying to increase the performance in other aspects like the introduction of JIT (Just-In-Time) compiler.

b) No support for low-level programming: With Java, low-level programming cannot be done as it is intended to be portable across platforms.

c) Poor features in GUI: Java supports GUI controls but with less features. For example, an image cannot be placed on a button. The is overcome with the introduction of javax.swing package. Swing controls come with abundant features that are comparable with any GUI available.

d) No control over garbage collection: Garbage collection is one of the built-in features of Java and is entirely managed by JVM. programmer is not given any handles to control the garbage collection to make coding simple. For this reason, Java does not come with delete(), free(), malloc() and sizeof() etc. functions.

What Java Can't Do?

Even though Java is termed as a production language where productivity is very high, but still it cannot do certain things. The productivity is possible due to the abundant classes available in Java API that can cater to the very specific needs of the programmer. Java includes a few thousands of classes with JDK 1.5 that takes care of many minute aspects of coding. Even though it is hyped so heavily, but it cannot be used to develop low-level programming. Using Java, a new OS or new protocols or DVD burning software etc. cannot be programmed.

31 thoughts on “Java Drawbacks”

  1. mandapaka venkatesh

    hi sir i have doubt
    in public static void main(String args[])
    why pass the parameter is StringArray type
    instead of StringArray i pass integerarray it is possible

    please explain what is the use of StringArray in main meathod;

    1. Vaibhav Chunekar

      In Java every argument is of kind String. One can easily parse the data using String which is non primitive data type.MAin method does not found int and next javafx.application.Application need to build,

  2. Realy good to learn java in this website.


    I have a doubt. “No control over garbage collection” is one drawback but programmer can control garbage collection using System.gc( ) na. Can you please explain on this.

  3. Sir,i want to ask what is the difference between taking inputs from databuffered output streams and scanner class?and which method of taking input is most useful?

  4. Very good site sir.. congragulations for your attempt….
    Ihava a doubt….. java cannot be used to develop low-level programming. Using Java, a new OS or new protocols or DVD burning software etc. cannot be programmed why???

  5. Dear sir,
    could you please tell me whether java is 100 % pure object oriented language or not ? some people say that because of primitive data types in java it is not 100% object oriented is it correct ?
    and one more question , what is a batch file in java ?what is reflection in java ?

  6. vijay bhaskar reddy

    sir it is very nice explanation
    sir i have a doubt that explain me very clearly about
    how we are going to use the

        1. The oops are used by your without your knowledge in programming. When you are extending a class, it is used inheritance. Two objects of the same class are given values, encapsulation is used. Polymorphism is connected with method overloading and method overriding principles.

Leave a Comment

Your email address will not be published.