Java面试复习(纯手打)

1、面向对象和面向过程的区别:

面向过程比面向对象高。因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素得时候,比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发。但是,面向过程没有面向对象易维护、易复用、易扩展。

面向对象:面向对象易维护、易复用、易扩展。因为面向对象有封装、继承、多态性的特征,所以可以设计出低耦合得系统,使系统更加灵活、更加易于维护。但是,面向对象性能比面向过程低。

2、Java语言有哪些特点?

  1.简单易学

  2.面向对象(封装,继承,多态)

  3.平台无关性(Java虚拟机实现平台无关性)

  4.可靠性;

  5.安全性

  6.支持多线程(C++语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序设计,而Java语言却提供了多线程支持)

  7.支持网络编程而且很方便(Java 语言诞生本身就是为简化网络编程设计的),因此Java语言不仅支持网络编程而且很方便)

  8.编译与解释并存

3、关于JVM JDK 和JRE最详细通俗的解答。

  JVM

  Java虚拟机(JVM)是运行Java字节码的虚拟机。JVM有针对不同系统的特定实现(Windows,Linux,macOS),目的是使用相同的字节码,他们都会给出相同的结果。

什么是字节码?采用字节码采用字节码的好处是什么?

  在java中,JVM可以理解的代码叫做字节码(即扩展名为.class文件),它不面向任何特定的处理器,只面向虚拟机。

  Java语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。所以Java程序运行时比较高效,而且,由于字节码并不针对一种特定的机器,因此,Java程序无需重新编译便可在不同的操作系统计算机上运行。

猜你喜欢

转载自www.cnblogs.com/godoforange/p/11503575.html