1.大厂的等级 阿里
p5(实习生) 0-3年经验 应届生 20-40w 独立完成指定任务
p6 3年以上 独当一面 p6+
已经开始做p7的事才可能
p7 带几个人 50w-70w有股票 p7+ 晋升不只是一个考官,已经开始做p8的事才可能 p8
一个团队 120w-200w p9 几个团队
2.p7简历 5年开发经验大型系统架构设计经验.3年团队管理经验 看源码
马士兵官网看学员消息,看看专科的(也可以进,但是需要很多时间p5)
3.进大厂好处
1.没有失业
2.钱多
3.人脉多
4.大专生怎么进大厂
1.第一年不看薪资,发展性好的工作
2.跳槽涨薪水
3.第三年到大厂
5.java执行的过程
图jvm9
1. java类库不是我们写的也会到classLoader
2.字节码解释器(给执行引擎看的格式),及时编译器jit(用得多的代码)
3.执行引擎再到os操作系统硬件
4.jvm是跨平台大跨语言的平台
语言java scale kotlin jython jruby
平台 linux unix wins mac andriod
5.jvm与java没有关系,与class文件格式有关系
6.oracle 看 jdk 13 vm的文档 600多页,用到了去查(这是规范,没有写调优)
虚拟的计算机,自己的汇编语言,有自己的线程,cpu(是一个系统)
6.jvm分类
hotspot(we used)(mixed mode)
jrockit bea被oracle收购
j9 ibm
microsoft vm
Taobaovm 淘宝深度定制Hotspot 免费
LiquidVm 直接针对硬件效率高
azul zing 土豪使用 银行电信 最新连接回收业界标杆
号称1ms不卡顿,hotspot吸收了它,产生zgc
7.jvm收费
个人不收费,企业收费 hotspot 8以后开始更新要钱
8.jdk jre jvm之间的关系
jdk =jre + development kit
jre =jvm + core lib
9.类文件(面试很少问,当兴趣学,对java语言的设计会透彻)
1.写一个空的类,但是输出的类反编译出来多一个构造方法
2.在sublime BinEd...打开class文件可以看16进制
3. u1 一个字节 CA FE BA BE (4个字节) 前4位是代表是class文件(魔数magic number)
00 00(minor version) 00 34(major version变为10进制 52, 1.8)
00 10....(常量池常量个数16个 constant_pool_count-1)
access_flags 权限 按位与 所以只有2位 0x0001 & 0x0020 =0x0021
工具:-----
使用 javap c:/xxx/xxx.class 可以查看翻译的信息
jbe 可以修改编码
jclasslib(经常使用)
----
interfaces 使用的接口
fields 字段
methods 使用的方法,有一个默认的构造方法
[0] Code方法表 里面 是具体的指令,实现方法,java的汇编
aload_0 就是把this()放到栈里,对应jvm规范的0x2a,可在字节码找到
return 是b1,class结束
this_class 当前类是什么
super_class 父类
- 每个字节这么看
magic文件格式 minorversion majorversion constant_pool_count
access flags, thisclass,super class,interfaces,filds_count,fields,methods_count
method_info,attribute_count attributes(里面有指令)