温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java平台该如何理解

发布时间:2022-01-17 15:47:12 来源:亿速云 阅读:114 作者:柒染 栏目:大数据

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI