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.
This is a very good site for the beginners to learn java.
Thank you, Sir, for creating such website.
It’s helped me lot… to increase my curiosity over learning java
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;
All the command-line arguments are converted into strings; Java is designed like that. For this reason, the parameter is a string array for main().
http://way2java.com/arrays/command-line-arguments/
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,
first of all hearty congratulations and i appreciate you for your hard work
in helping learners in a better way
thank you. Tell your friends also.
Realy good to learn java in this website.
Sir,
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.
System.gc() is not the control over garbage collection. It is only an advise to JRE to go for garbage collection which the JRE is not sure of of collectting garbage.
best for me …
best site to learn java
Sir, Is there any similar website for Oracle DB..?
I developed this free web site with a passion. My web site is equivalent to referring 10 web sites. Like this, I expect very few people.
Got to know about this website from a friend. Very useful and informative. Thanks for providing this sir.
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?
readLine() of BufferedReader is preferred and extra work you should do is parsing. With Scanner you escape parsing. But Scanner is available form JDK 1.5 only. Moreover, “A Scanner is not safe for multithreaded use without external synchronization”.
Practically all are same. Scanner class does not require parsing. But to work with it, the client should have JDK 1.5 and where as BufferedReader works with JDK 1.2 and using DataInputStream (readLine() method) raises a deprecated warning.
sir i have a doubt..Why java doesn’t support pointers?
1. To avoid hacking of servers where Java is implemented.
2. To avoid the menace of addresses and pointers. C-lang is how much difficult with pointers that too in DS. See Java DS how much simple is.
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???
They requires pointers. Slowly, one day Java may come to that level.
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 ?
Hello,
Java is 100% pure oop language. Primitive data types were introduced to make arithmetic manipulations easy. Designers have given wrapper classes to give object form to primitive data types.
Java does not have batch files but got JAR files.
For reflection API refer this link in way2java:
http://way2java.com/reflection-api/reflection-api/
Good site for the begginers.
It helps me alot for graspping basic knowledge……….
Thanks sir.
Advice your friends also to derive benefit from this web site. It is absolutely a free web site.
sir it is very nice explanation
sir i have a doubt that explain me very clearly about
GUI
how we are going to use the
gui
GUI is an alternative way to scanf; used to take keyboard input at runtime and consists of Text boxes, Check boxes etc.
hello sir,
i know oops good but through programatically how can i pratice can u give one advice
and simple give example
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.
Appreciate the detail description..Good ref for a newbie.
Very good description