33
回答
一般JAVA高级工程师的知识深度?
华为云数据库免费试用   

一个Java高级工程师,对jdk重点源码深刻理解,达到如下程度?。

例如为什么Thread里有一个ThreadLocalMap类型的变量

ThreadLocalMap为什么作为ThreadLocal的内部类

ThreadLocalMap的扩缩容机制以及碰撞检测

ThreadLocalMap的Entry为什么使用弱引用类型

有些类中的capacity,threshold,position,mark,limit这些成员变量有什么用,如何影响类内部的运算?如何设置?

同理对其他重点类也要掌握至此,甚至达到凭记忆默写部分源码或关键源码的程度。

重点IO、线程、集合,锁、字符串(String,StringBuffer,StringBuilder)。。。。

JVM了解GC算法大类,每个大类里具体有哪些算法,

并可以叙述算法步骤,并了解每一步的理由。

熟练讲述常见JVM的内存结构,历代结构变迁及其改进理由。

各类JVM中GC垃圾收集器的种类以及使用场景(优缺点),各类收集器分别使用了什么GC算法来达到它们所描述的性能及功能要求,并且是如何达到的。

可以依据具体的应用场景,选择合适的JVM及参数,尽可能挖掘应用程序和宿主机潜力。

拥有手动改写字节码的能力(这里含义就是了解字节码结构及含义)

了解部分重点native方法的实现逻辑(不需要了解语法)

熟练说出各个JDK版本变迁的主要核心内容

对于重要的JSR可以快速说出JSR编号

熟练应用JAVA EE技术进行开发,可以快速上手各类Java开发框架这种自然是必备条件。

以上,仅限于JAVA技术平台,是暂时想到的,你们觉得过了还是不够?

<无标签>
举报
trivia
发帖于4个月前 33回/6K+阅
共有33个评论 最后回答: 1个月前

以上只是基础啦大哥,除了JVM,你还得研究深JVM外围框架,如SRPING 内核   ,HADOOP原理,TENSORFLOW算法等这些知名框架,还有时不时要问你算法,架构,设计模式,变态的会考你公务员行政逻辑题 ,过了这么多关,你才算高级。

--- 共有 3 条评论 ---
黑狗 回复 @阳光暖暖 : 不能用二进制写一个操作系统能叫高级? 3个月前 回复
阳光暖暖 回复 @vikon : 除此之外还要自己写一个java语言否则不算高级 4个月前 回复
vikon还要手写个jvm啊手写的java编译器啊什么的。 4个月前 回复

各个版本变迁 呵呵哒,JDK每个版本的特性要是记混淆了,会不会打屁股,问算法、GC收集器,内存模型、线程池、NIO这些都没问题,要是扣某一个类的入参,这些什么作用呢?

顶部