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. 存储区
相关推荐
MATLAB代码顾问5 小时前
5大智能算法优化标准测试函数对比(Python实现)
开发语言·python
wuminyu7 小时前
专家视角看Java字节码加载与存储指令机制
java·linux·c语言·jvm·c++
万粉变现经纪人7 小时前
如何解决 pip install llama-cpp-python 报错 未安装 CMake/Ninja 或 CPU 不支持 AVX 问题
开发语言·python·开源·aigc·pip·ai写作·llama
清风明月一壶酒7 小时前
OpenClaw自动处理Word文档全流程
开发语言·c#·word
其实防守也摸鱼7 小时前
CTF密码学综合教学指南--第五章
开发语言·网络·笔记·python·安全·网络安全·密码学
callJJ8 小时前
Spring Data Redis 两种编程模型详解:同步 vs 响应式
java·spring boot·redis·python·spring
小郑加油8 小时前
python学习Day12:pandas安装与实际运用
开发语言·python·学习
AC赳赳老秦8 小时前
投标合规提效:用 OpenClaw 实现标书 / 合同自动审核、关键词校验、格式优化,降低废标风险
开发语言·前端·python·eclipse·emacs·deepseek·openclaw
KuaCpp9 小时前
C++面向对象(速过复习版)
开发语言·c++
wbs_scy9 小时前
Linux线程同步与互斥(三):线程同步深度解析之POSIX 信号量与环形队列生产者消费者模型,从原理到源码彻底吃透
java·开发语言