网站首页 > 技术文章 正文
1、我们先看oracle官网的定义:
Java 虚拟机具有一个在所有 Java 虚拟机线程之间共享的方法区域。方法区域类似于用于常规语言的编译代码的存储区域,或者类似于操作系统进程中的“文本”段。它存储每个类的结构,如运行时常量池、字段和方法数据,以及方法和构造函数的代码,包括类和实例初始化以及接口初始化中使用的特殊方法。
方法区域是在虚拟机启动时创建的。尽管方法区域在逻辑上是堆的一部分,但简单的实现可能会选择不进行垃圾回收或压缩它。此规范不规定方法区域的位置或用于管理已编译代码的策略。方法区域可以是固定大小的,也可以根据计算的要求进行扩展,并且如果不需要更大的方法区域,则可以收缩。方法区域的内存不需要是连续的。
Java 虚拟机实现可以为程序员或用户提供对方法区域初始大小的控制,以及在大小不同的方法区域的情况下,控制最大和最小方法区域的大小。
以下异常情况与方法区域相关联:
- 如果方法区域中的内存无法用于满足分配请求,则 Java 虚拟机将引发 .OutOfMemoryError
2、方法区的位置和组成部分
上图我们可以看到方法区是存储在系统内存中的,我们一般叫做存储在元空间中。JDK1.6是存储在堆中的。
3、运行时常量池
常量池,就是一张表,虚拟机指令根据这张常量表找到要执行的类名、方法名、参数类型、字面量 等信息
运行时常量池,常量池是 *.class 文件中的,当该类被加载,它的常量池信息就会放入运行时常量 池,并把里面的符号地址变为真实地址
猜你喜欢
- 2025-08-30 对Java学习的10条建议_对java的认识
- 2025-08-30 盘点 20 个编程学习教程网站,建议收藏
- 2025-08-30 一篇文章掌握整个JVM,JVM超详细解析!!!
- 2025-08-30 Windows和Linux环境下的JDK安装教程
- 2025-08-30 Ubuntu16.04.1安装Java8_ubuntu安装java环境配置
- 2025-08-30 Flink on Yarn三部曲之一:准备工作
- 2025-08-30 JAVA修炼之路-环境搭建_java怎么搭建环境变量
- 2025-08-30 从运维的角度带你初识neo4j图形数据库的安装及配置
- 2025-08-30 【JAVA教程】JAVA入门及开发环境安装
- 2024-11-06 Java开发必备,超详细的JDK安装教程(图文详解)
你 发表评论:
欢迎- 09-0613.通过Excel导出数据库中的维值_数据库exp导入导出数据
- 09-06做数据分析时,SQL需要达到以下水平
- 09-06Java开发指南:JDK21下载、安装及目录解析,轻松开启编程之旅
- 09-06hive存储过程_hive存储过程环境变量
- 09-06Maven常用命令_maven常用命令有哪些
- 09-06JDK从8升级到21的问题集_jdk更新到几了
- 09-06Oracle狂刷存在感 NRF展会惊艳四座
- 09-06哪些软件支持UDI标签的生成与验证
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- oracle面试 (55)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)