0基础java入门:第四节.Java程序的特性以及运行原理解析

第四节.Java程序的特性以及运行原理解析

1.Java语言的特点

 提到Java语言的特点,大多会说他的 跨平台性,面向对象,安全性,多线程, 简单易用。

            跨平台特性:首先这里的平台指的是不同的操作系统(win linux ios等)。不同的操作系统对于程序也有不同的执行过程。这里Java的程序可以在不同系统中执行得到相同结果。其他语言也有跨平台特性但是大多数是代码跨平台而不是程序跨平台。这里Java的跨平台原理我们会在介绍完Java程序的执行原理后做详细的介绍。

           面向对象:面向对象指的是以象为基本粒度,其下包含属性和方法。对象的说明用属性表达,而通过使用方法来操作这个对象。面向对象技术使得应用程序的开发变得简单易用,节省代码。Java面向对象是指以对是一种面向对象的语言,也继承了面向对象的诸多好处,如代码扩展、代码复用等。现在的计算机语言中大多数是都有面向对象的部分的,并不只是Java独有的。面向对象的实现是我们学习Java中的重要部分。基础语法结束后会有详细讲解。

          安全性:安全性可以分为四个层面,即语言级安全性、编译时安全性、运行时安全性、可执行代码安全性。语言级安全性指Java的数据结构是完整的对象,这些封装过的数据类型具有安全性。编译时要进行Java语言和语义的检查,保证每个变量对应一个相应的值,编译后生成Java类。运行时Java类需要类加载器载入,并经由字节码校验器校验之后才可以运行。 Java类在网络上使用时,对它的权限进行了设置,保证了被访问用户的安全性。

          多线程: 多线程在操作系统中已得到了最成功的应用。多线程是指允许一个应用程序同时存在两个或两个以上的线程,用于支持事务并发和多任务处理。 Java除了内置的多线程技术之外,还定义了一些类、方法等来建立和管理用户定义的多线程。多线程 也不是Java独有的特性,大部分语言都有多线程的表现和实现方式。

          简单易用:个人认为Java使用起来并不简单,学习也比较难,但是Java语言的学习能够为我们掌握规范的语法基础,代码格式 和命名规范等。学习完Java之后对于学习其他语言的会有很大的帮助。


2.Java语言中的名词解释

JDK:Java开发工具包,JDK是 Java 语言的开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核shu心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

JRE:Java运行时环境,指Java运行环境。运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。

JVM:Java虚拟机,JVM是一种虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。 使得Java语言在不同平台上运行时不需要重新编译。

编译器:Javac命令调用编译器,编译器负责将源文件 编译成 字节码文件。

类加载器class loader:类加载器负责加载 Java 类的字节代码到 Java 虚拟机中。

源文件:以 *.java 为后缀名的文件,用来书写Java代码的文件,我们称之为 源文件或源代码。

字节码文件:以*.class为后缀名的文件,通过javac编译器编译源文件后生成。是Java程序的执行文件。

 

3.JDK介绍

下面我们通过一张图像来观察一下jdk的组成

上图红色框体内:为JDK的所有组件范围,其中包括例如 javac 编译器 ,javadoc 文档生成器 等开发工具和其他一系列的组件工具。以及jre运行环境。

上图黑色框体内:  为JRE运行环境组件,可以看到jre是包含在jdk中的。jre中只有Java程序运行是需要的工具和组件。

上图紫色框体内: 为jvm Java虚拟机,他是包含在jre中的。jvm只是jre运行环境中的一个小组件,但是是一个极为重要的组件。

上图我们可以简单理解为:jdk中包含jre  jre中包含jvm

 

4.Java程序的运行原理

JAVA运行原理的关键就在于一句话:先编译后执行

结合上图我们来了解以下JAVA 的运行过程和原理。

1.首先JAVA程序代码的载体是后缀名为*.java源文件。也就是说我们先从源文件中编写代码。

2.保存后通过JAVA编译器将源文件编译成*.class后缀的字节码文件

3.然后通过类加载器加载字节码文件后交给JAVA虚拟机

4.虚拟机负责将字节码转换成本地系统可以识别的机器码。

5.本地系统化执行机器码最终反映到硬件平台上。

6.其中JVM是负责将字节码转换成机器码的功能。相当于一个翻译的功能。

5.Java程序的跨平台原理

JAVA程序跨平台原理的关键就在于一句话: 一次编译到处执行

了解了 JAVA 的运行过程和原理之后,让我们来看一看JAVA跨平台的本质是什么。

结合上节我们提到的JVM的功能和上图所示。JVM是完成JAVA程序跨平台的重要组件。

大家一定要注意JAVA程序是可以跨平台的但是JVM是不能跨平台的

如图不同的平台(操作系统)需要安装不同的JVM才能将同一个JAVA程序字节码翻译成不同系统对应的机器码执行。

举个例子:我们在除了中文以外不会任何外语的情况下,如果向出门旅游就需要待翻译,JVM就相当于翻译。不同的操作系统就像不同的国家,去不同的国家就需要带会不同语言的翻译。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值