面试问题整理
整理关于Java面试一些常问的问题.
Java基础
static 关键字
作用
当一个事物声明是static的时候,就意味着这个域或者方法不会与他所属的类的任何对象实例有关联,所以即使是不创建对象也可以调用其static方法或访问其static域引用方法
两种方式,可以通过对象去定位,也可以通过类名直接引用.静态数据的初始化
无论创建多少对象,静态数据都只占用一份存储区域.static关键字不能应用于局部变量,因此只能作用于域.
静态存储区域的初始化次序java1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20public class StaticInitialization {
public static String s = "静态变量";
public String field = "变量";
static{
System.out.println(s);
System.out.println("静态块");
}
{
System.out.println(field);
System.out.println("初始化块");
}
StaticInitialization(){
System.out.println("构造器");
}
public static void main(String[] args) {
new StaticInitialization();
}
}
输出(这段代码表示了java类中元素的初始化顺序):
静态变量
静态块
变量
初始化块
构造器
final关键字
final数据
final方法
final类
多线程
- 多线程的实现方式有哪几种?
java
1 | /* 总共有三种 |
线程和进程之间的区别
答: 进程是程序运行和资源分配的基本单位,一个程序至少有一个进程,一个进程至少有一个单位。
进程是系统级别的,在执行过程中有独立的内存单元,而多个线程共享内存资源, 减少切换次数,效率更高。
线程是进程的一个实体,cpu在执行过程中用会分配轮流给每个线程分配时间片,同一进程中多个线程可以并发执行
反射
- 反射的实现方式,反射的作用?
前端
- div的属性有哪些?
- jsp的内部对象有哪些?
- Session的生命周期?
设计模式
- MVC的理解
Spring
- Spring的功能是什么?
Docker和JDBC
- Docker的版本?
面向对象的特征
- 面向对象有哪些特征?
面向对象有三大特征五大原则,封装,继承,多态。
五大原则:单一职责原则,开放封闭原则,替换原则,依赖原则,接口封闭原则 - 详细讲一讲多态