1.简单安全
语法借鉴c/c++,易于有编程基础的人快速上手
消除了指针,用接口替代了多继承,(java中的引用实际上是(受控的,安全的)指针)(使用接口可以达到精准继承,多继承会继承父类的所有特性,但是有些特性可能并不是你想继承的,比如猴子会有爬树和荡秋千两个接口,如果你想狗也会爬树,但不想狗会荡秋千,你可以在狗类中实现爬树的接口(达到精准继承),但如果采用多继承,则不可避免地会使狗能够荡秋千(多继承的副作用)
实现垃圾自动回收机制,简化了释放资源管理的工作
提供了丰富的类库,灵活使用以实现的类,可以大大减少程序开发时间,开放的jdk源码文档也可以提高程序员的代码能力
2.可移植性
与平台架构无关,代码写一次,可运行无数次 由于java虚拟机的存在,使得java不直接依赖于操作系统(原因详见),达到可移植的效果
3.面向对象
纯面向对象语言 代码可复用,可拓展, 可维护
4.多线程
应用程序可在同一时间并发执行多项任务 能够提高cpu资源的利用率,加快程序的响应速度
5.动态性
动态加载类库 (将容易变化的内容放入动态库,修改动态库,只需编译动态库,无需再编译exe文件)
运行时创建对象
适应环境发展
6.分布性
访问不同网络主机的数据,在不同主机上执行相关操作