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

回答思路:

        两个显著特性

        JRE/JDK

        Java语言执行

回答总结: 

首先Java是一门面向对象语言,有两个显著特性:

        1. “一次编译,处处运行”,跨平台机制使得程序运行不受平台限制;

        2. GC垃圾收集器,垃圾回收机制使得程序员不需要关心内存分配和回收;

在日常开发中会接触到JRE或者JDK:

        1. 其中JRE是Java Runtime Environment,Java运行环境,包含JVM和Java类库;

        2. JDK是Java Development Kit,Java开发工具包,是JRE的一个超集,提供更多的工具,如编译器、诊断工具等。

常常有讨论Java语言的运行机制是编译执行还是解释执行:

        Java代码的运行包括 “编码 > 编译 > 运行 > 调试 ” 这么几个步骤。在编译过程中是将.java文件编译成.class文件,然后运行过程中,是由JVM中的解释器将字节码文件解释为对应环境的机器语言。在我们使用的大多数JDK中提供的JVM中包含了 JIT(Just-In-Time)编译器,也就是动态编译器,可以一边编译一边执行,这样Java也可以说是属于编译执行的。

编译型语言的好处是速度快、效率高,编译好的文件在跨平台方面就会比较受限;

解释型语言的好处就是编译一行执行一行,跨平台性比较好,但是执行效率较慢。

对于Java属于哪一种没有标准限制,得看不用的JVM的实现方式。比如只解释运行的JRockrt,既包含编译器也包含解释器的Hotspot,可以根据不同的JVM参数配置控制使用解释器(-Xint)还是优先使用编译器(-Xcomp)。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值