(1)java虚拟机概念和结构图

简介: java虚拟机解构图一 java虚拟机解构图二 java虚拟机结构图三 【1】类加载系统        --->负责从文件系统或网络中加载class信息,存放至方法区的内存空间【2】java堆        --->虚拟机启动时建立。

java虚拟机解构图一

java虚拟机解构图二

java虚拟机结构图三

【1】类加载系统
        --->负责从文件系统或网络中加载class信息,存放至方法区的内存空间
【2】java堆
        --->虚拟机启动时建立。java主要内存工作区域。
        --->存放:java对象实例。
        --->所有线程共享
【3】方法区
        --->存放:class信息,运行时常量池信息,字符串字面量,数字常量(class文件中常量池部分的内存映射)
【4】直接内存
        --->java的NIO库允许java程序使用直接内存。
        --->在java堆外的,直接向系统申请的内存空间。
        --->访问直接内存的速度优于java堆。出于性能考虑,读写频繁的场合可能会考虑使用直接内存。由于直接内存在堆外,因此它的大小不会直接受限于Xmx指定的最大堆大小,但是系统内存是有限的。java堆和直接内存的总和依然受限于操作系统给出的最大内存
【5】垃圾回收系统
       --->java虚拟机重要组成部分。
       --->对方法区,java堆,直接内存进行回收垃圾空间。
【6】java棧
        --->每一个java虚拟机线程都有一个私有的java棧。
        --->一个线程的java棧在线程创建的时候被创建。
        --->java棧中保存着帧信息(局部变量,方法参数)和方法调用和返回密切相关
 【7】本地方法棧
        --->和java棧非常相似。
        --->不同在于java棧用于java的方法调用。本地方法棧用于本地方法的调用。
 【8】PC寄存器
        --->也是每一个线程私有的空间。java虚拟机为每一个java线程创建pc寄存器。
        --->一个java线程总是在执行一个方法,这个正在被执行的方法称为当前方法。如果当前方法不是本地方法,pc寄存器就会执行当前正在被执行的指令。如果当前方法是本地方法,那么pc寄存器的值就是undefined
 【9】执行引擎
        --->java虚拟机的最核心组件之一,他负责执行虚拟机的字节码。

 

相关文章
|
12天前
|
存储 Java
深入理解Java虚拟机:JVM内存模型
【4月更文挑战第30天】本文将详细解析Java虚拟机(JVM)的内存模型,包括堆、栈、方法区等部分,并探讨它们在Java程序运行过程中的作用。通过对JVM内存模型的深入理解,可以帮助我们更好地编写高效的Java代码,避免内存溢出等问题。
|
15天前
|
存储 SQL 安全
Java 安全性编程:基本概念与实战指南
【4月更文挑战第27天】在当今的软件开发领域,安全性编程是一个至关重要的方面。Java,作为广泛使用的编程语言之一,提供了多种机制来保护应用免受常见的安全威胁。本博客将探讨 Java 安全性编程的基本概念,并通过实际示例来展示如何实现这些安全措施。
23 3
|
4天前
|
存储 Java 程序员
Java面向对象编程的基础概念解析
Java面向对象编程的基础概念解析
13 0
|
6天前
|
存储 Java
一文搞懂Java中所有变量概念!
一文搞懂Java中所有变量概念!
17 2
一文搞懂Java中所有变量概念!
|
10天前
|
SQL Java 数据库连接
15:MyBatis对象关系与映射结构-Java Spring
15:MyBatis对象关系与映射结构-Java Spring
30 4
|
12天前
|
Java 开发者
Java中的异常处理:从基本概念到最佳实践
【4月更文挑战第30天】 在Java编程中,异常处理是确保程序健壮性和稳定性的关键机制。本文将深入探讨Java异常处理的基本概念,包括异常的分类、异常的抛出与捕获,以及如何有效地使用异常来增强代码的可读性和可维护性。此外,我们还将讨论一些关于异常处理的最佳实践,以帮助开发者避免常见的陷阱和误区。
|
13天前
|
存储 Java 编译器
【Java探索之旅】数组概念与初始化指南:动静结合
【Java探索之旅】数组概念与初始化指南:动静结合
22 0
|
13天前
|
小程序 Java 程序员
【Java探索之旅】我与Java的初相识(二):程序结构与运行关系和JDK,JRE,JVM的关系
【Java探索之旅】我与Java的初相识(二):程序结构与运行关系和JDK,JRE,JVM的关系
28 0
|
13天前
|
Java
Java中的条件语句结构在编程中的应用
Java中的条件语句结构在编程中的应用
20 0
|
13天前
|
XML Java 测试技术
Java异常处理神器:Guava Throwables类概念与实战
【4月更文挑战第29天】在Java开发中,异常处理是保证程序稳定性和可靠性的关键。Google的Guava库提供了一个强大的工具类Throwables,用于简化和增强异常处理。本篇博客将探讨Throwables类的核心功能及其在实战中的应用。
27 2