码迷,mamicode.com
首页 > 编程语言 > 详细

java面试题01

时间:2018-08-04 18:52:53      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:字节码   虚拟   jdk与jre   部分   类加载器   asi   virt   编译   的区别   

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编译器。

java面试题01

标签:字节码   虚拟   jdk与jre   部分   类加载器   asi   virt   编译   的区别   

原文地址:https://www.cnblogs.com/qiudaozhang/p/9419278.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!