java面试题

1.jvm的运行原理?

  答:java平台由java虚拟机和java应用程序接口组成,而java语言则是进入了这个平台,我们编程人员编写的java代码(源文件)编译成字节码文件,然后将字节码被装入到内存中,字节码文件一旦进入虚拟机,就会被解释器所解释,从而映射出结果!!

2.java的跨平台性?

  答:其实就是将我们编写的源文件编译成字节码文件,然后将这些字节码文件放到不同的操作系统执行(不同的操作系统有不同的jvm,执行过程可能不一样,但最终的结果是一样的),得到的结果是相同的!!

3.谈谈你对gc的理解?

  答:GC是垃圾收集的意思,内存的回收是我们编程人员容易忽略或者出错的地方,错误的回收内存会导致程序或系统的不稳定设置导致系统崩溃,而java提供的gc会自动检测对象是否超过作用域,从而达到自动回收内存的效果!!!

4.jvm在内存的组成结构?

  答:jvm在内存中主要分为,堆,栈,方法区,本地方法栈等等。new出来的对象都放在堆中,基本数据类型的变量或者是对象的引用都放在栈中,静态变量,常量,属性,和方法都放在方法区中,本地方法栈用于支持native方法的执行,存储了每个native方法的调用状态

5.简单阐述下垃圾回收机制?

  答:回收的内容时new出来的对象所占的内存,垃圾的回收只与内存有关,清除内存以外的资源要依靠finalize方法,方回收某个对象的内存时:首先调用该对象finalize方法,垃圾回收是以单独的线程在后台运行的,为了减少jvm的额外消耗,一般内存不足时会进行垃圾回收,也可以称之为强制回收。垃圾回收有几种状态,可达状态,不可达状态,可恢复状态,如果是可恢复状态时,这时候可能会进行垃圾回收!!

posted @ 2020-01-09 09:56  大海中的海洋  阅读(152)  评论(0编辑  收藏  举报