VIP分享屋
百度云会员分享平台

面试官:谈谈你对Java平台的理解?

文章页 文章页

面试官:谈谈你对Java平台的理解?

当你听到这个问题的时候,可能会有点不知所措。这个问题讲实话有点笼统,太开放了!

如果你当时稍微一紧张就会。。额,停顿。。感觉有点吃亏!那怎么回答这个问题呢?

其实对于这类比较笼统的问题,首先你要表现的胸有成竹,要让自己的回答让面试官感觉你的知识是有系统化的而不是零散的!而且要面试官觉得你是一个知其然并知其所以然的人!

比如这样回答:Java是一种面向对象的语言,它具有跨平台性,一次书写,到处运行(Write once,run anywhere)。因为Java是把源码通过JavaC编译,生成了字节码。字节码并不是可以直接运行的机器码,而是再通过JVM的解释器将字节码转换成最终的机器码。所以Java是因为有JVM屏蔽了操作系统和硬件的细节情况下实现了跨平台性!

并且有垃圾收集器。Java通过垃圾收集器来回收和分配内存,绝大部分情况下我们的编码都不需要操心内存的回收和分配,常见的垃圾回收器有SerialGC,ParallerGC,CMS,G1等。(当然你不熟悉这几种的话还是别说了,别给自己挖坑)

而且平时下还会接触到JRE和JDK。JRE(Java Runtime Environment),也就是Java运行环境,包含了JVM和Java类库等。而JDK(Java Development Kit) 可以视为JRE的超集,还提供了一些工具比如各种诊断工具:jstack,jmap,jstat等(注意这几种工具不熟就别说了!)

这当然不是标准答案了,只要你把你知道的有关于Java的,并且这方面你是做的深入了解的点说出来,让面试官觉得其实你是一个肯挖掘的人,了解东西有深度这样就行了!

一般这种问题都是开头的第一个问题,你的回答其实是有指向性的,你可以把知识点往你知道的多的地方引!一般而且面试官都会顺着你说的问题来问,除非你说的太有深度了,面试官也不懂了哈哈哈!

面试官:谈谈你对Java平台的理解?

比如上面回答的:JVM的解释器将字节码转换成最终的机器码。就如其实你对垃圾处理器不太熟悉但是你对类加载这一块特别熟,你知道BootstrapClassLoader,ApplicationClassLoader,ExtensionClassLoader。知道类加载过程:加载,验证,链接,初始化。还会自定义ClassLoader。就说!使劲的说!就往这方向带。

还有上面”JVM屏蔽了操作系统和硬件的细节”,其实就是我们不管是要在windows上还是linux都需要安装jdk才能跑Java。其实也就是说我们不管在哪个操作系统,我们装了jdk,Java就都能跑,这就是跨平台啦!

还有上面提到的”通过JVM的解释器将字节码转换成最终的机器码”。其实不太准确,怎么说呢?绝大部分情况下Java都是通过解释执行的,但是常见的JVM都提供了JIT(Just-In-Time)编译器,也就是动态编译器,JIT可以在运行时将热点代码编译成机器码,那这部分代码就是编译执行了!(所以下次面试官问你,你还能把这个答上!)

如果有错误欢迎指正!个人公众号:yes的练级攻略


知道屋是一个专门解答为什么知识分享问答平台,欢迎在知道屋问答库查找您感兴趣的知识.

文章内容来源于网络,发布于 科学栏目  ,由 知道屋-知识分享平台  进行整理排版,如有侵权请联系admin@zhidaowu.com

赞(0) 打赏
未经允许不得转载:VIP分享屋-百度云会员分享平台 » 面试官:谈谈你对Java平台的理解?

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

VIP分享屋-百度云会员分享平台

关于我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