JAVA基础知识
因为准备大三实习,所以对JAVA常用的一些面试题进行复习,参考了很多github上的优秀作品。也有一些自己的见解。仅作为记录,方便自己复习。不定时更新。
1.什么是JVM?为什么Java被称作是“平台无关的编程语言”?
JVM(Java Virtual Machine/ Java虚拟机)是可以执行Java字节码的虚拟机进程。
"平台无关性"就是一种语言在计算机上的运行不受平台的约束,一次编译,到处执行。这也就是Java所谓的"Write Once,Run Anywhere!"。
对于不同的硬件和操作系统,最主要的区别就是指令不同,而要做到跨平台,最重要的就是可以根据对应的硬件和操作系统生产对应的二进制指令,这一工作,由JVM完成。
虽然Java是平台无关的,但是JVM确是平台有关的,不同的操作系统上面要安装对应的JVM。
2.JDK和JRE的区别是什么?
JDK(Java Development Kit/Java开发工具包)是面向开发人员使用的SDK,主要是java的开发工具包,包含各种类库和工具。也包含了JRE,也就是说安装了JDK,就不用在单独安装JRE了。
JRE(Java Runtime Environment/Java运行环境)主要是面向程序使用者,核心的内容就是JVM(Java虚拟机)及核心类库。
使用JDK开发完成的Java程序,交给JRE去运行。
3.==和equals的区别是什么?
“==”比较的是两个引用在内存中的地址是否相同,也就是说在内存中的地址是否一样。
equals方法是Object类提供的,可以被子类重写。默认的实现只有当对象和自身进行比较时才会返回ture,这个时候是和“==”等价的。
注意:字符串进行比较时,要用equals,不要使用“==”或者“!=”。

425

被折叠的 条评论
为什么被折叠?



