- 简单性
- 可移植性 write once run anywhere
- 面向对象
- 高性能 及时编译可以使某些代码接近C++的效率
- 分布式 Java就是为网络分布式环境设计的,因为它能够处理很多TCP/IP协议上的东西。e.g.Java通过URL获取网络上的数据就和获取本地上的数据一样方便。
- 动态性 Java本身是不具有动态性的,但是通过反射使Java有了动态性
- 多线程 可以带来更好的交互行为和实时行为 Java设计主要原因之一
- 安全性 适用于网络分布式环境
- 健壮性 异常机制
JVM:java虚拟机——write once run anywhere
- JavaSE:标准版(桌面控制,控制台开发。。。)
- JavaEE:E企业级开发(Web端,服务器开发)
- JavaME:嵌入式开发(手机,小家电。。。)
JDK JRE JVM
- JDK : Java Development Kit
- JRE:Java Runtime Environment
- JVM:JAVA Virtual Machine



