Some of the disadvantages of Java are:
Since Java Programs run on top of Java Virtual Machine, it consumes more memory.
Since memory and processing requirements higher, hardware cost increases.
4- Low level programming
There is no support for low level programming in Java, like pointers are missing.
5- Garbage collection
There is no control over garbage collection in Java. That is programmer does not have any right to control the garbage collection. Java does not provide functions like delete(), free().
6- No Unsigned Types Unlike C/C++, Java does not support unsigned int, unsigned char, … etc. However in Java 8, API for unsigned long and unsigned int is introduced (Please see this oracle doc).
Beside all above disadvantages, Java is one of the most used language in the software industry (please see this) due to its maintainability and platform independent features.