1.Java基础概述
1、简介
Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 面向对象程序设计语言和 Java 平台的总称。由 James Gosling和同事们共同研发,并在 1995 年正式推出。
后来 Sun 公司被 Oracle (甲骨文)公司收购,Java 也随之成为 Oracle 公司的产品。
2005 年 6 月,JavaOne 大会召开,SUN 公司公开 Java SE 6。此时,Java 的各种版本已经更名,以取消其中的数字 “2”:J2EE 更名为 Java EE,J2SE 更名为Java SE,J2ME 更名为 Java ME。
2、Java 三个体系:
- Java SE(Java 2 Platform Standard Edition)标准版【J2SE】
支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,此版本以前称为J2SE,是其它两者的基础。
- Java ME(Java 2 Platform Micro Edition)小型版、微型版【J2ME】
支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加入了针对移动终端的支持,此版本以前称为J2ME。
- Java EE(Java 2 Platform Enterprise Edition)企业版【J2EE】
是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如:Servlet 、Jsp等,主要针对于Web应用程序开发。版本以前称为J2EE。
- 三种技术的关系:
3、Java语言的特性
- 简单性(简洁有效、易学)
Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,而是引用。并提供了自动的废料收集,使得程序员不必为内存管理而担忧。
- 面向对象(强制面向对象)
Java语言提供类、接口和继承等面向对象的特性,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制。
Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。
- 分布式处理(适合分布式计算)
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库。
Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
- 健壮性(鲁棒性,防患于未然)
Java吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制。
Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。
- 结构中立(是一种中性结构)
Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。
这种途径适合于异构的网络环境和软件的分发。
- 跨平台(可移植性)
通过Java语言编写的应用程序在不同的系统平台上都可以运行。“Write once , Run Anywhere”
- 解释型(解释性)
Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。
在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。
- 高性能(具有较好的性能)
与那些解释型的高级脚本语言相比,Java的确是高性能的。
- 多线程(具有多线程处理能力)
Java语言支持多个线程的同时执行,并提供多线程之间的同步机制。
- 安全性(具有较高的安全性)
Java通常被用在网络环境中,为此Java提供了一个安全机制以防恶意代码的攻击。
- 动态(是一种动态语言)
Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类,这也有利于软件的升级。
另外Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
4、Java运行环境
- JRE(Java Runtime Environment Java运行环境)
包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等
- JDK(Java Development Kit Java开发工具包)
JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了
JRE、JDK、JVM三者之间关系:
JDK目录说明:
JDK安装自行百度