JAVA面试准备之JVM JVM基础

1 谈谈你对JAVA的理解

1.java的平台无关性,即一次编译,到处运行

2.GC垃圾回收机制,有了垃圾回收机制,就不需要手动释放堆内存

3.语言特性:泛型,反射,lamda表达式

4.面向对象:封装、继承、多态

5.类库:集合库、并发库、网络库、IO

6.异常处理

 

2 平台无关性如何实现

 

 

实践:

编译时使用javac,将java源码编译成字节码,并存入对应的.class文件中

运行class文件

使用javap对.class文件进行反汇编

将class文件上传到linux:

在linux上照样可以执行代码。

 

3 JVM如何加载.class文件

JVM(Java虚拟机):

虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器,堆栈,寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系统相关的信息,使得JAVA程序只需生成在JVM上运行的代码,即字节码,就可以在多种平台上运行。

JVM如何加载.class文件?

JVM由类加载器(Class Loader)、运行时数据区(Runtime Data Area)、执行引擎(Execution Engine)、本地库接口(Native Interface)四个部分组成。通过类加载器将符合其格式要求.class文件加载到内存里,并通过执行引擎解析class文件中的字节码,并提交给操作系统去执行。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值