语言特性
- 简单性(简洁有效、易学) Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,而是引用。并提供了自动的废料收集,使得程序员不必为内存管理而担忧。
- 面向对象(强制面向对象) Java语言提供类、接口和继承等面向对象的特性,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制。 Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。
- 分布式处理(适合分布式计算) Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(javanet),它提供了用于网络应用编程的类库。 Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
- 健壮性(鲁棒性,防患于未然) Java吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制 Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。
跨平台(可移植性) 通过Java语言编写的应用程序在不同的系统平台上都可以运行。“Writeonce,RunAnywhere” 原理:只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVMJavaVirtualMachine)即可。由JVM来负责Java程序在该系统中的运行。
结构中立(是一种中性结构) Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。
- 解释型(解释性) Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。
多线程(具有多线程处理能力) Java语言支持多个线程的同时执行,并提供多线程之间的同步机制
安全性(具有较高的安全性) Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。
高性能(具有较好的性能) 与那些解释型的高级脚本语言相比,Java的确是高性能的。
动态(是一种动态语言) Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。
优缺点
角度一
优点:简单、安全、稳定、跨平台
缺点:需要运行环境、不适合开发桌面应用程序
应用:bs结构的erp系统、金融系统、电商系统等,几乎所有的银行系统和银行网站都是基于java平台的。
使用场景
- 客户端开发 主要面向政府、事业单位和大型企业,如医疗、学校、OA、邮箱、投票、金融、考试、物流、矿山等信息方面的系统。这些应用在我们生活中其实随处可见,比如医院的挂号系统、公司的打卡系统、物流系统等