1 JAVA 开发工程师面试题总结--JAVASE 部分 1.谈谈 final,finally,finalize 的区别? final 是 Java 的一个关键字,用于定义不能被继承的类,不能被覆写的方法,常量。 finally 是 Java 的一个关键字,是异常处理操作的统一出口。 finalize 是 Object 类中所提供的一个方法,用于在对象回收之前进行收尾操作。 2.请解释 Java 实现可移植性的原理 Java 程序最终通过字节码文件运行,运行的时候字节码需要 JVM 的支持,但是在不同的操作系统上有不同 JVM,程序不用关系操作系统,只关心 JVM,只要 JVM不改变,程序可以在操作系统间任意移植。 3.请解释 path 和 classpath 的区别? path 是 windows 的环境属性,用于指定可执行命令的路径 classpath 是指在 java 程序执行的时候,用于指定类的加载路径 4.请说明下 JAVA 中的几个特殊关键字(了解,一般面试面这个问题的都是一些煞笔公司) 未使用到的关键字:goto、const 有特殊含义的关键字:null、true、false JDK1.4 之后增加了一个 assert 关键字 JDK1.5 之后增加了一个 enum 关键字 5.请解释 JAVA 中的数据类型的划分,并说出其默认值 基本数据类型: 数值型: 整型:byte、short、int、long; 0 浮点型:float、double; 0 字符型:char 空字符:’\u0000’ 布尔型:boolean false 引用数据类型:数组、类、接口 null 2 6.请解释&和&&、|和||的区别 &(普通与)和|(普通或)指的是所有条件都进行判断; &&(短路与)如果前面的条件不满足,则后面不再进行判断,||(短路或)如果前面的条件满足则后面不再判断; 在开发之中为了性能的提高,主要使用短路与和短路或操作; &和|除了用于逻辑运算之外,也可以进行位运算的操作; 7.请解释String 类的两种比较方式 在String 类中可以使用“==”和equals()两种操作来进行字符串的比较 “==”比较的是两个字符串的内存地址数值,属于数值比较 equals()是String 类中提供的一个方法,用于字符串内容的比较,最简单的做法就是比较字符串永远使用equals()方法就行了 8.请解释String 对象的两种实例化方式的区别 首先 String 对象的实例化方式有两种:一种是直接赋值,另外一种是通过构造方法完成 直接赋值:只开辟一个...