java常见面试题目

Posted jk-jun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java常见面试题目相关的知识,希望对你有一定的参考价值。

在大四实习阶段,秋招的时候,面试了很多家公司,总结常见的java面试题目:(答案可以自己百度)

1、你所用oracle的版本号是多少?

2、tomcat修改8080端口号的配置文件是哪个?

3、mybatis与jdbc区别?

4、mybatis的三种连接方式?

5、servle的生命周期?

6、jsp和servlet的区别和联系?

7、说说对spring的理解,以及spring的优点。

8、springmvc的基本原理。

9、跨域问题,tomcat中三种写地址的方式哪种会遇到跨域问题?(被一个研发经理问懵我的问题)

10、Linux中基本shell命令,说说你熟悉的几个。

11、集合的框架,hashmap与hashtable的区别。

12、线程的5种状态,线程实现同步的方式有几种?分别是什么?

13、wait 与sleep区别。

  1.这两个方法来自不同的类分别是Thread和Object
  2.最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法(锁代码块和方法锁)。
  3.wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用(使用范围)
  4.sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常
  5.sleep方法属于Thread类中方法,表示让一个线程进入睡眠状态,等待一定的时间之后,
  自动醒来进入到可运行状态,不会马上进入运行状态,因为线程调度机制恢复线程的运行也需要时间,
  一个线程对象调用了sleep方法之后,并不会释放他所持有的所有对象锁,所以也就不会影响其他进程对象的运行。
  但在sleep的过程中过程中有可能被其他对象调用它的interrupt(),产生InterruptedException异常,
  如果你的程序不捕获这个异常,线程就会异常终止,进入TERMINATED状态,如果你的程序捕获了这个异常,
  那么程序就会继续执行catch语句块(可能还有finally语句块)以及以后的代码。

  注意sleep()方法是一个静态方法,也就是说他只对当前对象有效,通过t.sleep()让t对象进入sleep,这样的做法是错误的,
  它只会是使当前线程被sleep 而不是t线程
  wait属于Object的成员方法,一旦一个对象调用了wait方法,必须要采用notify()和notifyAll()方法唤醒该进程;
  如果线程拥有某个或某些对象的同步锁,那么在调用了wait()后,这个线程就会释放它持有的所有同步资源,
  而不限于这个被调用了wait()方法的对象。wait()方法也同样会在wait的过程中有可能被其他对象调用interrupt()方法而产生

14、switch()的条件语句类型

    byte、short、char、int、enum

      在jdk1.5上,Byte、Short、Character、Integer也支持。

15、==和equals的区别
  ==:比较基本数据类型时 比较的是值
      比较引用类型时,比较的是地址值
  equals:继承Object类型的equals方法:
        public boolean equals(Object obj) {
           return (this == obj);
        }
       重写了equals方法:按照自定义的比较规则
  String重写了equals,比较内容。

16、重载和重写的区别:
 重载:同一个类中
 1.方法名字相同
 2.参数列表必须不同(参数个数 参数类型 参数顺序)
 3.其他无关
 
 重写:子父类之中
 1.方法名相同
 2.参数列表相同
 3.返回类型一致 或者 存在子父类关系(Object Integer)
 4.访问修饰符扩大或者相同
 5.异常缩小或者相同





































以上是关于java常见面试题目的主要内容,如果未能解决你的问题,请参考以下文章

Java后端常见面试题总结

面试题Java基础篇-常见面试题总结p3

面试题MySQL常见面试题合集

面试题Redis篇-常见面试题p1

面试题Redis篇-常见面试题p1

c语言常见面试题