Java面试_01

1.谈谈你对java的理解

  • 平台无关性 :一次编译到处运行
  • GC :java的垃圾回收机制
  • 语言特性:反射,泛型,labda表达式
  • 面向对象 :封装,集成,多态
  • 类库:集合,io,nio,并发,网络库等
  • 异常处理

2.Compile Once,Run AnyWhere如何实现

  • 2.1通常java程序的运行主要分两个阶段

     编译时

     运行时

javap 反编译字节码文件 javap -help查看帮助文档

 

 

3.为什么JVM不直接把源码解析成机器码执行?

3.1.准备工作:如果直接解析成机器码,那么就需要做一系列的语法相关校验工作,而且每次做完校验

这些校验结果都不会被保留下来,那么导致每次执行文件的效率降低,那么引入了编译文件之后,每次JVM

直接把字节码转成机器码执行即可.既做了校验,也提高执行效率.

3.2.兼容性:

JVM不光可以执行java语言编译后的字节码文件,还可以执行ruby scale语言的编译文件,大大提高了JVM的

兼容性,也符合软件设计

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值