Java面试题分享211102

一.Java基础

1.抽象类和接口的区别。

答:(1).抽象类有默认的方法实现。接口是完全抽象的,不存在方法的实现。

(2).抽象类子类需要extends关键字继承。接口使用关键字Implements来实现接口。

(3).抽象类有构造器。接口没有。

(4).抽象类可以用多种修饰符。接口只能是public。

(5).抽象方法可以继承一个类和实现多个接口。接口只能继承一个或多个其他接口。

(6).抽象方法速度快。

(7).添加新方法,抽象类可以给它提供默认的实现,不需要改变现在的代码。接口必须改变现在的接口的子类

2.Java中是否可以覆盖(override) 一个private或者是static的方法?为什么?

答:不可以。

static方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而static方法是编译时静态绑定的。也不可以覆盖private的方法,因为private修饰的变量和方法只能在当前类中使用,如果是其他的类继承当前类是不能访问到private变量或方法的,当然也不能覆盖。

3.解释内存中的栈(stack)、堆(heap)和方法区(method area)的用法。

答:定义一个基本数据类型的变量,一个对象的引用,还有就是函数调用的现场保存都使用JVM中的栈空间。通过new关键字和构造器创建的对象则放在堆空间。方法区和堆都是各个线程共享的内存区域,比如常量池。

4.super()与 this()的区别?

答:super从子类中调用父类的构造方法,this()在同一类内调用其它方法。

5. ArrayList 和 LinkedList 有什么区别。

答:ArrayList 是动态数组结构,有索引,查询快,增删慢(因为要移动索引),LinkedList是链表结构,无索引,有指向前后的指针,查询需要从头开始向下寻找,增删快(只需要修改链表中指针的指向,不需要移动其他)。

6. 怎么去掉一个集合中的重复数据,请列举两种以上的办法。

答:(1).使用set集合。

(2).使用java8中的contains()方法。

7. 集合的泛型有什么优点?

答:达到元素类型明确的目的,提高了代码的复用性,减少了工作量

8. 说说Java创建线程几种方法。

答:通过实现 Runnable 接口。通过继承 Thread 类本身。通过 Callable 和 Future 创建线程。

9. Java回调如何实现异步。

答:使用sleep方法,可实现先返回后执行方法。

10. JAVA 中Exception和Error的区别

Exception可以是可被控制或不可控制的,一般是程序错误。Error是不可控制的,一般是系统错误。

11.以下代码运行输出是(C)

public class Person{
private String name=”Person”;
int age=0;
}
public class Child extends Person{
  public String grade;
  public static void main(String[] args){
     Person p = new Child();
     System.out.println(p.name);
   }
}

A) 输出:Person

B) 没有输出

C) 编译出错

D) 运行出错

12.在使用super 和this关键字时,以下描述正确的是(A)

A) 在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过

B) super()和this()不一定要放在构造方法内第一行

C) this()和super()可以同时出现在一个构造函数中

D) this()和super()可以在static环境中使用,包括static方法和static语句块

13.Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类描述错误的是(C)(单选)

A) ArrayList和LinkedList均实现了List接口

B) ArrayList的访问速度比LinkedList快

C) 添加和删除元素时,ArrayList的表现更佳

D) HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值

14.下列哪个方法可以使线程从运行状态进入其他阻塞状态(A)

 A. sleep   B.wait   C.yield   D.start

15.以下对异常描述正常的有(ABD)

A.异常分为Error和Exception B. Throwable是所有异常类的父类

C.Exception是所有异常类父类 D. Exception包括RuntimeException和RuntimeException之外的异常

二.Spring

1.简单说明Spring的俩大特性。

IOC:控制反转 AOP:面向切面

一个spring项目启动,先有控制反转,后有面向切面。例如,先得注入控制层(controller),业务层(service),数据访问层(dao)之后,才能使用面向切面,例如对service进行事务处理@Transactional,或者日志打印等等,对其进行横切。

2.简要说明Spring MVC运行流程。

客户端(浏览器)发送请求,直接请求到DispatcherServlet。

DispatcherServlet根据请求信息调用HandlerMapping,解析请求对应的Handler。

解析到对应的Handler后,开始由HandlerAdapter适配器处理。

HandlerAdapter会根据Handler来调用真正的处理器开处理请求,并处理相应的业务逻辑。

处理器处理完业务后,会返回一个ModelAndView对象,Model是返回的数据对象,View是个逻辑上的View。

ViewResolver会根据逻辑View查找实际的View,

DispaterServlet把返回的Model传给View。

通过View返回。

3.列举Spring中的常用注解,并说明用处。

@Controller定义表现层组件,@Service定义业务逻辑层组件,@Repository定义数据访问层资源库组件,@Component定义其它组件。@Autowired和@Resource自动装配;@Transactional大家都知道用于开启事务以及设置传播性、隔离性、回滚条件等;@Configuration用于标注配置类,启用Java配置方式的Bean配置,@Bean用于配置一个Bean;@RequestBody从请求体(处理复杂数据,比如JSON),@ResponseBody我们实现Restful接口的时候最常用了,把返回内容(序列化后)输出到请求体。

4.用过Spring boot吗?我同时配置了xml和properties文件,会使用哪个文件呢?

先加载properties文件,再加载yml文件。

三.SQL

1.请说明having和where的区别。

having是先分组在进行筛选,而where是先筛选再进行分组

2.如何同时查询两张没有关联的表。

使用union all。

3.请说明不使用外键的好处。

保证数据的完整性和一致性;级联操作方便;将数据完整性判断托付给了数据库完成,减少了程序的代码量

4.

Java面试题分享211102

student表


Java面试题分享211102

course表


Java面试题分享211102

student_course表

查询平均分低于80的学生,列出学生名字和平均分

select s.`name`,avg(sc.score) as avg_score
from student_course sc left join student s on  s.`id` =sc.sid
group by sc.sid having(avg_score<80);

查询每个学生的总成绩,结果列出学生姓名和总成绩

select name,sum(score) total
from student,student_course
where student.id=student_course.sid
group by sid;

查出各科成绩的前三名,列出学生姓名和成绩,还有科目。

select s.`name`,c.`name`,x.score from student_course x left join student s on x.sid = s.id left join course c on c.id =x.cid 
 where 3>(
     select count(*) from student_course y 
     where y.cid=x.cid and y.score>x.score
     ) 
order by cid,score desc;
展开阅读全文

页面更新:2024-04-04

标签:切面   子类   线程   组件   逻辑   接口   异常   关键字   区别   定义   对象   代码   业务   方法   数据   数码

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top