1、什么是Java
Java是Sun Microsystem于1995年首次发布的一种编程语言和计算平台。
计算平台是在计算机中运行应用程序或者软件的环境,包括硬件环境和软件环境。一般系统平台包括计算机的硬件体系结构、操作系统、运行时库等
Java是快速、安全和可靠的。从笔记本电脑到数据中心、从游戏机到科学超级计算机,从手机到互联网,Java几乎无处不在。Java主要分为三个版本,也就是三种主要的应用方向
- JavaSE即Java平台标准版,Java2 Platform Standard Edition
- JavaEE即Java平台企业版,Java2 Platform Enterprise Edition
- JavaME即Java平台精简版,Java2 Platform Micro Edition
1.1、Java特点
- Java是一种面向对象的编程语言
1.面向对象Object Oriented是一种软件开发思想,是对显示世界的一种抽象,面向对象会把相关的数据和方法组织为一个整体看待。而面向过程Procedure Oriented是一种以过程为中心的编程思想
2.Java摒弃了C++中难以理解的多继承、指针、内存管理等概念,不用手动管理对象的声明周期
3.Java具有功能强大和简单易用两个特征。现在企业级开发、快速敏捷开发,尤其是各种框架的出现,使得Java越来越火,而不是到处传说的要死
4.Java是一门静态语言。在编译期间就能确定数据类型,在运行前就能检查类型的正确,而且类型确定后就不能再更改。静态语言主要有C/C++、C#、Java、Scala等,动态语言在运行时才能确定数据类型,例如Python、JavaScript等。
从设计上说所有的语言都是用来把偏向自然语言的代码转换为机器指令。动态语言是为了能够提高编码效率,追求使用更少的代码来实现功能。静态语言设计师用来让硬件执行的更高效,因此要求编写准确无误的代码,以此来使代码尽快的执行。从这个角度上说,静态语言的执行效率要比动态语言高,速度更快。
- Java具有平台独立性和可移植性
Java号称一次编写到处执行,即Write once, run anywhere。真正的核心是JVM。计算机应用程序和硬件之间会屏蔽很多细节,他们之间依靠操作系统完成调度和协调。
依靠JVM可以实现在windows下开发编译的代码可以不用任何特殊处理即可在Linux平台下运行。主要的原因是不同的操作系统有不同的JVM实现,而编程是针对JVM规范进行编程实现,不需要考虑平台的差异性
- Java很容易实现多线程编程,具有高性能
Java作为一门高级语言,对用户屏蔽了很多底层实现细节。从操作系统的角度上说,实现多线程有:1、在用户空间中实现多线程。2、在内核空间中实现多线程。3、在用户和内核空间中混合实现线程。这样三种不同方式。Java是在用户空间实现的多线程,内核是感知不到Java存在多线程机制的。
代码静态javac编译器编译为字节码bytecode,再经过JVM内嵌的解释器将字节码转换为机器代码,这就是解释执行,这种转换过程效率比较低。但是部分JVM实现Hotspot JVM提供了JIT及时编译器,就是通常所说的动态编译器。JIT能够在运行时将热点代码编译为机器码,这种方式运行效率比较高,就是编译执行。所以Java不应该简单的理解为一种解释执行的语言。
- Java具有高鲁棒性
Java的强类型机制、异常处理、垃圾自动回收等都是Java程序健壮性的保证。这也是Java与C语言的重要区别
- Java具有高安全性,并很容易实现分布式应用开发
Java语言支持internet应用开发,以牺牲执行性能为代价换取了高安全性,提供了用于网络应用编程的类库,同时Java的远程方法调用RMI机制也是开发分布式应用的重要手段
1.2、Java核心概念
JDK即Java Development Kit称为Java开发包或者Java开发工具,是一个编写Java应用的程序开发环境,JDK是整个Java的核心,包括了Java运行环境JRE,一些java工具和Java核心类库JavaAPI
早期版本包括JDK1.8中,Oracle提供了两种Java平台的实现,一种是JDK,Java开发标准工具包;一种是JRE,即Java Runtime Environment,Java运行时环境。JDK功能比JRE多的多,JRE主要用于作为生产环境运行应用,而JDK主要用于开发测试应用。
JRE
JRE是个运行环境,JDK是个开发环境。因此一般编程程序时需要使用JDK,而运行程序需要JRE。JDK中实际上已经包含了JRE,因此安装时只需要JDK即可。但是由于JDK包含了许多与允许无关的内容,占用的空间比较大,因此运行普通的Java应用时无需安装JDK,而只需要安装JRE即可。
备注:本篇文章转载于蓝鸥闫峻讲师