Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >手写了个 JVM,跪了!

手写了个 JVM,跪了!

作者头像
帅地
发布于 2022-04-18 11:00:17
发布于 2022-04-18 11:00:17
5670
举报
文章被收录于专栏:苦逼的码农苦逼的码农

大家好,我是帅地。

我觉得区分程序员技术水平高低的一个很关键的点就是看他对自己所依赖的底层是否足够的了解。JVM就是这样一项关键的底层技术。

那如何能学好JVM呢,“纸上得来终觉浅,绝知此事要躬行”,实现一遍就是最好的方法。想彻底掌握一项关键技术莫过于自己动手实现一遍。

国内玩 JVM 的大牛很少,知名的就那么几个,而玩好 JVM 又教好 JVM 的人更是少之又少。

哈喽,我是子牙。十余年技术生涯,一路披荆斩棘从技术小白到技术总监到JVM专家到创业。技术栈如汇编、C语言、C++、Windows内核、Linux内核。特别喜欢研究虚拟机底层实现,对JVM有深入研究。分享的文章偏硬核,很硬的那种。

手撸过JVM、内存池、垃圾回收算法、synchronized、线程池、NIO、三色标记算法…

近期裁员闹得人心惶惶,不由引起我们的思考:被裁的是什么样的人?留下的又是什么样的人?马云说过:公司能够成功的原因就那么几个,但是失败的原因却千千万。这句话也同样适用于这里。被裁的有我们眼里表现的不好的,也有被误会躺枪的…但是能够留下的,一定是:不可替代的!或替代成本很高的!

那程序员的不可替代性来自哪里?作为过来人,我的心得:业务能力与技术实力。业务能力的获得在于你平时的主动工作主动思考,但是技术实力,一定是源于你的学习与长期的沉淀。尤其是沉淀那些大多数人觉得很难不愿意学但是又至关重要的技术。

底层,就是这样的存在,学起来很难,但是学一次受益终生。而且这类技术是基本不会改变的,有了这个基础,你就可以以不变应万变的应用层技术。底层就如内功。

从另一个方面说:2018年前后,那时候没有Java架构师课程,前几波卷Java架构师的,基本都吃到了行业红利。近些年,培训Java架构师课程的机构数不胜数,进一步加速了行业内卷。当大家的水平都到了这个层次,面试官怎么筛人选人呢?我的判断:看你的内功。这是行业发展的趋势。

与其晚卷,不如早卷。与其被卷,不如主动卷。

01

什么是内功

首先说下一个技术高手的能力模型,或者一个未来能够成长为技术大牛的人,他的内功是什么样子的

一个技术高手或者可能成为为技术高手,他的内功至少具备:汇编、C语言、C++、Linux系统的多线程机制、网络机制、IO机制、进程线程通信机制…再强一点:CPU段页门、OS内核…

我的手写JVM小班的定位就是以手写JVM为契机帮助大家打这些底层基础。明年开OS内核班再帮助大家建立CPU、OS内核的认知。

目前培训机构教的技术栈都是向上的,偏应用层。我要做的事情是向下,偏底层,偏内功。可能又难又不赚钱吧,没人愿意做,所以目前我的课程全网唯一,口碑很好。

这套课程,子牙老师亲授!市场上唯一教授手写JVM的课程!市场上唯一教授手写计算机语言虚拟机的课程这套课堂,横跨好几个学科,但只售一个学科的价格。

内功决定了你的技术生涯的上限。

02

学完以后你能干啥

1、用Java写一个Java虚拟机,从而深入理解运行系统的底层细节

2、就能玩转字节码,结合增强包及Agent就可以深入理解黑科技如热更新热部署、调试器背后的本质,当然,也可以自己去写如arthas、无侵入链路追踪

3、有能力自行研究Hotspot源码及其他用C语言、C++写的中间件源码。

4、能够用C语言、C++写任何你感兴趣的基础算法如:内存池、垃圾回收算法、主从同步算法、执行引擎、存储引擎

5、就有能力从事JVM相关的工作如二开arthas,自实现相关监控及调试工具

6、就有底子跟着我学习下半年准备开的操作系统内核班。

总之,如果你具备了这样的底子:玩转C语言、C++、精通JVM、了解CPU原理及操作系统内核,技术这行真的就是天高任鸟飞,就不再受学历、项目经历的束缚。而且只要你不懒,沉淀下去,用不了多久,你就可以一鸣惊人

03

我是如何教学的

底层,众所周知:难!所以业界普遍的做法都是讲理论,再好点的画点图帮助理解。我觉得这种方式是不能让一个人通过学习成为技术大牛,所以我自创的这种方式:以手写的方式。

而且,为了帮助大家听课的时候更好的理解,我还特意加了很多日志及数据存储,所以性能肯定不咋样,但是可以让大家更好的理解。因为我的目标是如何降低学员的理解门槛,而不是商用。目前来看,效果还不错。

04

子牙何许人也

