当前位置:课程学习>>第一章 Java概述>>学习内容>>知识点一


知识点一:Java程序设计语言概况



同学们,请运用你学到的知识,尝试分析下面的案例。

Java虚拟机

Java技术的核心就是Java虚拟机,因为所有的Java程序都在虚拟机上运行。Java程序的运行需要Java虚拟机、Java API和Java Class文件的配合。Java虚拟机实例负责运行一个Java程序。当启动一个Java程序时,一个虚拟机实例就诞生了。当程序结束,这个虚拟机实例也就消亡。

Java的跨平台特性,因为它有针对不同平台的虚拟机。

Java虚拟机的主要任务是装载class文件并且执行其中的字节码。由下图可以看出,Java虚拟机包含一个类装载器(class loader),它可以从程序和API中装载class文件,Java API中只有程序执行时需要的类才会被装载,字节码由执行引擎来执行。

当Java虚拟机由主机操作系统上的软件实现时,Java程序通过调用本地方法和主机进行交互。Java方法由Java语言编写,编译成字节码,存储在class文件中。本地方法由C/C++/汇编语言编写,编译成和处理器相关的机器代码,存储在动态链接库中,格式是各个平台专有。所以本地方法是联系Java程序和底层主机操作系统的连接方式。

由于Java虚拟机并不知道某个class文件是如何被创建的,是否被篡改一无所知,所以它实现了一个class文件检测器,确保class文件中定义的类型可以安全地使用。class文件检验器通过四趟独立的扫描来保证程序的健壮性:

1.class文件的结构检查

2.类型数据的语义检查

3.字节码验证

4.符号引用验证

Java虚拟机在执行字节码时还进行其它的一些内置的安全机制的操作,他们作为Java编程语言保证Java程序健壮性的特性,同时也是Java虚拟机的特性:

1.类型安全的引用转换

2.结构化的内存访问

3.自动垃圾收集

4.数组边界检查

5.空引用检查

教师解析

从本案例中可经看出,Java的特点有一大部分都是通过Java虚拟机来实现的,主要有跨平台性,安全性等。

通过对上述案例的分析,你是否掌握了Java语言的基本特点?下面我们进入总结与反思。