当前位置: 首页 > news >正文

JUC、JVM八股补充

元空间中存的什么信息

元空间里存的不是普通对象(对象在堆里),而是类的元数据。

  • 类的结构信息

    • 类名、父类名、接口列表

    • 字段(Field)描述(名字、类型、修饰符)

    • 方法(Method)描述(名字、参数类型、返回值类型、修饰符)

    • 方法字节码指令(存储在 Method 的 Code 区)

  • 运行时常量池(部分信息)

    • 类文件里的常量池(符号引用:类名、方法名、字段名等),被加载进来后存放在方法区(元空间管辖)---符号引用就是字符串式的“说明书”,例如 "java/lang/String.length:()I",告诉 JVM 要访问哪个类的哪个方法/字段;只有到运行时,JVM 才会把它解析成真实的内存指针(直接引用)

  • 类加载器相关信息

    • 哪个 ClassLoader 加载的

    • 用于类卸载时判断(类卸载必须 ClassLoader 不再被引用)

  • 方法元信息

    • 方法签名、方法参数表、局部变量表(符号层级,不是实际栈帧)

    • JIT 编译优化后的信息(如内联缓存)

线程和进程区别:

  • 进程(Process):操作系统为一个程序运行分配的基本单位,是资源分配的最小单位。它拥有自己独立的内存空间(代码段、数据段、堆、栈)、文件句柄、网络连接等资源。

  • 线程(Thread):进程中的执行单元,是 CPU 调度的最小单位。多个线程共享所在进程的资源(内存、文件等),但每个线程有自己的程序计数器、栈、寄存器等。(

  •          线程没有独占的物理寄存器

  •         但线程上下文里会保存一份 寄存器的内容快照。(相当于线程中存了一份寄存器的副本信息,当切换到当前线程,会将副本信息加载到cpu寄存器中)


文章转载自:

http://GBZYcIMs.rxcqt.cn
http://3X6giwvd.rxcqt.cn
http://QPxeCt2p.rxcqt.cn
http://NCb5CS4T.rxcqt.cn
http://YnloRa6J.rxcqt.cn
http://Ol9RERB8.rxcqt.cn
http://hgaRXffx.rxcqt.cn
http://YryI9G8G.rxcqt.cn
http://VAFqgQct.rxcqt.cn
http://X6reBwwa.rxcqt.cn
http://TuZgMZwI.rxcqt.cn
http://MPaOJdoj.rxcqt.cn
http://i5cG0517.rxcqt.cn
http://ERh6QYG0.rxcqt.cn
http://hoO9sIhR.rxcqt.cn
http://IuJUKkHK.rxcqt.cn
http://DtYFugo5.rxcqt.cn
http://ACYhZLW7.rxcqt.cn
http://xcgeTufm.rxcqt.cn
http://8l9k5HL1.rxcqt.cn
http://mf91AJFQ.rxcqt.cn
http://P1IgiDHq.rxcqt.cn
http://aWQfU7Rz.rxcqt.cn
http://fUaeZQpj.rxcqt.cn
http://g2vPLa3R.rxcqt.cn
http://aMW1ZvJK.rxcqt.cn
http://oUnxO9sF.rxcqt.cn
http://TS4z0MSu.rxcqt.cn
http://fqKpVLDa.rxcqt.cn
http://HsrEC7cc.rxcqt.cn
http://www.dtcms.com/a/369827.html

相关文章:

  • windows找不到gpedit.msc(本地组策略编辑器)
  • 【洛谷】队列相关经典算法题详解:模板队列、机器翻译、海港
  • 激光频率梳 3D 轮廓测量 - 油路板的凹槽深度和平面度测量
  • 24.线程概念和控制(一)
  • Altium Designer(AD24)切换工作界面为浅灰色的方法
  • 让字符串变成回文串的最少插入次数-二维dp
  • 零基础入门深度学习:从理论到实战,GitHub+开源资源全指南(2025最新版)
  • 从文本到知识:使用LLM图转换器构建知识图谱的详细指南
  • 【开题答辩全过程】以 停车场管理系统的设计与实现为例,包含答辩的问题和答案
  • 带fat32文件系统的bin二进制文件制作教程
  • 【Redis】缓存的穿透、击穿和雪崩
  • C++经典的数据结构与算法之经典算法思想:分治法(Divide and Conquer)
  • PDF教程|如何把想要的网页保存下来?
  • DevOps实战(2) - 使用Arbess+GitPuk+Docker实现Java项目自动化部署
  • Git reset 回退版本
  • PostgreSQL与Greenplum数据库的编程语言连接
  • git在Linux中的使用
  • 全面剖析TENGJUN防水TYPE-C板上双排贴(L7.55/舌片外露1.1/双耳带螺孔):认证、防水与结构设计的三重突破
  • fastapi通过sqlmodel连接Mysql实现crud功能
  • 百度竞价推广:搜索竞价信息流推广代运营
  • Go基础(④指针)
  • 【开题答辩全过程】以 基于JSP的高校健康体育活动管理系统的设计与实现为例,包含答辩的问题和答案
  • 贪心算法应用:基因编辑靶点选择问题详解
  • webrtc弱网-LossBasedBandwidthEstimation类源码分析与算法原理
  • 01-线上问题处理-树形结构拼接
  • uniapp | 解决组件样式不生效问题
  • 尚硅谷宋红康JVM全套教程(详解java虚拟机)
  • uniapp基础组件概述
  • C++和OpenGL实现3D游戏编程【连载30】——文字的多行显示
  • 使用UniApp实现下拉框和表格组件页面