手写了个 JVM,跪了!
我觉得区分程序员技术水平高低的一个很关键的点就是看他对自己所依赖的底层是否足够的了解。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架构师。我早已过了为钱为生活妥协的阶段,自然是要去选择做自己喜欢的事情。
整个四期的课程内容如图
四期完整课程包含七大专题+一个增值专题,约50多个课时。这套课程,横跨多个计算机学科,但只是一个学科的价格。这套课程,JVM专家、功力深厚、经验丰富的子牙老师亲授,跟我学习不踩坑,全网唯一教授虚拟机的课程…
感兴趣小伙伴可以加班班微信咨询(jvm-anan)(备注享优惠:二哥),真诚招生,无任何套路。对我实力不了解的,对我教学风格不了解的,试看后满意再报名。一二三期共500多VIP加入,无一人退费,好评不断