Java入门到实践系列(1)——Java简介

一、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上有一个咖啡杯的图案。

不得不说,外国人起名字真的很随意,哈哈。

1596525388149

詹姆斯·高斯林(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字节码的方式是一样的,解释执行的结果也是一样的。虚拟机抹平了不同操作系统之间的差异,从而实现了跨平台的功能。

1596525551478

非跨平台

1596525514052

跨平台

四、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)。

1596525600677

JDK、JRE、JVM之间的关系