avatar

Catalog
java面试整理

面试问题整理

整理关于Java面试一些常问的问题.

Java基础


static 关键字

  1. 作用
    当一个事物声明是static的时候,就意味着这个域或者方法不会与他所属的类的任何对象实例有关联,所以即使是不创建对象也可以调用其static方法或访问其static域

  2. 引用方法
    两种方式,可以通过对象去定位,也可以通过类名直接引用.

  3. 静态数据的初始化
    无论创建多少对象,静态数据都只占用一份存储区域.static关键字不能应用于局部变量,因此只能作用于域.
    静态存储区域的初始化次序

    java
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    public 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关键字

  1. final数据

  2. final方法

  3. final类

多线程

  1. 多线程的实现方式有哪几种?
java
1
2
3
4
5
/*  总共有三种
*1.实现Runnable接口,编写run方法
*2.继承Thread类
*3.实现callable接口,与Runnable接口的区别在于Callable可以返回值
*/
  1. 线程和进程之间的区别

    答: 进程是程序运行和资源分配的基本单位,一个程序至少有一个进程,一个进程至少有一个单位。
    进程是系统级别的,在执行过程中有独立的内存单元,而多个线程共享内存资源, 减少切换次数,效率更高。
    线程是进程的一个实体,cpu在执行过程中用会分配轮流给每个线程分配时间片,同一进程中多个线程可以并发执行

反射

  1. 反射的实现方式,反射的作用?

前端

  1. div的属性有哪些?
  2. jsp的内部对象有哪些?
  3. Session的生命周期?

设计模式

  1. MVC的理解

Spring

  1. Spring的功能是什么?

Docker和JDBC

  1. Docker的版本?

面向对象的特征

  1. 面向对象有哪些特征?
    面向对象有三大特征五大原则,封装,继承,多态。
    五大原则:单一职责原则,开放封闭原则,替换原则,依赖原则,接口封闭原则
  2. 详细讲一讲多态

并发与高并发

Author: Jacob
Link: http://yoursite.com/2019/09/16/%E9%9D%A2%E8%AF%95%E9%97%AE%E9%A2%98%E6%95%B4%E7%90%86/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Donate
  • 微信
    微信
  • 支付寶
    支付寶