聊聊Java那些事

本文已参与「新人创作礼」活动,一起开启掘金创作之路。


Java概述

1.定义

Java是一种高级的计算机语言,它是由Sun公司(已被Oracle公司收购)于1995年5月推出的一种可以编写跨平台应用软件完全面向对象的程序设计语言。詹姆斯·高斯林是Java编程语言的共同创始人之一,一般公认他为“Java之父”。

95ccf4cb50438ba007136a3a8feb361c.png

2.三大版本

(1)JavaSE(标准版):主要用于开发桌面端应用程序。例如Windows应用程序等。

(2)JavaME(微型版):主要用于开发嵌入式设备的软件。例如功能机中的游戏、小型家电等,目前已经很少用

(3)JavaEE(企业版):主要用于开发企业级应用程序,主要为WEB方向。例如WEB端、服务器等,应用最为广泛

3.特点

(1)简单性:Java语言简单易学,通过提供最基本的方法即可完成指定任务;没有指针,丢弃了C++中运算符重载、多重继承等模糊、难理解的概念;提供了自动垃圾回收机制,无需担心内存管理问题。

(2)面向对象:万物皆对象,模拟人的思维写程序,将现实世界的事物抽象成对象,将现实世界中的关系(如父子关系)抽象为继承。

(3)可移植性:引入虚拟机(即JVM),可进行跨平台移植,无需关注硬件环境。正如Java的口号:write once, run anywhere.

(4)高性能:使用即时编译器,其含有更多可用的信息,可以监控经常执行的代码并进行优化以提高速度,可以消除函数调用(即“内联”)等。

(5)分布式:为网络分布式环境所设计,通过URL访问资源就像是访问本地一样,支持远程网络调用方法。

(6)动态性:Java本身不是一种动态语言,但具有一定的动态性,主要是通过反射机制使Java语言实现动态性。

(7)多线程:内置了多线程控制,可使用户程序并发执行,比如同时看视频、听音乐等。

(8)安全性:提供了一套可靠的安全机制来防病毒、防篡改;程序运行之前利用字节确认器对代码进行安全检查。

(9)健壮性:Java是一种强类型语言,在编译和运行时会进行大量的检查,同时Java有自动垃圾回收机制和异常处理机制,保证编写的程序具有多方面的可靠。

4.JDK介绍

(1)JDK(Java Development Kit,Java开发环境):整个Java的核心,主要包括Java编译器、Java运行工具、Java文档生成工具、Java打包工具。JDK 7、JDK 8是目前最常用的版本。

(2)JRE(Java Runtime Environment,Java运行环境):运行Java程序所需要的环境。

(3)JVM(Java Virtual Machine,Java虚拟机):运行所有Java程序的虚拟计算机。

JDK、JRE与JVM之间的主要关系和区别:

20210613093825451.png

JDK中包含了开发工具和JRE,而JRE中又包含了Java基础类库和JVM。其中JVM是运行Java程序的核心虚拟机,而运行Java程序不仅需要核心虚拟机,还需要类加载器、字节码校验器以及Java的基础类库等。

5.解释型语言与编译型语言

(1)编译型语言【一次编译,多次执行】

编译型语言是将开发完成后所有的源代码都转换为可执行程序,这样程序在运行时就不需要重新编译。比如C、C++、Delphi、Pascal、Fortran等语言。

大致流程如下:

编译型语言

编译生成机器语言,再由机器运行机器码(二进制)。

(2)解释型语言【多次解释,多次执行】

解释型语言是将需要的源代码转换成机器码,而暂时用不到的则不进行处理,每次需要用到的功能可能不一样,所需要转换的源代码也不一样。比如Java、Basic、JavaScript、Python等。

大致流程如下:

解释型语言

将源代码翻译成中间代码,再有解释器对中间代码进行解释运行。程序只有在运行时才翻译成机器语言,并且每执行一次都要翻译一次。

【个人理解】

假如现在有一名外国人想要引用某一本书里面的内容,但他的中文不是很好,所以他找来了一个专门翻译的人进行翻译,这个翻译的人提供了两种翻译的方式,第一种是将整本书的内容全部翻译出来,第二种则是需要哪一部分就翻译哪一部分。而这里的第一种就类似于编译型,第二种则是解释型。


猜你喜欢

转载自juejin.im/post/7123594963002064904