Reasons for using java
- built in support for multi threading, socket communication and memory management
- object oriented approach
- better protability than other langaugae across os
- support applications like web based, distributed and network protocol