失效链接处理 |
Java复习大纲面试题 PDF 下载
本站整理下载:
提取码:hnec
相关截图:
主要内容:
一、简答题
1.编译java程序使用什么命令?运行java使用什么命令?
javac *.java java 类名
2.什么是JDK,什么是JRE,JDK与JRE有什么区别?
JDK:Java Development Toolkit Java开发工具包
JRE:Java Runtime Enviorment Java运行时环境
区别:开发JAVA程序必须安装JDK,运行JAVA程序必须安装JRE。
3.为什么说JAVA语言的跨平台的?JAVA虚拟机JVM是跨平台的吗?
因为JAVA程序编译后生成的字节码文件(class文件)是跨平台的。JVM不是跨平台,在不同的操作系统上开发JAVA程序,必须安装该操作系统版本的JVM。
4.Java当中如何跳出多重循环?
使用break label;
5.JAVA的数据类型分为哪几类?
基本数据类型和引用数据类型
6.String/StringBuffer/StringBuilder的区别是什么?
String:不可变
StringBuffer:可变,并且线程安全,效率差。
StringBuilder:可变,线程不安全,效率高
7.面向对象的三大特征是什么?
封装、继承、多态
8.Java实现多态性的机制是什么?
有继承
有方法重写
父类引用指向子类对象
9.什么是方法重载?什么是方法重写?方法重载与方法重写的区别?
方法重载(Overload):是指方法名字相同,参数的个数、类型、次序不同。
方法重写(Override/Overwrite):是指子类重写了从父类继承过来的方法。
区别:方法重载没有继承、属于一种静态联编技术。
方法重写有继承、属于动态联编技术。
10.什么是抽象类?什么是接口?抽象类与接口的区别?
声明为abstract的类是抽象类,抽象类不能实例化。
接口也是种特殊的抽象类,接口里的属性都是public static final类型的。接口里的方法都是public abstract 类型的。
相同点:接口和抽象类都不能实例化对象,都只能实例化它们的子类。
不同点:接口是用来实现的、抽象类是用来继承的。接口适合描述XXX has a XXX的关系,侧重于事物的功能。抽象类适合描述 XXX is a XXX的关系,侧重于事物的本质。
11.分析List/Set/Map这三种集合类型的异同点。
List:序列,有顺序,可重复
Set:集合、无顺序,不可重复
Map:键值对,适合用作索引。
相同点:都是集合类型。
12.什么是进程?什么是线程?进程与线程的区别有哪些?
进程是正在运行当中的程序,是操作系统最小的调度单位。
线程是进程不同的执行线路,从进程中派生。是CPU最小的调度单位。
13.JAVA创建线程类有哪几种方法?
两种方式:继承Thread类、实现Runnable接口
14.什么是泛型?使用泛型有什么好处?
泛型是约束集合的种数据类型的一种机制。使用泛型的好处是规定集合里存放的数据类型,提高使用集合的安全性和健壮性、方便集合遍历。
15.==与equals究竟有什么区别?
==:判断两个对象是否相等
equals:判断两个对象的内容是否相等。
16.Integer与int有什么区别?
Integer:是int类型的封装类型,是引用类型,指向一个对象。在堆内存中分配空间。
int:是基本数据类型,不创建对象。在栈内存中分配空间
17.final,finally,finalize的区别?
final:是一种修饰符,可以用来修饰对象、方法和类。
finally:通常try{} catch(){}finally{};使用。finally语句块里的代码无论是否抛出异常,一定会被执行。
finalize:是Object类的一个方法,销毁一个对象前会默认调用这个对象的finalize()方法。
18.error和exception的区别?
error:错误,无需捕获。
exception:异常,必须捕获。
19.String s = “a”+”b”+”c”+”d”;一共创建了几个对象?
赋值号的右边都是字符串常量,编译阶段直接解析为”abcd”,所以创建了一个对象。
20.Java多线程中的sleep()与wait()有什么区别?
sleep():表示让当前线程休眠多少毫秒,会放弃CPU的使用权利,不会释放对象的锁。
wait():表示当前线程进入锁池状态,会放弃CPU的使用权利,也会立刻释放对象的锁。直到notify()方法把该线程唤醒。
21.HashMap与TreeMap的区别?
HashMap:键和值都能为空,键没有排序功能。
TreeMap:键和值都不能为空,键有排序功能。
22.Statement与PreparedStatement区别。
Statement:适合执行批处理,不能接收参数,有SQL注入风险。
PreparedSatement:预编译的语句,能接收参数,效率高,能防止SQL注入。
23.Java创建对象的四种方式。
1)使用new关键字
2)对象反序列化
3)反射
4)clone
|