• Home
  • 归档
文章检索 作品与友邻 关于我
暴君乔博客
Home 归档

jvm学习笔记之一

发布于: 2018-12-19
更新于: 今天
文章目录
  1. JVM
    1. Class
    2. 初始化

JVM

Java Virtual Machine,用户只需生成在java虚拟机上运行的代码,即可在多个平台上的虚拟机上运行(一次编译,到处运行)
这也是借助了class字节码文件的格式实现的

Class

对应唯一的类or接口,但类和接口不一定要通过文件来生成,可以通过class loader生成

class格式

大致由无符号数、表以及前置的容量计数器和数据项集合组成

class具体内容
  • (前8字节)商标+版本号

    • (前4字节)Magic Num

      标记类型,第一次身份验证CAFEBABAY(这也是为什么java也叫做咖啡☕的原因)

    • (后4字节)Java version Num

      次版本+主版本
      eg: 00 00 00 2D 后面的002D=45,对应于主办本JDK1.1。这也是一种保护,防止不匹配的版本代码被执行

  • 常量池(存放data)

    u2的常量池容量计数值(CONSTANT_POOL_COUNT)从1开始计算,0用作指向常量池的索引,同时也是只有这个是从1开始计算的

    • 字面量【literal】

      第一位为u1的标志位(标记为什么常量类型,属于CONSTANT_UTF8_info)

    • 符号引用【Symbolic Reference】
      • 类、接口全限定名【Fully Qualified Name】
      • 字段名称、描述符【Descriptor】
      • 方法名称、描述符

初始化

类初始化与不初始化情况

类初始化

jvm学习笔记之一
/archives/84c762/
作者
tyrantqiao
发布于
2018-12-19
更新于
2026-10-22
许可协议
CC BY-NC-SA 4.0
赏

蟹蟹大佬的打赏,大家一起进步

支付宝
微信
  • Java
  • 技术
  • JVM

扫一扫,分享到微信

微信分享二维码
年度展望
Java面试题测试,你掌握了吗
© 2026 tyrantqiao 本站总访问量次 本站访客数人次 载入天数...载入时分秒...
  • 文章检索
  • 作品与友邻
  • 关于我

展开标签

  • 随笔
  • 旅行
  • Java
  • 面经
  • 源码
  • 架构
  • Hadoop
  • 计算机网络
  • 技术
  • IDEA
  • maven
  • JDK
  • Linux
  • MySQL
  • 性能
  • 数据库
  • Redis
  • MQ
  • Spring
  • SquirrelFin
  • 记账
  • Android
  • 个人财务
  • TIDB
  • unity
  • chatgpt
  • 前端
  • Vue
  • Git
  • shadowsocks
  • Hexo
  • 问题排查
  • 业务
  • JVM
  • 算法
  • nginx
  • ssh
  • Python
  • 爬虫
  • test
  • vim
  • 影视剧
  • 中间件
  • 事务
  • 表达
  • 运动
  • mybatis
  • 域名
  • AI
  • 产品
  • 家装
  • 土巴兔
  • github
  • 软件
  • 个人项目
  • Leaves
  • 幽默
  • 穿搭
  • 画画
  • 缓存
  • 摄影
  • 设计模式
  • c
  • 课程设计
  • 调酒
  • 数学

Collection

作品与友邻

我做的小工具、朋友的站点和一些长期值得回访的灵感来源。

  • 土 土巴兔 AI 导购交互演示 可点击体验用户导购、平台运营、装修公司、材料商及 AI 话术知识库的多端增长流程。 /demos/tubatu-ai-guide/
  • L Leaves 行程记录 我做的行程记录页面小工具,用来沉淀旅行路线、日程安排和途中的灵感。 https://leaves.tyrantqiao.com/
  • 本 本网站主题yilia设计者的主页 http://litten.me/
tyrantqiao的头像

tyrantqiao

github rss qq mail facebook linkedin

About

关于我

代码、海浪和持续折腾,都是生活的一部分。

<div class="aboutme-card"> <p class="aboutme-eyebrow">tyrantqiao</p> <h3>Java 全栈开发</h3> <p>常年和 Java、后端服务、前端工程、数据与部署打交道,喜欢把复杂问题拆开、写清楚,也把踩坑过程整理成文章留给后来的人。</p> <div class="aboutme-tags"> <span>Java</span> <span>Full Stack</span> <span>Backend</span> <span>Frontend</span> <span>Extreme Sports</span> </div> <p>工作之外偏爱冲浪等极限运动,享受在浪上找平衡,也享受在代码里找边界。</p> <div class="aboutme-contact"> <a href="mailto:[email protected]">Gmail</a> <a href="mailto:[email protected]">QQ Mail</a> </div> </div>