千家信息网

Java平台该如何理解

发表于:2024-11-18 作者:千家信息网编辑
千家信息网最后更新 2024年11月18日,Java平台该如何理解,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Java平台该如何理解?当你听到这个问题的时候,可能会有点不知所
千家信息网最后更新 2024年11月18日Java平台该如何理解

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的,并且这方面你是做的深入了解的点说出来,让面试官觉得其实你是一个肯挖掘的人,了解东西有深度这样就行了!

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

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

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

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

关于Java平台该如何理解问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

0