子牙老师,一个明明可以靠脸吃饭,却偏偏要抢大家饭碗的硬核男人。深入研究JVM、OS内核,喜欢分享硬核文章,还有分享我的白手起家路上的所思所想所悟。这些文章在哪可以看到?

于2020.3.20来到长沙与图灵学院谈合作,于25日加入图灵,成为一名讲师。3个月后因为精益求精、进步飞速、业绩突出,获得第一个奖:进步之星。半年后因为VIP课获好评无数,获得晋升教学总监。

于2021.4.1开始自己创业,第一个创业科目就是手写JVM小班,于4.4招到第一个学员。

经常会有人问我:为什么离开图灵自己单干。因为我自己喜欢的方向是底层,而图灵的业务方向是Java架构师。我早已过了为钱为生活妥协的阶段,自然是要去选择做自己喜欢的事情。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 帅地玩编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
字符串常量池,看这篇就够了(三)
哈喽,我是子牙。十余年技术生涯,一路披荆斩棘从技术小白到技术总监到JVM专家到创业。技术栈如汇编、C语言、C++、Windows内核、Linux内核。特别喜欢研究虚拟机底层实现,对JVM有深入研究。分享的文章偏硬核,很硬的那种。
子牙老师
2022/04/20
7370
字符串常量池,看这篇就够了(三)
字符串常量池,看这篇就够了(二)
哈喽,我是子牙。十余年技术生涯,一路披荆斩棘从技术小白到技术总监到JVM专家到创业。技术栈如汇编、C语言、C++、Windows内核、Linux内核。特别喜欢研究虚拟机底层实现,对JVM有深入研究。分享的文章偏硬核,很硬的那种。
子牙老师
2022/04/19
5330
字符串常量池,看这篇就够了(二)
个人学习方法分享
核心思想:把自己像产品一样打造,就像张一鸣经典语录:run company as a product
米开朗基杨
2021/07/15
1.5K1
C加加零基础初学者该如何学习C加加以及编程
都说Java是世界上最受误解的语言,其实C++何尝不是。现在网上流传的错误的C++学习方法一抓就是一大把。很多人在学习C++的过程中也走了许多弯路,浪费了不少时间。我自己也是。走了不少弯路。所以在码农的世界中,java逐渐有了统一江湖的味道。昔日的霸主C++虽面临失宠,却一直坚守着自己的传统领域。若干年前,初学编程的人还会纠结于偏向java还是偏向C++。随着java技术的快速发展和web应用的兴起,这个问题已经很长时间没有人提起了。想学习c++,加C语言、C++学习交流Q裙三 四 三 八 九 一 三 六
企鹅号小编
2018/02/11
1.1K0
C加加零基础初学者该如何学习C加加以及编程
难怪我看不懂!call_stub竟然这么玄乎!
哈喽,我是子牙。十余年技术生涯,一路披荆斩棘从技术小白到技术总监到JVM专家到创业。技术栈如汇编、C语言、C++、Windows内核、Linux内核。特别喜欢研究虚拟机底层实现,对JVM有深入研究。分享的文章偏硬核,很硬的那种。
子牙老师
2022/05/06
4680
难怪我看不懂!call_stub竟然这么玄乎!
JMM到底如何理解?JMM与MESI到底有没有关系?
哈喽,我是子牙。十余年技术生涯,一路披荆斩棘从技术小白到技术总监到JVM专家到创业。技术栈如汇编、C语言、C++、Windows内核、Linux内核。特别喜欢研究虚拟机底层实现,对JVM有深入研究。分享的文章偏硬核,很硬的那种。
子牙老师
2022/05/13
7370
JMM到底如何理解?JMM与MESI到底有没有关系?
AQS这样学就很简单了
哈喽,我是子牙。十余年技术生涯,一路披荆斩棘从技术小白到技术总监到JVM专家到创业。技术栈如汇编、C语言、C++、Windows内核、Linux内核。特别喜欢研究虚拟机底层实现,对JVM有深入研究。分享的文章偏硬核,很硬的那种。
子牙老师
2022/05/09
4520
AQS这样学就很简单了
OopMap理论篇
哈喽,我是子牙。十余年技术生涯,一路披荆斩棘从技术小白到技术总监到JVM专家到创业。技术栈如汇编、C语言、C++、Windows内核、Linux内核。特别喜欢研究虚拟机底层实现,对JVM有深入研究。分享的文章偏硬核,很硬的那种。
子牙老师
2022/04/22
7730
OopMap理论篇
贡献一道超高套路JVM面试题(二)
哈喽,我是子牙。十余年技术生涯,一路披荆斩棘从技术小白到技术总监到JVM专家到创业。技术栈如汇编、C语言、C++、Windows内核、Linux内核。特别喜欢研究虚拟机底层实现,对JVM有深入研究。分享的文章偏硬核,很硬的那种。
子牙老师
2022/04/29
2810
贡献一道超高套路JVM面试题(二)
JVM的多态是如何实现的
哈喽,我是子牙。十余年技术生涯,一路披荆斩棘从技术小白到技术总监到JVM专家到创业。技术栈如汇编、C语言、C++、Windows内核、Linux内核。特别喜欢研究虚拟机底层实现,对JVM有深入研究。分享的文章偏硬核,很硬的那种。
子牙老师
2022/05/12
5290
JVM的多态是如何实现的
贡献一道超高套路JVM面试题
哈喽,我是子牙。十余年技术生涯,一路披荆斩棘从技术小白到技术总监到JVM专家到创业。技术栈如汇编、C语言、C++、Windows内核、Linux内核。特别喜欢研究虚拟机底层实现,对JVM有深入研究。分享的文章偏硬核,很硬的那种。
子牙老师
2022/04/26
3060
贡献一道超高套路JVM面试题
字符串常量池,看这篇就够了(一)
哈喽,我是子牙。十余年技术生涯,一路披荆斩棘从技术小白到技术总监到JVM专家到创业。技术栈如汇编、C语言、C++、Windows内核、Linux内核。特别喜欢研究虚拟机底层实现,对JVM有深入研究。分享的文章偏硬核,很硬的那种。 手撸过JVM、内存池、垃圾回收算法、synchronized、线程池、NIO、三色标记算法…
子牙老师
2022/04/18
1.2K0
字符串常量池,看这篇就够了(一)
Java线程创建过程中的各种细节
哈喽,我是子牙。十余年技术生涯,一路披荆斩棘从技术小白到技术总监到JVM专家到创业。技术栈如汇编、C语言、C++、Windows内核、Linux内核。特别喜欢研究虚拟机底层实现,对JVM有深入研究。分享的文章偏硬核,很硬的那种。
子牙老师
2022/05/16
7860
Java线程创建过程中的各种细节
暴力破解美团最新JVM面试题
哈喽,我是子牙。十余年技术生涯,一路披荆斩棘从技术小白到技术总监到JVM专家到创业。技术栈如汇编、C语言、C++、Windows内核、Linux内核。特别喜欢研究虚拟机底层实现,对JVM有深入研究。分享的文章偏硬核,很硬的那种。
子牙老师
2022/04/21
4570
暴力破解美团最新JVM面试题
内存编织技术,JVM对内存的又一次压榨
今天这个问题就比较卷了,也是一位面试被虐得体无完肤的小伙伴提供的。放心哈,我已经安抚住他想砍面试官的心了。其实看到这个问题,我还是挺感叹的:现在的面试题已经难到这个程度了吗?这个问题可是需要你完整得理解JVM是如何实现OOP的封装机制才能答出来的。所有呢,给小伙伴们一个建议:简历不要凡尔赛,带来关注的同时,也带来了高期待。直接的结果就是问超难的面试题,一上来就给你打蒙圈了。
子牙老师助理
2022/07/07
3620
内存编织技术,JVM对内存的又一次压榨
如果面试官让你分析类初始化阶段的死锁现象
哈喽,我是子牙。十余年技术生涯,一路披荆斩棘从技术小白到技术总监到JVM专家到创业。技术栈如汇编、C语言、C++、Windows内核、Linux内核。特别喜欢研究虚拟机底层实现,对JVM有深入研究。分享的文章偏硬核,很硬的那种。
子牙老师
2022/04/25
4630
如果面试官让你分析类初始化阶段的死锁现象
困扰了你大半辈子的STW,今天总算可以毕业了
最近在看GC那块的源码,想把之前遗留的一些疑惑给整明白。恰好今天在群里看到有小伙伴在问:看了无数的资料,还是觉得STW好抽象啊,谁能告诉我STW到底是什么?择日不如撞日吧,就写篇文章告诉大家STW到底长什么样子。GC时一定会谈到的一个概念:安全点,又是什么?
子牙老师助理
2022/07/04
5020
困扰了你大半辈子的STW,今天总算可以毕业了
从0到1,写一个自己的操作系统!| 极客时间
都说操作系统(简称 OS ),是程序员的三大浪漫之一,我们经常会用“灵魂、大脑、内核、基石”等词来形容它,足以见得它对计算机而言有多么重要。最近,我用 3 天的时间,自己写了个操作系统。 在手写 OS 的过程中,之前遇到的很多和操作系统密切相关的疑难杂症,都找到了答案。比如: 内存为什么会泄漏、服务进程为什么会 dang 掉、文件为什么打不开? MySQL 的 IO 性能还能不能再提升? 网络服务为什么会掉线?模式靠什么技术支撑? Node.js 的 I/O 模型长什么模样? 除此之外,在做高性能服务端编
深度学习与Python
2023/03/29
1.2K0
从0到1,写一个自己的操作系统!| 极客时间
啊!i++与++i竟然有这么多学问在里面
前几次的文章都比较烧脑,今天咱们来个简单点的。咱们把++给讲透彻。别看简单,面试中遇到,与面试官谁胜谁负还真不好说呢:
子牙老师助理
2022/07/05
3380
重要的选择!
好巧!刚好前几天有同学私信也问过我这个问题:面临专业分流,计算机大类到底该选择哪个学科呢?
沉默王二
2021/07/16
5280
相关推荐
字符串常量池,看这篇就够了(三)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档