专栏名称: 程序员鱼皮
鹅厂全栈开发,持续分享编程技法和实用项目
目录
相关文章推荐
程序员的那些事  ·  IT巨头老板主张“每周 70 ... ·  2 天前  
51CTO官微  ·  OpenAI满血o1深夜炸场!10秒搞定博士 ... ·  2 天前  
神秘的程序员们  ·  KALOS.art AI 作品每周精选 020 ·  1 年前  
程序猿  ·  网传一些著名互联网公司的实习工资 ·  3 天前  
51好读  ›  专栏  ›  程序员鱼皮

年薪 10 万和 70 万的程序员,能力有什么区别?

程序员鱼皮  · 公众号  · 程序员  · 2024-12-08 14:50

正文

前两天看到一个话题很有意思。

年薪不同的程序员,在能力上能有多大的区别?

有的程序员年薪 50 万、70 万;有的程序员打工一年,收入堪堪十万。十倍的差距,真的是能力上有本质差别吗?

虽然我们总吐槽说世界是个巨大的草台班子,但薪资也不是靠吹就能决定的。

除了我们常常在营销号上看到的,老板要什么 / 我觉得可以做什么、发现解决问题 vs 预见、预防问题一类的说法。我这次看到一个新的说法,觉得很有意思,年薪 10w 到年薪 70w,是信任度的区别

  • 优秀的年薪 10w,基本上没有严重的 bug,代码的可靠性较高。

  • 年薪 30w,你来兜底写代码主力,但是大多数就是写点关键代码,或者帮人解决问题。有 bug 你保证修改好,不一定是你写,你保证就行。

  • 年薪 50w,可以最大程度保证 IT 架构的安全。

  • 年薪 70w,不干技术活,需要对 CTO 吹的牛逼负责落地。

其中本质差异就是,上面相信你可以干你就可以干。

大家觉得这个说法有没有道理呢?欢迎来评论区讨论。

....

我也为大家准备好了今天的面试题:

Java 里的对象在虚拟机里面是怎么存储的?

回答重点

Java 对象在虚拟机中的存储由以下几个部分组成:

对象头(Header):包含对象的元信息和运行时数据。主要由以下三部分构成:

  • Mark Word:用于存储运行时数据,例如对象的哈希码(HashCode)、GC 标记信息、锁状态标志等。它是一个多功能字段,会根据对象的状态动态变化。
  • 类型指针(Class Pointer):指向对象对应的类的元数据,用于确定该对象的类型。
  • 数组长度(只有数组才有)

实例数据(Instance Data):存储对象的实际数据,即类的字段(包括从父类继承的字段)。

对齐填充(Padding):为了满足内存对齐要求(一般是 8 字节对齐),JVM 可能会在对象末尾添加填充字节。例如,一个对象大小为 12 字节,JVM 会增加 4 字节填充,使其达到 16 字节对齐。

存储位置

堆(Heap):大多数对象分配在堆中,堆是 JVM 管理的内存中最大的一块区域。堆内部分为以下区域:

  • 新生代(Young Generation):刚创建的对象通常存放在 Eden 区,经过一次或多次 GC 后可能晋升到 Survivor 区或老年代。
  • 老年代(Old Generation):存放生命周期较长的对象,经过多次 GC 后未被回收的对象会晋升到老年代。

扩展知识

64 位 MarkWord 在不同状态下的内存布局

MarkWord 结构之所以搞得这么复杂,是因为需要节省内存,让同一个内存区域在不同阶段有不同的用处。


这道题目也可以在我们的面试刷题小程序《面试鸭》上阅读:

网页端:mianshiya.com



👇🏻 点击下方阅读原文,获取鱼皮的编程习路线、原创项目教程、求职面试宝典、编程交流圈子。


往期推荐

25 届秋招热门题目,全网首发!

离谱!学编程两年,还不会用工具类?

24 年 Java 学习路线《速览版》

24 年最新项目,手把手教程

网站刚上线,就被 DDoS 攻击炸了!

我发现很多程序员都不会打日志。。

1 分钟,让你的网站充满吸引力!