码迷,mamicode.com
首页 > 其他好文 > 详细

面试题(更新中,未完结)

时间:2020-05-21 12:00:09      阅读:50      评论:0      收藏:0      [点我收藏+]

标签:rri   相同   放弃   休眠   方式   数据类型   暂停   变量   优先级   

目录:

  1.Java

  2.Spring

  3.Mysql

 

1.Java

1.面向对象的特征:

  继承、封装、抽象、多态

 

2.修饰符public、private、protected、默认的区别:

  

修饰符 当前类 同包 子类 其他包
public
protected ×
default × ×
private × × ×

 

3.用最有效率的方法计算2乘以8?

  2 << 3(左移3位相当于乘以2的3次方,右移3位相当于除以2的3次方)。

 

4.构造器(constructor)是否可被重写(override)?

  不能。可以重载。

 

5.抽象类(abstract class)和接口(interface)有什么异同?

  1.抽象类可以实例化,接口不可以实例化

  2.接口比抽象类更加抽象,因为抽象类中定义了构造器,可以有具体方法和抽象方法,而接口没有构造器,只能有抽象方法。

  3.接口中的成员必须都是public的,抽象类中的所有都可以。

  4.接口中的变量都是常量,抽象类中可以定义变量。

  5.有抽象方法的类一定是抽象类,但是声明为抽象类可以没有抽象方法。

 

6.String s = new String(“xyz”);创建了几个字符串对象?

  两个。一个是静态区的,一个是new在堆上的。

 

7.接口是否可继承(extends)接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concrete class)?

  都可以

 

8.Java 中的final关键字有哪些用法?

  1.修饰类,表示为最终类,不能修改。

  2.修饰方法,表示方法不能被重写。

  3.修饰变量,被赋值后不能修改。

 

9.如何将字符串转换为基本数据类型?

  调用parsexxx方法

 

10.如何将基本数据类型转换为字符串?

  直接""+ 

  调用String中的valueOf()

 

11.如何实现字符串的反转及替换?

public static String reverse(String originStr) {
      if(originStr == null || originStr.length() <= 1) 
          return originStr;
      return reverse(originStr.substring(1)) + originStr.charAt(0);
  }

 

 

12.列出一些你常见的运行时异常?

  1.ArithmeticException(算术异常)

  2.ClassCastException (类转换异常)

  3.IllegalArgumentException (非法参数异常)

  4.IndexOutOfBoundsException (下标越界异常)

  5.NullPointerException (空指针异常)

 

13.Collection和Collections的区别?

  Collection是一个接口,它是Set、List等容器的父接口;Collections是个一个工具类,提供了一系列的静态方法来辅助容器操作,这些方法包括对容器的搜索、排序、线程安全化等等。

 

14.Thread类的sleep()方法和对象的wait()方法都可以让线程暂停执行,它们有什么区别?

  sleep()方法(休眠)是线程类(Thread)的静态方法,调用此方法会让当前线程暂停执行指定的时间,将执行机会(CPU)让给其他线程,但是对象的锁依然保持,因此休眠时间结束后会自动恢复。wait()是Object类的方法,调用对象的wait()方法导致当前线程放弃对象的锁(线程暂停执行),进入对象的等待池(wait pool),只有调用对象的notify()方法(或notifyAll()方法)时才能唤醒等待池中的线程进入等锁池(lock pool),如果线程重新获得对象的锁就可以进入就绪状态。

 

15.线程的sleep()方法和yield()方法有什么区别?

  1.sleep()方法给其他线程运行机会时不考虑线程的优先级,因此会给低优先级的线程以运行的机会;yield()方法只会给相同优先级或更高优先级的线程以运行的机会;

  2. 线程执行sleep()方法后转入阻塞(blocked)状态,而执行yield()方法后转入就绪(ready)状态;

 

16.当一个线程进入一个对象的synchronized方法A之后,其它线程是否可进入此对象的synchronized方法B?

  不能。其它线程只能访问该对象的非同步方法,同步方法则不能进入。

 

17.请说出与线程同步以及线程调度相关的方法。

  sleep,wait,notify,notifyAll

 

18.编写多线程程序有几种实现方式?

  1.继承Thread类

  2.实现Runable接口。

 

19.事务的ACID是指什么?

  ACID。原子性,一致性,隔离性,持久性。

 

20.设计模式:

  工厂模式

  代理模式

  适配器模式

  单例模式

 

面试题(更新中,未完结)

标签:rri   相同   放弃   休眠   方式   数据类型   暂停   变量   优先级   

原文地址:https://www.cnblogs.com/sxyu/p/12929583.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!