java面试题01

javaBasic

1. JDK与JRE之间的区别

答:JDK是java开发工具包的一个标准,它包含了一些工具,以及为开发java程序所需要的库,它也包含编译器,调试工具。

JRE是java运行时环境,它包含在JDK当中,JRE提供必要的库以及JVM,因为这是运行java程序所必须的。

2. 什么是java虚拟机

答:java虚拟机(java Virturl Machine JVM)是一个抽象的机器,用于执行java字节码,不同的硬件平台JVM是不同的,JVM本身是平台相关的,JVM负责加载验证以及执行字节码。

3. JVM的内存区域有哪些类型

答:在java当中,JVM分配内存给不同的进程、方法、还有对象,内存区域划分如下:

  1. 类加载器:它属于JVM的一个组件用于加载类文件
  2. 类(方法)区:它存储了每个类的结构比如运行时的常量池,字段和方法数据,以及方法的代码。
  3. 堆:堆是运行时创建的,它包含了那些在运行时为对象分配的数据。
  4. 栈:栈存储局部变量和部分的运行时结果,它也有助于方法调用和返回,每个线程在其线程创建的时候创建一个私有的JVM栈。
  5. 程序计数器:这个内存区域包含了JVM目前正在执行的指令地址。
  6. 本地方法栈:这个区域是为应用程序当中所有的本地方法所保留的内存区域。

4. 什么是JIT编译器

答:JIT全称:just in time,及时的,及时编译器主要用于改善java的性能,它默认是开启的,它是编译时更早的处理以便运行时更良好的运行,java已经通过在JVM当中广泛的使用JIT编译器。

猜你喜欢

转载自www.cnblogs.com/qiudaozhang/p/9419278.html
今日推荐