Java语言概述和开发环境-1

章节声明:本文章参考疯狂java讲义,仅作为个人笔记进行回忆使用,个人承诺绝不会用于任何商业价值的获取,仅作学术参考,如有侵权,联系删除。

Java语言的开发简史

1.2.1高级语言的运行机制

计算机高级语言按程序的执行方式可以分为编译型和解释性两种

编译型语言使用编译器将高级语言源代码一次性翻译成平台硬件可执行的机器码,编译生成的可执行程序可以脱离开发环境,在特定的平台上独立运行,但是生成的可执行程序通常无法被移植到其他平台上运行

解释型语言使用专门的解释器将源程序逐行解释成特定平台的机器码并立即执行的语言,由于是边编译边解释,因此解释型语言运行效率比较低,但是解释型语言跨平台比较容易。

1.2.2Java程序的运行机制和JVM

Java语言比较特殊,用Java语言编写的程序需要经过编译步骤,但这个编译步骤并不生成特定平台的机器码,而是生成一种与平台无关的字节码(*.class文件),这种字节码并不是可执行的,必须使用Java解释器来解释执行,Java程序的执行过程必须经过先编译,后解释两个步骤。

Java语言里负责执行字节码文件的是Java虚拟机,即JVM,所有平台上的JVM都想编译器提供了相同的程序接口,JVM是Java程序跨平台的关键部分,只要为不同平台实现了相应的虚拟机,编译后的Java字节码就可以在该平台上运行,JVM起到了一个转换器的作用,所有平台上的JVM向上提供给Java字节码程序的接口都完全相投,但向下使用不同平台的接口则互不相同。

Oracle公司制定了JVM的统一标准:

  1. 指令集
  2. 寄存器
  3. 类文件的格式
  4. 垃圾回收堆
  5. 存储区
相关推荐
Jia ming2 分钟前
C语言实现日期天数计算
c语言·开发语言·算法
阿维的博客日记3 分钟前
为什么会增加TreeMap和TreeSet这两类,有什么核心优势吗?可以解决什么核心痛点?
java·treeset·treemap
xh didida9 分钟前
C++ -- string
开发语言·c++·stl·sring
dllxhcjla11 分钟前
黑马头条1
java
宠友信息14 分钟前
一套基于uniapp+springboot完整社区系统是如何实现的?友猫社区源码级功能解析
java·spring boot·后端·微服务·微信·uni-app
humors22125 分钟前
各厂商工具包网址
java·数据库·python·华为·sdk·苹果·工具包
lly20240633 分钟前
Bootstrap 折叠组件详解
开发语言
无限进步_34 分钟前
【C++&string】大数相乘算法详解:从字符串加法到乘法实现
java·开发语言·c++·git·算法·github·visual studio
海兰1 小时前
使用 Spring AI 打造企业级 RAG 知识库第二部分:AI 实战
java·人工智能·spring
‎ദ്ദിᵔ.˛.ᵔ₎1 小时前
模板template
开发语言·c++