一、Java的发展历史
Java是由SUN公司的开发人员James Gosling及其领导的一个开发小组与1995年开发并推出的一门高级编程语言。经过二十几年的发展已经成为最受程序员欢迎、使用最为普遍的编程语言之一。
2004年J2SE 5.0版本问世,更新力度大,Java从此进入了发展的快车道。并将J2SE 5.0改名为Java SE 5.0。
2009年Oracle公司(甲骨文)收购Sun公司。
2014年,Java SE 8发布。(企业常用版本)
以上年份并不重要,只是为了让大家简单的了解一下Java的发展历程。
跟大家分享一个有趣的小故事,其实Java之前不叫Java,而是叫Oak(橡树),是以高斯林办公室外面的一颗橡树命名的。当他们去注册商标时,发现Oak已经被注册。于是乎,Java的几位爸爸们开始讨论给Oak改名字,他们一边喝着印度尼西亚的Java(咖啡名称)一边想名字。喝着喝着就决定把Oak改成了Java。这也是为什么Java的Logo上有一个咖啡杯的图案。
不得不说,外国人起名字真的很随意,哈哈。
詹姆斯·高斯林(Java之父)
二、Java的分类
Java SE(J2SE) ——基础部分,Java的标准版本,包括面向对象、API、JVM等等。主要应用于桌面软件的开发,如QQ、优酷等。
Java EE(J2EE) —— 企业级应用的开发,Java的企业版,建立于Java SE的基础之上,包括JSP、EJB、Service等等。主要应用于网站的开发。
Java ME(J2ME) —— 嵌入式开发。主要应用于手机游戏、手机软件、机顶盒等的开发。
而我们主要是针对先对Java SE进行学习,为后面的Java EE打下良好的基础。
三、Java的跨平台性
Java语言之所以能够受广大程序员的喜爱与它的跨平台性是分不开的。
跨平台是个什么?
我们常用的平台有苹果Mac系统,微软Windows系统和Linux系统。
有些经验的同学可能都知道,比如我在Windows下的网易云音乐安装包,在Mac和Linux下是无法安装的,需要另外下载网易云音乐的对应系统的安装包。
而咱们Java口号是“Write Once,Run Anywhere”,具有一次编译,到处运行的特点。
那么如何实现跨平台?跨平台的原理是什么?
主要原因是Java程序在运行时,采用了Java虚拟机(JVM),虚拟机也叫运行时系统。Java编译后生成的是字节码文件(.class)最终由JVM解释并执行。
在不同的操作系统上,只要安装了Java虚拟机,就可以运行同一个Java字节码文件,尽管安装在不同平台上的虚拟机不一样,但是这些虚拟机向计算机解释执行Java字节码的方式是一样的,解释执行的结果也是一样的。虚拟机抹平了不同操作系统之间的差异,从而实现了跨平台的功能。
非跨平台
跨平台
四、Java的特点
(一)面向对象。
Java是一门完全的面向对象语言,万物皆为对象是其核心思想。Java技术提供了一个清晰和高效的面向对象开发平台。
(二)可移植性。
Java具有很好的跨平台性,同一个Java字节码能够在不同的硬件平台和不同的操作系统上执行。可移植性一方面体现在它不依赖操作平台。另一 方面体现在Java规定了基本数据类型的字节长度。不存在不同硬件和操作系统上数据类型不兼容的问题。
(三)可解释性。
Java编译器编译产生的不是可执行代码,而是字节码。字节码是由Java虚拟机执行的高度优化的一系列指令,虚拟机通过解释执行Java字节码。解释字节码是创建具有跨平台性的可移植程序的有效办法。
(四)多线程。
Java的多线程技术提供了构建含有许多并发线程的途径和方法。
知识拓展
JVM:(Java Virtual Machine),Java虚拟机,JVM的作用负责解析运行class文件,保证Java的跨平台。
JRE:(Java Runtime Environment) Java程序的运行时环境,包含了JVM和运行时所需要的核心类库。如果只要运行Java程序,只要安装JRE即可。
JDK:(Java Development Kit) 是Java程序开发工具包,包含JRE和开发人员所用的工具(编译工具javac.exe 运行工具 java.exe)。
JDK、JRE、JVM之间的关系