1. JDK 和 JRE 有什么区别?
JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。
JRE:Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供了所需环境。
具体来说JDK 其实包含了 JRE,同时还包含了编译 java 源码的编译器 javac,还包含了很多 java 程序调试和分析的工具。简单来说:如果你需要运行 java 程序,只需安装 JRE 就可以了,如果你需要编写 java 程序,需要安装 JDK。
2、什么是跨平台性?为何java能跨平台?
跨平台性是指java语言编写的程序,一次编译后,可以在多个系统平台上运行(windows,linux,mac等)
Java程序是通过java虚拟机在系统平台上运行的,只要该系统可以安装相应的java虚拟机,该系统就可以运行java程序.
3、什么是字节码
Java源代码经过虚拟机编译器编译后产生的文件(即扩展为.class的文件),它不面向任何特定的处理器,只面向虚拟机
5、== 和equals 的区别是什么?
== 指判断 两个对象的 内存地址是否一致
equals 先判断两个对象的内存地址是否一致,然后再判断两个对象中的值 是否一致
6、两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?
不对,两个对象的hashCode()相同,equals()不一定 true
String str1 = "通话";
String str2 = "重地";
System.out.println( "str1的hashCode=”+ str1.hashCode());
System.out.println( "str2的hashCode=”+ str2.hashCode());
System.out.println(str1.equals(str2));
执行的结果:
str1的hashCode=1179395
str2的hashCode=1179395
false
7、final 在 java 中有什么作用?
final 修饰的类叫最终类,该类不能被继承。
final 修饰的方法不能被重写。
final 修饰的变量叫常量,常量必须初始化,初始化之后值就不能被修改。
8、Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?
Math.ceil(11.5)等于多少? Math.ceil(-11.5)等于多少?
Math.floor(11.5)等于多少? Math.floor(-11.5)等于多少?
![](https://i-blog.csdnimg.cn/blog_migrate/570de1e2fd530eed0306aa7500717dd1.png)