一.面向对象
1.JVM的作用
JVM是java字节码执行的引擎,还能优化java字节码,使之转化成效率更高的机器指令。
JVM中类的装载是由类加载器和它的子类来实现的,类加载是java运行时一个重要的系统组件,负责在运行时查找和装入类文件的类。
不同的平台对应着不同的JVM,在执行字节码(class文件)时,JVM负责将每一条要执行的字节码送给解释器,解释器再将其翻译成特定平台换将的机器指令并执行,这样就实现了跨平台运行。
2.如何定义一个类
使用class关键字来定义。
3.类中结构是什么
构造器 ,方法 ,成员变量。
4.继承的作用
继承能体现事物的普遍性和特殊性。
5.什么是多态
由于子类重写父类方法,然后用父类引用指向子类对象,调用方法时候会进行动态绑定,就是多态。
6.什么是抽象类
抽象类指的是含有纯虚函数的类,该类不能建立对象,只能声明指针和引用,用于基础类的接口声明和运行时的多态。
7.什么是抽象方法
抽象方法就是以abstract修饰的方法,这种方法只声明返回的数据类型、方法名称和所需的参数,没有方法体,也就是说抽象方法只需要声明而不需要实现。
8.什么是接口
Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现。
9.什么是final,在类,方法,变量处声明的作用
final可以用来修饰类,表示这个类不能被继承。
final还可以用来修饰方法,表示这个方法不能被子类重写。
final可以用来修饰变量(不管是类的成员变量还是方法中的局部变量),表示该变量的值不能再改变(即常量)。
10.什么是静态
静态即为函数。
二.常用类
- 写出String的五个方法是什么
contains()是否包含括号内的信息
equals()是否与括号内的内容相等
lastIndexOf()获得最后一个索引的位置
length()获得字符串长度
substring(beginIndex, endIndex)截取字符串 - Data和Calendar的区别是什么
Data是类,是日期。Calendar是抽象类,是日历。 - List和Set的区别是什么
list可以重复,set是不可重复。 - List的常用子类
ArrayList和LinkedList。 - Set的常用子类
HashSet、LinkedHashSet、TreeSet。 - Map是用来做什么的
Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。 - Map的常用子类
LinkedHashMap,HashMap,TreeMap。 - 什么是线程安全
如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。 - 举例说出三个常用线程安全类
Vector,Hashtable,DataSource。 - Java io 的作用是什么
简化了对外围设备的保护(只用Stream就可以)。