Java学习路线(一)——Java语言概述

发布时间 2023-10-18 17:16:03作者: landscapes

目录


  1. Java语言概述

  2. Java发展简史

Java语言概述


笔者在学习Java前已经进行了C和C++的学习,因此在看待Java这种语言时会不免和C、C++去做比较。在学习了Java的基本语法以及了解了它的一些特点之后,笔者认为Java其实与C++有许多相似之处。

Java的设计者在设计Java之初的设想是想要一门能够支持多个平台的语言。但事实上由于各个平台的硬件基础不同,在Java之前事实上并没有一门语言是真正全平台通用的。

一个极端的例子是汇编语言。它与自身设备的指令集有很大关系,因此程序想要移植几乎是不可能的。C语言虽然实现了可移植性,但事实上在运行不同程序时需要在对应的设备上稍作修改,重新编译才可以运行,其原因是虽然C语言的语法大同小异,但不同设备上的编译器并不相同,编译器需要根据设备来将代码文件编译成可以在这个设备上运行的程序。

对于可移植性,Java这种语言提供了一种思路:那就是通过搭建一个虚拟的平台,这个平台与设备无关,那么把编译好的程序去放到平台上运行,只要所有设备上的虚拟平台都是一样的,那么就不需要重新编译。事实上,Java确实做到了这一点。

Java的语法与C++很类似。如果你是C++开发者,那么很快就可以上手Java的语法。事实上,可以将Java理解为“去除了Java开发者认为多余的C++功能的语言”,这使得Java对很多人来说容易上手,并且事实上的确去除了C++中许多繁琐的功能,例如指针、头文件、虚基类等等。


public class Helloworld {
	public static void main(String[] args) {
		System.out.println("Hello World!")
	}
}

#include

int main()
{
	std::cout<<"Hello world!";
	return 0;
}

可以看到,二者的确有区别,但语法还算类似(雾)。关于Java的基本语法,之后的几篇博客会总结到。


Java发展简史


Java最初是由一家叫做Sun的公司的工程师小组开发的。当时的技术人员想要设计一种小型的计算机语言,主要是用于比较小型的设备,这就要求十分紧凑且高效率的代码。

事实上,这家公司的人员很多都有UNIX的应用背景。(UNIX是一个操作系统,由C语言编写)因此,他们所选用的语言是C++。于是,工程师小组的领头人Gosling将这门语言命名为“Oak”(意思是“橡树”)。但之后他们发现这个名字已经被另一种计算机语言用了,后来就改名叫“Java”。

Java发展一开始并不顺利。刚刚提到,Java被创造的背景是在小型设备例如有线电视转换盒等等上运行,但一直没有愿意出钱购买这项技术的买家。不过,Java开发者很快意识到Java可以用来开发一个“相当酷的浏览器”,并且在1995年的Sunworld上得到展示,之后便引人注目。

2009年,Sun被Oracle收购。之后陆续推出了Java7、Java8,一直到现在,Java也在不断更新自身以及Java类库,展现出了相当强的生命力。