java常问基础面试题

运算符&和&&有什么区别?

  1. &与&&都可以用作逻辑与的运算符,当两边的结果都为true时,运算结果才为true,否则只要有一方运算结果是false,运算结果就为false。
  2. &&在开发过程中用到的概率比&大,因为&&具有短路的功能,只要遇到一个表达式是false,就不会再进行判断。
  3. &同时也是位运算符,就是我们通常所说的按位与运算,当&的左右两边都是Boolean型表达式或Boolean值时,就进行按位与运算。

比较运算符==与equals有什么区别?

在java里面,除了基本数据类型外,其它所有参数都为引用类型,所以在进行==比较时比较的将是其引用变量地址。equals属于object方法,不同对象对equals方法的实现是不一样的,在使用时需要根据实际情况重写。在object中equals方法与==等同。


进程和线程的区别?

进程是系统进行资源分配可调度的单位。
线程是CPU调度和分派的基本单位。
一个进程可以拥有多个线程。

JAVA类构造函数可以继承吗?可以是final修饰吗?

不可以继承,不可用fianl修饰。可以用super关键字调用父类构造函数,但必须写在子类构造函数的第一句。


JAVA 8种基本类型

数据类型 包装类 字节长度 默认值
byte Byte 1 0
short Short 2 0
int Integer 4 0
long Long 8 0 或 0L
float Float 4 0.0F 或 0.0f
double Double 8 0.0
boolean Boolean 1 false
char Character 2 u0000

接口和抽象类的区别

  1. 抽象类可以有抽象方法,也可以有实例方法。接口中所有的方法都是公开抽象方法。jdk1.8后接口可以有方法体,要加default关键字。
  2. 具体类使用抽象类使用extends关键字继承,具体类使用接口抽象类使用implements关键字实现。具体类实现接口必须重写接口中的所有方法。
  3. 抽象类可以有自己的构造方法,接口不能有构造方法。
  4. 一个具体类只能extends一个抽象类,可以implements多个接口。

java集合类有那些,写出使用Iterator遍历的方法。


Array和ArrayList区别


Comparable与Comparator的区别

Comparable和Comparator都是用来实现集合中元素的比较、排序的。
Comparable是在集合内部定义的方法实现的排序,位于java.lang下。内比较器。
Comparator是在集合外部实现的排序,位于java.util下。外比较器。


wait()和sleep()区别

  1. sleep来自Thread类,和wait来自Object类。
  2. 锁: 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。
  3. 使用范围:wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用。

JAVA常用设计模式


pom.xml节点名称


Tomcat是什么?哪些内容需要在web.xml中配置

Web容器,Servlet容器(区别于apache)。
java常问基础面试题


如何理解Session?

点击这里跳转