大家好,我是鸭鸭!
中秋节越来越近啦,大家都收到放假通知和中秋月饼了吗?
各大互联网品牌大厂的中秋创意礼盒也来啦!
字节
今年字节的中秋礼盒,除了广州酒家的月饼之外,还发了一床2m*2.3m的四季被,实用又美味~
美团
同样主打实用的还有美团,礼盒中包含了月饼、便携多功能储物罐和袋鼠小夜灯。
阿里
阿里淘天今年的中秋礼盒也有灯,是个天猫的拍拍灯,除此之外,还有6枚月饼+1枚冰箱贴+1个箱子+1个礼品袋。
不过阿里今年最当红的似乎是飞猪的麻将。听说内网都抢手得买不到了。
百度
百度的中秋礼盒主题是“围炉夜话”,包含一份北京稻香村月饼+一套茶具。如果算上前年的帐篷+野餐垫,去年的露营车+露营灯,一套露营野餐装备集齐!
快手
快手今年主打一个怀旧风,中秋礼盒联动了“大闹天宫”,以辽宁美术出版社出版的《西游记》连环画中的“大圣”形象为视觉延展,礼盒包含大圣披毯、桃盘、香薰、装饰画和月饼。
……
大家喜欢哪家的中秋礼盒呢?
听说实习生也有收获中秋礼盒,进大厂的冲劲是不是更足了!
快来试试鸭鸭今天的面试题,努力升级吊打面试官吧!
说说 Java 的类加载过程?
回答重点
类加载指的是把类加载到 JVM 中。把二进制流存储到内存中,之后经过一番解析、处理转化成可用的 class 类。
二进制流可以来源于 class 文件,或通过字节码工具生成的字节码或来自于网络。只要符合格式的二进制流,JVM 来者不拒。
类加载流程分为:
- 加载
- 连接
- 初始化
连接还能拆分为:验证、准备、解析三个阶段。
所以总的来看可以分为 5 个阶段:
1)加载
将二进制流读入内存中,生成一个 Class 对象。
2)验证
主要是验证加载进来的二进制流是否符合一定格式,是否规范,是否符合当前 JVM 版本等等之类的验证。
3)准备
为静态变量(类变量)赋初始值,也即为它们在方法区划分内存空间。这里注意是静态变量,并且是初始值,比如 int 的初始值是 0。
4)解析
将常量池的符号引用转化成直接引用。
符号引用可以理解为只是个替代的标签,比如你此时要做一个计划,暂时还没有人选,你设定了个 A 去做这个事。然后等计划真的要落地的时候肯定要找到确定的人选,到时候就是小明去做一件事。解析就是把 A(符号引用) 替换成小明(直接引用)。符号引用就是一个字面量,没有什么实质性的意义,只是一个代表。
直接引用指的是一个真实引用,在内存中可以通过这个引用查找到目标。
5)初始化
这时候就执行一些静态代码块,为静态变量赋值,这里的赋值才是代码里面的赋值,准备阶段只是设置初始值占个坑。
扩展
类加载机制一问基本上就会接着问双亲委派和类加载器。
大家可以打开面试刷题小程序直接搜索【双亲委派】或 【类加载器】即可。
咱们面试鸭立志成为一款题库全面、持续更新、题解优质的刷题神器,主要目的就是为了彻底解决所有你能想到的八股文学习痛点!
我们精选了近两年的高频面试真题,已经有近 6000 多道面试题目啦,由大厂资深面试官手写答案,押题命中率超高!
欢迎大家来刷题!