第一章 JAVA体系机构介绍
1.1 程序运行的条件:JAVA虚拟机、JAVA API、JAVA class文件。而JAVA的技术核心为JAVA虚拟机。
1.3 体系结构
JAVA体系结构包括四个独立的技术:
JAVA程序设计语言
JAVA CLASS 文件
JAVA API
JAVA 虚拟机
JAVA程序经过编译生成CLASS文件,然后再JAVA虚拟机中运行CLASS文件。程序运行时,CLASS文件去调用JAVA API。
图:
JAVA虚拟机和JAVA API的组合被称为JAVA运行时系统和JAVA平台。所有JAVA程序都在这上面编译。因此JAVA程序以来与JAVA平台,不依赖技术的操作系统,不同的系统拥有不同的JAVA平台。
1.3.1 JAVA虚拟机
JAVA虚拟机的主要任务装载CLASS文件和执行字节码。JAVA虚拟机包含了一个类装载器,装载程序和API的CLASS文件。JAVA API中只用程序执行时需要的那些类才会被加载。执行引擎来执行字节码。
执行引擎:
第一种:行引擎为一次性解释字节码(机器语言)。
第二种:执行的字节码会被编译成本地机器语言,编译出的本地机器语言会被缓存,当方法以后被调用的时候可以重用,优点:快。缺点:消耗内存。
第三种:自适应优化器。虚拟机开始的时候解释字节码(机器语言),其后监视运行中的程序活动,记录使用频繁的代码段。虚拟机只把活动频繁的代码编译成本地代码,其他的代码用的不频繁,继续保留为字节码有虚拟机继续解释他们。
自适应优化器可以使得JAVA虚拟机在80%-90%的时间执行被优化过的本地代码,只需要编译10%-20%对性能有影响的代码。
第四种:由硬件芯片构成的虚拟机。用本地方法执行JAVA字节码。执行引擎内嵌在芯片里。
1.3.2类装载器的体系结构
分享到:
相关推荐
虚拟机学习笔记 Java 虚拟机(JVM)是 Java 语言的 runtime 环境,负责加载、验证、执行 Java 字节码。以下是 JVM 相关知识点的总结。 1. 运行时数据区域 JVM 的运行时数据区域主要包括: * 堆(Heap):...
学习Java的第一步是安装Java Development Kit (JDK),它包含了编译、调试和运行Java程序所需的所有工具,如javac编译器和Java虚拟机(JVM)。 3. **基本语法** - **变量与数据类型**:Java有八种基本数据类型,...
Java语言具有跨平台性(Write Once, Run Anywhere),这是因为它具有JVM(Java虚拟机)的存在。任何操作系统上的JVM都可以运行相同的Java字节码,从而避免了针对不同平台编写不同代码的需要。 Java语言的另一特点是...
java学习笔记3(java虚拟机)java学习笔记3(java虚拟机)
### JAVA学习笔记知识点详解 #### 一、计算机概述 1. **计算机**:电子设备,用于处理信息。 2. **计算机硬件**: - **中央处理器(CPU)**:计算机的大脑,负责处理指令。 - **内存(RAM)**:临时存储数据,...
10. **Java虚拟机(JVM)**:理解JVM的工作原理,包括类加载机制、内存模型(堆、栈、方法区等)和垃圾回收机制,有助于优化程序性能。 11. **Java EE**:如果深入学习,还会涉及到Java企业级应用开发,如Servlet、...
### 学习笔记之Java虚拟机详解 #### 运行时数据区域概览 Java虚拟机(JVM)运行时数据区域主要包括以下几部分:程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区以及运行时常量池。 1. **程序计数器**: -...
8. **JVM原理**:分析Java虚拟机的工作机制,包括类加载机制、内存模型、垃圾收集和性能调优。 9. **反射机制**:解释如何在运行时动态获取类的信息并操作类的对象,以及动态代理的应用。 10. **泛型**:介绍泛型...
本文主要关注的是Java虚拟机(JVM),它是实现Java语言跨平台特性的关键。JVM定义了Java程序运行所需的一套指令集和一个相应的运行时环境。它能够将Java源代码编译成与平台无关的字节码,然后在不同的操作系统上通过...
### Java学习笔记——基础知识详解 #### 一、Java开发环境(JDK)与运行环境(JRE) Java技术的核心在于其强大的跨平台能力,这主要得益于Java的两大环境:JDK(Java Development Kit)和JRE(Java Runtime ...
【Java学习笔记】 Java是一种广泛使用的面向对象的编程语言,其设计目标是具有高效率、可移植性和可读性。本笔记将围绕Java的历史、重要性、安装配置、语法基础等方面进行详细介绍。 ### 1. Java的发展与意义 ...
【Java分布式应用学习笔记-谈JVM】 在Java分布式应用中,JVM(Java虚拟机)扮演着至关重要的角色。虽然有些人可能认为分布式系统与JVM的关系并不密切,但事实上,尤其是在大型分布式环境,如云计算服务平台,对Java...
### 韩顺平编写的Java学习笔记概览 #### Java平台分类与运行机制 - **J2SE(Java 2 Platform, Standard Edition)**: 标准版Java开发平台,适用于桌面应用程序开发。 - **J2EE(Java 2 Platform, Enterprise ...
Java 虚拟机(JVM)是Java编程语言的核心组成部分,它允许Java代码在不同的操作系统上运行,实现了“一次编写,到处运行”的目标。JVM 是一个虚拟计算机,能够执行字节码(.class文件),这些字节码是Java源代码经过...
java学习笔记4(java多线程)java学习笔记4(java多线程)
Java 虚拟机(JVM)自动内存管理机制 Java 虚拟机(JVM)自动内存管理机制是 Java 语言的一大特色,它使得 Java 程序员无需手动管理内存,从而提高了开发效率和程序稳定性。JVM 自动内存管理机制主要通过 JVM 的...
6. **高性能:** Java虚拟机(JVM)通过即时编译(JIT)技术提高程序的执行速度。 7. **多线程:** Java内置对多线程的支持,简化了并发程序的开发。 #### 三、Java开发环境配置 1. **Linux环境:** - 配置`JAVA_HOME...
### Java学习笔记要点 #### 一、了解Java ##### 1.1 Java的起源与发展历程 - **起源**: Java 最初是由 Sun 公司在 Green Project 中为了开发 Star7 应用程序而创建的一种编程语言。 - **命名**: 语言的名字来源于 ...
**JVM学习笔记(Java虚拟机)** Java虚拟机(JVM)是Java语言的核心组成部分,它是Java程序运行的平台,负责解释和执行字节码。深入理解JVM对于优化Java应用程序性能至关重要。本笔记将从以下几个方面详细介绍JVM:...