java是编译型与解释性语言的混合体。
首先来解释下编译性语言和解释性语言:
编译性语是指程序执行前需要一个专门的翻译过程,将源程序翻译成能够直接运行的目标文件,一般是指机器语言,以后在执行时不需要再翻译目标文件,直接用目标文件在机器上直接运行,效率较高,现在的语言一般都是编译语言,如c、c++、vf、pascal、delphi.
解释性语言:是指程序执行时再翻译,这个翻译过程是由特定的软件叫作解释器来完成的。例如basic语言,由专门的解释器逐条翻译,每执行一句翻译一句。解释性语言没执行一次就得翻译一次,效率较低。
那么为什么说java是编译性与解释性语言的混合体?
java语言源代码写好后,首先要经过编译,将.java文件转换.class字节码文件。.class文件可以直接在java虚拟机上运行(jvm),jvm顾名思义是一台虚拟的计算机,定义在操作系统上的由软件模拟的计算机,不同的操作系统不同的平台java提供有特定的jvm,.class文件可以直接在jvm上运行,而不需考虑平台的差异性,这就是java可移植性的由来。jvm将.class字节码加载到内存,然后由其内特定的解释器将其翻译成对应的平台上运行的程序。总之,java首先将.java源文件编译成.class字节码,然后,运行时由jvm读取并翻译成jvm对应的平台目标程序,.class与平台无关有jvm来适应平台。
现在我们来讲讲java的特点了。
1、java是一种简洁有效容易学习的语言,它封装了c++语言中所有难以理解和复杂的操作,如头文件、指针、结构、运算符重载和虚拟基础类等。
2、面向对象,作为现代语言,怎么能偏离面向对象这一方向
3、适宜分布式计算,java具有强大的易于使用的网络编程api和联网能力,非常适合分布式计算程序。java应用程序可以向访问本地文件系统那样通过url访问远程对象。
4、多线程处理能力。
5、具有较高的安全性,java在设计时安全性设计考虑得很仔细,而且java是开源的,安全方面的bug能够及时得得到发现,并修复。
6、更加健壮、防患于未然:java在编译时对程序可进行可检查性异常进行检查,在程序为执行前就提前规避了这类错误,避免在运行时因为这类错误导致系统崩溃,起到了防患于未然的作用。
7、可移植性,java的.class文件与平台无关,由特定的jvm来适应不同的平台,能做到一处编写到处运行的特点,移植性特别好。
8、一种动态语言:因为java的解释语言特性,它是一种动态语言,可在运行的程序中加入新代码。
分享到:
相关推荐
Java虚拟机运行机制 Java虚拟机(JVM)是一种用于计算设备的规范,可以用不同的方式(软件或硬件)加以实现。JVM包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 Java虚拟机是一个...
本项目深入研究了基于Java虚拟机的Java语言运行机制,包含205个文件,涵盖106个Java源代码文件、56个Markdown文档、21个PNG图片、4个JPG图片、2个JAR包、2个属性文件、2个PDF文件、2个XMind思维导图以及1个Git忽略...
本压缩包包含的文件详细阐述了Java编程语言的各个方面以及Java虚拟机(JVM)的工作原理。 **Java语言规范** Java语言规范定义了Java程序的语法、语义和程序行为。它涵盖了以下几个关键部分: 1. **基本概念**:...
通过深入学习《Java虚拟机(第二版)》,开发者不仅可以理解Java程序的运行机制,还能掌握性能优化、问题排查等高级技巧,提升自己的编程水平。这本书通常会详细讲解上述知识点,并提供丰富的示例和实践指导,帮助...
### Java运行原理与Java虚拟机 #### 一、Java运行原理概述 Java作为一种跨平台的编程语言,其独特之处在于它的编译和解释过程。Java程序的执行涉及到两个主要步骤:首先是编译阶段,其次是解释执行阶段。 1. **...
《自己动手写Java虚拟机(GO语言)》是一本面向技术爱好者和程序员的书籍,它指导读者使用Go语言实现一个Java虚拟机(JVM)。这本书的编写基于《深入理解Java虚拟机》第二版以及相关的Java规范,旨在帮助读者深入...
Java由四个主要组成部分构成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。Java语言的运行流程涉及从编写源代码(.java文件)开始,经过编译生成字节码(.class文件)。字节码随后被...
Java虚拟机(JVM)是Java编程语言的核心组成部分,它为Java程序提供了跨平台的运行环境。Java程序在编写完成后,会被编译成字节码(.class文件),这些字节码可以在任何装有JVM的系统上运行,实现了“一次编写,到处...
总的来说,《实战Java虚拟机》这本书将带你深入JVM的内部世界,从理论到实践,全面掌握Java运行机制,提升编程和问题解决能力。通过学习,你将能够更好地优化程序,提高系统效率,解决实际开发中的各种挑战。
Java写的Java虚拟机,意味着我们探讨的是一个用Java语言实现的JVM,这在开源社区中并不罕见,例如OpenJDK的HotSpot JVM就是用C++和Java混合编写的。这篇博文(https://taolei0628.iteye.com/blog/1259292)可能深入...
Java虚拟机规范还定义了类加载机制,即在JVM启动时或运行过程中动态加载类到内存中。类加载器在运行Java程序时按需加载类,这允许Java程序进行延迟加载,即仅在需要时才加载类,这有助于优化程序的启动时间和运行时...
总之,《Java虚拟机规范(Java SE 7版)》是Java开发者的重要参考资料,它帮助我们理解JVM如何工作,如何与Java语言的其他部分交互,以及如何利用这些知识来提升应用的效率和可靠性。通过学习这份规范,开发者能够更...
Java虚拟机的内部结构包括类装载器、运行时数据区、执行引擎、本地方法接口和本地库。其中,类装载器负责加载类文件,运行时数据区存储线程的工作数据,执行引擎解析并执行字节码,本地方法接口允许JVM调用非Java...
这份"Java8语言和虚拟机规范"包含了对Java编程语言和Java虚拟机(JVM)的详细定义,是开发者深入理解Java平台核心机制的重要参考资料。下面我们将深入探讨其中的关键知识点。 一、Java 8语言规范(JLS8) 1. **...
Java的成功在于其能够编写一次,到处运行(Write Once, Run Anywhere)的特性,这得益于Java虚拟机(JVM)。Java虚拟机允许Java程序在任何安装了Java平台的系统上运行,而无需针对特定操作系统进行重新编译。 Java...