首页
首页 教程 派聪明
  • 首页
  • 教程
  • 派聪明
  • 登录
登录技术派畅享更多权益

用户名密码登录

其他登录:
icon_GitHubCreated with sketchtool.
绑定星球,畅享VIP服务

微信扫码/长按识别登录

输入验证码
有效期五分钟 👉 手动刷新

登录即同意 用户协议 和 隐私政策

绑定二哥编程星球,畅享 VIP 尊享服务!

戳我了解如何获取星球编号,新窗口打开

添加二哥微信 itwanger 审核更快

记得备注 星球编号
我会根据星球编号进行审核
1
大白话带你认识JVM
更新时间: 2024年01月16日
星球
2
JVM是如何运行Java代码的?
更新时间: 2024年01月16日
星球
3
Java的类加载机制
更新时间: 2024年01月16日
星球
4
Java的类文件结构
更新时间: 2024年01月16日
星球
5
从javap的角度轻松看懂字节码
更新时间: 2024年01月16日
星球
6
栈虚拟机与寄存器虚拟机
更新时间: 2024年01月16日
星球
7
字节码指令详解
更新时间: 2024年01月16日
星球
8
深入理解JVM的栈帧结构
更新时间: 2024年01月16日
星球
9
深入理解JVM的运行时数据区
更新时间: 2024年01月16日
星球
10
深入理解JVM的垃圾回收机制
更新时间: 2024年01月16日
星球
11
深入理解 JVM 的垃圾收集器
更新时间: 2024年01月16日
星球
12
Java 创建的对象到底放在哪?
更新时间: 2024年01月16日
星球
13
深入理解JIT(即时编译)
更新时间: 2024年01月16日
星球
14
JVM 性能监控之命令行篇
更新时间: 2024年01月16日
星球
15
JVM 性能监控之可视化篇
更新时间: 2024年01月16日
星球
16
阿里开源的 Java 诊断神器 Arthas
更新时间: 2024年01月16日
星球
17
内存溢出排查优化实战
更新时间: 2024年01月16日
星球
18
CPU 100% 排查优化实践
更新时间: 2024年01月16日
星球
19
JVM 核心知识点总结
更新时间: 2024年01月16日
星球
20
K个一组翻转链表
更新时间: 2024年02月07日
星球
关注公众号
原创
第一节:大白话带你认识 JVM

“二哥,之前你讲 Java 的第一行代码 hello world 的时候就提到了 JVM,那时候我就想知道 JVM 到底是什么,但你说这是一块非常大的内容,会放到后面专门来讲,那学完了 Java 基础知识,又学完了并发编程,今天我们就来学习 JVM 吧?”三妹咪了一口麦香可可奶茶后对我说。

“好的,三妹,这篇内容就来带你认识一下什么是 JVM, JVM 是 Java 体系中非常重要,又有一些难度的知识,但每个想要更加优秀的程序员都应该掌握它。尤其是想去大厂或者中厂的球友,更应该掌握它,因为 JVM 在大中厂面试的时候,比重很大,我随便从《Java 面试指南》中截张图大家感受一下。”我回答。

“JVM 在校招面试中的比重还是非常大的;同时,对于工作党来说,如果项目遇到内存泄露、CPU飙升的问题,也需要通过 JVM 的性能监控进行定位和解决。好,那就让我们开始吧!”我继续补充道。

三妹,你看过《Java 发展简史》应该知道,Sun 在 1991 年成立了一个由詹姆斯·高斯林(James Gosling)领导的,名为“Green”的项目组,目的是开发一种能够在各种消费性电子产品上运行的程序架构。

一开始,项目组打算使用 C++,但 C++ 无法达到跨平台的要求,比如在 Windows 系统下编译的 Hello.exe 无法直接拿到 Linux 环境下执行。

在当时,C++ 已经非常流行了,但无法跨平台,只能忍痛割爱了。

怎么办呢?

三妹不知道有没有听过直译器(解释器)这玩意?(估计你没听过)就是每跑一行代码就生成机器码,然后执行,比如说 Python 和 Ruby 用的就是直译器。

“那在每个操作系统上装一个直译器就好了,跨平台的目的就达到了啊。”三妹插话道。

“但直译器有个缺点,就是没法像编译器那样对一些热点代码进行优化,从而让程序在机器上跑得更快一些。”我回答说。

怎么办呢?

来个结合体呗,编译器和直译器一块上!

编译器负责把 Java 源代码编译成字节码,Java 虚拟机负责把字节码转换成机器码。转换的时候,可以做一些压缩或者优化,通过 JIT 来完成,这样的程序跑起来就快多了。

  • Java 虚拟机:Java Virtual Machine,简称 JVM,也就是我们接下来要学习的重点。
  • 字节码:Bytecode,接下来会细讲。
  • JIT:Just-In-Time,即时编译器,后面会细讲。

已加入二哥编程星球,即刻绑定星球编号解锁🔐

该文档仅「二哥编程星球」的VIP用户可见

二哥的编程星球内容包括:

1. 付费文档: 技术派、MYDB 等项目配套的 120+篇教程查看权限

2. 面试指南: 校招、社招的 40 万+字面试求职攻略

3. 智能助手: 无限期使用派聪明 AI 助手,已对接讯飞星火和 ChatGPT双通道,不用花 1 分钱

4. 专属问答: 向二哥 1v1 发起提问,内容不限于 offer 选择、学习路线、职业规划等

5. 简历修改: 提供简历修改服务,附赠星球 100+优质简历模板可供参考

6. 学习环境: 打造一个沉浸式的学习环境,有一种高考冲刺、大学考研的氛围


二哥的星球

》步骤①:微信扫描上方二维码,点击「加入知识星球」按钮

》步骤②:访问星球置顶帖球友必看: https://t.zsxq.com/11rEo9Pdu,获取项目配套文档的语雀访问地址和密码

已加入星球,绑定星球编号
删除提醒

确定删除《第一节:大白话带你认识 JVM》吗

6人已点赞

回复