• Java does not support Enums, Structures or Unions but supports classes.
• Java does not support multiple inheritance or operator overloading
• Java allows functions to be overloaded
• In java, memory leaks are prevented by automatic garbage collection
• C++ allows direct calls to be made to the native system libraries. On the other hand java calls these libraries trough java native interface.
• In c++ parameters are passed by either value or pointers. In java, due to the absence of pointers, parameters are passed by value.