1、我对java平台的理解

1、我对java平台的理解

1、我认识中的 JAVA是怎么样子的?

JAVA是一种面向对象的语言,比较显著的两个特性是:

1.1、跨平台能力(java是运行在JVM虚拟机上,不依赖于具体的平台环境)

1.2、垃圾收集器(无需程序员去关注内存分配与回收,跟去饭店吃饭一样,不需要和家里一样吃饭还得洗碗收拾餐具~)。


2、JRE、JDK的全称是什么?它两有什么关系?

笔者在去找实习工作那会被面试官问及该问题:不记得当时是怎么忽悠过去的,应该没答对~然后就没有然后了,哈哈~

JRE的全名是 Java Runtime Environment ,也就是JAVA运行环境,包含了JVM和java类库,以及一些模块等。

JDK的全名是Java Development kit,可以看作是JRE的一个超集,提供了更多工具,比如编译器、各种诊断工具等。


3、JAVA的执行过程是什么样子的?是解释执行吗?

做位一个还未 聪明绝顶的程序员(也快了,最近老掉发),这类比较抽象的问题对于我们这种show me the code类型的程序员来说,是比较难以回答的上。所以如果面试这种问题一般都给他来个“全套”。首先①程序员编写JAVA类,②通过javac编译成为字节码(bytecode)也就是打包后的class文件,然后在运行时,通过java虚拟机(JVM)内嵌的解释器将字节码转换成位最终的机器码。看起来时解释执行的过程,貌似这么理解也没毛病。

但是常见的JVM,比如我们大多数情况使用的oRACLE JDK提供的Hotspot JVM,都提供了JIT(Just-In-Time)编译器,也就是通常所说的动态编译器,JIT能够在运行时将热点代码编译成机器码,这种情况下部分热点代码就属于编译执行,而不是解释执行了



免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部