![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java面试
Java后端面试
闲言博客
记录成长,记录学习!
展开
-
Java面试宝典每日3题:day37
目录1.Spring MVC用什么对象从后台向前台传递数据的?2.怎么样把ModelMap里面的数据放入Session里面?3.Spring MVC里面拦截器是怎么写的?1.Spring MVC用什么对象从后台向前台传递数据的? 通过ModelMap对象,可以在这个对象里面调用put方法,把对象加入到里面,前台通过el表达式拿到2.怎么样把ModelMap里面的数据放入Session里面? 可以在类上面加上@SessionAttributes注解,里面包含的字符串就是要放入session的原创 2021-08-25 08:52:04 · 312 阅读 · 0 评论 -
Java面试宝典每日3题:day36
目录1.如果想在拦截的方法里面得到从前台传入的参数,怎么得到?2.如果前台有很多个参数传入,并且这些参数都是一个对象的,那么怎么3.Spring MVC中函数的返回值是什么?1.如果想在拦截的方法里面得到从前台传入的参数,怎么得到? 直接在形参里面声明这个参数就可以,但名字必须和传过来的参数一样。2.如果前台有很多个参数传入,并且这些参数都是一个对象的,那么怎么样快速得到这个对象? 直接在方法的形参中声明这个对象,SpringMVC 自动会把属性赋值到这个对象里面。3.Spring原创 2021-08-24 08:55:33 · 412 阅读 · 1 评论 -
Java面试宝典每日3题:day35
目录1.Spring MVC的异常处理?2.如果在拦截请求中,我想拦截get方式提交的方法,怎么配置?3.怎样在方法里面得到Request,或者Session?1.Spring MVC的异常处理? 可以将异常抛给Spring框架,由Spring框架来处理,我们只需要配置简单的异常处理器,在异常处理器中添加视图页面即可。2.如果在拦截请求中,我想拦截get方式提交的方法,怎么配置? 可以在RequestMapping注解里面加上method=RequestMethod.GET。3.怎样在原创 2021-08-23 14:38:45 · 210 阅读 · 0 评论 -
Java面试宝典每日3题:day34
目录1.Spring MVC怎么样设定重定向和转发的?2.Spring MVC怎么和AJAX相互调用的?3.如何解决POST请求中文乱码问题,GET的又如何处理呢?1.Spring MVC怎么样设定重定向和转发的? 转发:在返回值前面加上“forward:”,例如:"forward:book.do?name=xy" 重定向:在返回值前面加上“redirect:”,例如:"redirect:https://www.bloghut.cn"2.Spring MVC怎么和AJAX相互调用的?通过原创 2021-08-22 09:22:03 · 205 阅读 · 0 评论 -
Java面试宝典每日3题:day33
目录1.@Controller注解的作用?2.@ResponseBody注解的作用3.@PathVariable和@RequestParam的区别1.@Controller注解的作用? 在SpringMVC中,控制器Controller负责处理由DispatcherServlet分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model,然后再把该Model返回给对应的View进行展示。 在SpringMVC 中提供了一个非常简便的定义Controller的方法,你无需继承特定的类原创 2021-08-21 11:46:32 · 196 阅读 · 0 评论 -
Java面试宝典每日3题:day32
目录1.MVC是什么?MVC设计模式的好处有哪些2.Spring MVC常用的注解有哪些?3.SpingMvc中的控制器的注解一般用哪个,有没有别的注解可以替代?1.MVC是什么?MVC设计模式的好处有哪些 MVC是一种设计模式,模型(Model)+ 视图(View)+ 控制器(Controller),三层架构的设计模式。用于前端页面的展示与后端业务处理的分离。MVC设计模式的好处 1.分层设计,实现了业务系统各个组件的解耦,有利于业务系统的可扩展性,可维护性。 2.有利于系统并行开发,原创 2021-08-20 16:51:41 · 190 阅读 · 0 评论 -
Java面试宝典每日3题:day31
目录1.什么是DispatcherServlet?2.什么是Spring MVC框架的控制器?3.Spring MVC的控制器是不是单例模式,如果是,有什么问题,怎么解决?1.什么是DispatcherServlet? 2.什么是Spring MVC框架的控制器? 3.Spring MVC的控制器是不是单例模式,如果是,有什么问题,怎么解决?决? ...原创 2021-08-19 14:52:50 · 230 阅读 · 0 评论 -
Java面试宝典每日3题:day30
目录1.MyBatis实现一对一,一对多有几种方式,怎么操作的?2.什么是Spring MVC?简单介绍下你对Spring MVC的理解?3.Spring MVC的优点1.MyBatis实现一对一,一对多有几种方式,怎么操作的? 有联合查询和嵌套查询 联合查询是几个表联合查询,只查一次。通过resultMap标签里面配置association和collection结点配置一对一和一对多的类来完成。 嵌套查询时先查一个表,根据这个表里面的结果的外键id,再去另一个里面查询数据。也是通过asso原创 2021-08-18 10:59:52 · 295 阅读 · 2 评论 -
Java面试宝典每日3题:day29
目录1.Mybatis的Xml映射文件中,不同的Xml映射文件,id是否可以重复?2.使用MyBatis的mapper接口调用时有哪些要求?3.什么是MyBatis的接口绑定?有哪些实现方式?1.Mybatis的Xml映射文件中,不同的Xml映射文件,id是否可以重复? 不同的Xml映射文件,如果配置namespace,那么Id可以重复;如果没有配置namespace,那么Id不可以重复,毕竟namespace不是必须的,只是最佳实践而已。2.使用MyBatis的mapper接口调用时有哪些要求原创 2021-08-17 15:11:28 · 198 阅读 · 0 评论 -
Java面试宝典每日3题:day28
目录1.为什么需要预编译2.Mybatis是否支持延迟加载?3.在mapper中如何传递多个参数?1.为什么需要预编译 JDBC中使用对象PreparedStatement来抽象预编译语句,使用预编译。预编译阶段可以优化SQL的执行,预编译之后SQL大多数情况下都可以直接执行,DBMS不需要再次编译,越复杂SQL,编译复杂度将越大,预编译阶段可以合并多个操作为一个操作。同时预编译语句对象可以重复利用,把一个SQL预编译后产生的PreparedStatement对象缓存下来,下次对于同一个SQL,可以原创 2021-08-16 21:25:58 · 269 阅读 · 0 评论 -
Java面试宝典每日3题:day26
目录1.当实体类中的属性名和表中的字段名不一样 ,怎么办 ?2.ORM是什么?3.为什么说Mybatis是半自动ORM映射工具?它与全自动的区别在哪里?1.当实体类中的属性名和表中的字段名不一样 ,怎么办 ? 1.通过在程序的SQL语句中定义字段名的别名,让字段名的别名和实体类的属性名一样 2.通过resultMap标签来映射字段名和实体类属性名一一对应的关系。在resultMap标签内,用id标签来映射主键字段,用result标签来映射非主键属性,property为实体类属性名,column为原创 2021-08-14 22:42:16 · 251 阅读 · 0 评论 -
Java面试宝典每日3题:day24
目录1.Java异常关键字2.什么是Mybatis3.Mybatis的优点1.Java异常关键字 try:用于监听。将要被监听的代码(可能抛出异常的代码)放在try语句块之内,当try语句块出现异常时,异常就会被抛出 catch:用于捕获异常。catch用来捕获try语句块中发生的异常。 finally:finally语句块总会被执行。它主要用于回收try语句块里面的物理资源(数据库连接、网络连接和磁盘文件)。只有finally语句块执行完之后,才会回来执行try或者catch块中的retu原创 2021-08-12 10:54:54 · 193 阅读 · 0 评论 -
Java面试宝典每日3题:day23
目录1.Error 和 Exception 区别是什么?2. 运行时异常和一般异常(受检异常)区别是什么?3. throw 和 throws 的区别是什么?1.Error 和 Exception 区别是什么? Error类型错误通常为虚拟机相关错误,如系统崩溃、内存不足、堆栈溢出等,编译器不会对这类错误进行检测,Java应用程序也不会对这类错误进行捕获,一旦这类错误发生,通常应用程序会被终止,仅靠应用程序本身无法恢复。 Exception类的错误可以在应用程序中捕获并处理,遇到这种错误,应对其进原创 2021-08-10 11:21:43 · 286 阅读 · 0 评论 -
Java面试宝典每日3题:day22
目录1.ArrayList 和 LinkedList 的区别是什么?2.ArrayList 和 Vector 的区别是什么?3.插入数据时,ArrayList、LinkedList、Vector谁速度较快?1.ArrayList 和 LinkedList 的区别是什么? 1.数据结构实现: ArrayList是动态数组数据结构实现,而LinkedList是双向链表数据结构实现。 2.随机访问效率: ArrayList比LinkedList在随机访问的时候效率更高,因为Linked原创 2021-08-09 11:32:52 · 199 阅读 · 0 评论 -
Java面试宝典每日3题:day21
目录1.说一下 ArrayList 的优缺点2.如何实现数组和 List 之间的转换?3.多线程场景下如何使用 ArrayList?1.说一下 ArrayList 的优缺点优点如下: ArrayList底层是以数组实现,查找元素的时候可以通过索引下标快速定位元素位置,所以查找元素比较快。缺点如下: 删除元素的时候:删除某索引处元素的时候,可能需要移动大量元素的位置,这样的话是非常消耗系统性能的。 增加元素的时候:在某索引处添加元素的时候,可能需要移动大量元素的位置,这样的话是非常消耗系统原创 2021-08-08 10:29:59 · 325 阅读 · 0 评论 -
Java面试宝典每日3题:day20
目录1.常用的集合类有哪些?2.List,Set,Map三者的区别?List、Set、Map 是否继承自Collection 接口?List、Map、Set 三个接口存取元素时,各有什么3.哪些集合类是线程安全的?1.常用的集合类有哪些? Map和Collection是所有集合的父接口 Collection集合包含了:List集合接口和Set集合接口 Map接口的主要实现类有:HashMap、TreeMap、HashTable、ConcurrentHashMap、Proproties L原创 2021-08-07 10:43:53 · 371 阅读 · 0 评论 -
Java面试宝典每日3题:day19
目录1.集合的特点和集合与数组的区别?2.迭代器 Iterator 是什么?有什么特点?3.Iterator和ListIterator有什么区别?1.集合的特点和集合与数组的区别? 对象封装数据,对象多了也需要存储,集合用于存储对象。 对象的个数确定用数组,对象的个数不确定用集合,因为集合可以改变长度 数组是固定长度,集合可以改变长度 数组可以存储基本类型,也可以存储引用类型,集合只能存储引用类型 数组存储的元素必须是同一个数据类型,集合存储的对象可以是不同数据类型2.迭代器 I原创 2021-08-06 10:21:56 · 278 阅读 · 0 评论 -
Java面试宝典每日3题:day18
目录1.String类的常用方法有哪些?2.什么是反射3.反射的应用场景有哪些?1.String类的常用方法有哪些? 1.equals 字符串比较 2.substring 字符串截取 3.length 获取字符串长度 4.trim 去除字符串两端空白 5.indexOf 获取字符第一次出现的索引 6.getBytes 获取字符串的byte类型数组 7.split 分割字符串 8.toLowercase 将字符串转小写 9.toUppercase 将字符串转大写 1原创 2021-08-05 10:20:36 · 234 阅读 · 0 评论 -
Java面试宝典每日3题:day17
目录1.什么是常量池2.String有哪些特性3.String str="i"与 String str=new String(“i”)一样吗?1.什么是常量池 字符串常量池位于堆内存,专门用来存储字符串常量,可以提高内存的使用率,避免开辟空间存储相同的字符串,在创建字符串时JVM首先检查字符串常量池,如果该字符串已存在池中,则返回它的引用,如果不存在 则实例化一个字符串放到池中,并返回其引用。2.String有哪些特性1.不变性: String是只读字符串,对它进行任何操作,其实都是创建原创 2021-08-04 09:41:42 · 235 阅读 · 0 评论 -
Java面试 八股文每日3题:day16
目录1.聊聊反射?2.聊聊List 接口的子类3.Java中的IO流分为几种1.聊聊反射? 1.在运行时动态的获取类的完整信息 2.增加程序的灵活性 3.JDK动态代理使用到了反射2.聊聊List 接口的子类线性结构 1.ArrayList Object 数组实现,默认大小为10,支持随机访问,连续的内存空间,扩容大小为1.5倍。 2.Vector 类似 ArrayList线程安全,扩容默认增长为原来的2倍,还可以指定增长空间长度。 3.LinkedList 基于链表实现原创 2021-08-03 10:24:11 · 275 阅读 · 0 评论 -
Java面试 八股文每日3题:day15
目录1.聊聊Object 类相关方法?2.说说序列化?3.1.聊聊Object 类相关方法? 1.getClass: 获取当前运行时对象的Class对象。 2.hashCode: 返回对象的hash码。 3.clone: 拷贝当前对象,必须实现Cloneable接口。浅拷贝对基本数据类型进行值拷贝,对引用类型拷贝引用;深拷贝对基本数据类型进行值拷贝,对引用类型对象不但拷贝对象的引用还拷贝对象的相关属性和方法。两者不同在于深拷贝创建一个新的对象。 4.equals: 通过内存对象比较两个对原创 2021-08-02 11:17:55 · 286 阅读 · 0 评论 -
Java基础面试每日3题:day14
目录1.为什么我们调用start() 方法时会执行run()方法,为什么我们不能直接调用run()方法?2.说一说自己对synchronized关键字的了解3.数据库中的乐观锁和悲观锁1.为什么我们调用start() 方法时会执行run()方法,为什么我们不能直接调用run()方法? new 一个Thread,线程进入了新建状态;调用start()方法,会启动一个线程,并使线程进入就绪状态,当分配到时间片后就可以开始运行了。start()会执行线程的相应准备工作,然后自动执行run()方法的内容,这原创 2021-08-01 11:56:22 · 304 阅读 · 0 评论 -
Java基础面试每日3题:day12
目录1.Maven能为我们做什么?2.使用Lombok可以做什么?3.什么是线程和进程?1.Maven能为我们做什么? 1.我们可以使用maven轻松构建项目 2.我们可以使用maven的帮助轻松添加项目的jar包和其他依赖项 3.在maven的帮助下,我们可以将任意数量的项目构建为输出类型,如Jar,war等,在无需执行任何脚本编写。 4.使用maven,我们可以轻松地将我们的项目与源代码控制系统集成(如Git等) 2.使用Lombok可以做什么? Lombok是一套方便原创 2021-07-30 10:25:15 · 245 阅读 · 0 评论 -
Java基础面试每日3题:day11
目录1.在一个静态方法内调用一个非静态成员为什么是非法的?2.在类中已经存在有参构造方法的时候,为什么还要定义一个不做事且没有参数的构造方法?3.成员变量和局部变量的区别?1.在一个静态方法内调用一个非静态成员为什么是非法的? 由于静态方法可以不通过对象进行调用,因此在静态方法里,不能调用其他非静态变量,也不能访问非静态方法。(静态不能访问非静态)2.在类中已经存在有参构造方法的时候,为什么还要定义一个不做事且没有参数的构造方法? Java 程序在执行子类构造方法之前,如果没有用super原创 2021-07-29 10:30:09 · 228 阅读 · 0 评论 -
Java基础面试每日3题:day10
目录1.构造器Constructor是否可以被Override?2.重载和重写的区别3.什么是自动装箱和拆箱?1.构造器Constructor是否可以被Override? 父类的私有属性和构造方法不能被继承,所有Constructor 也就不能被Override(重写),但是可以Overload重载,2.重载和重写的区别 重载:发生在同一个类中,方法名必须相同,参数类型不同、个数不同、顺序不同,方法返回值和访问修饰符可以不同,发生在编译时 重写:发生在父子类中,方法名、参数列表必须相同原创 2021-07-28 22:30:27 · 191 阅读 · 0 评论 -
Java基础面试每日3题:day09
目录1.Java中多态的运行机制是什么?2.抽象类(abstract class)和接口(interface)有什么区别?3.字符型常量和字符串常量的区别1.Java中多态的运行机制是什么? 靠的是父类或者接口的引用变量可以指向子类或者具体实现类的实例对象,而程序调用的方法在运行期才动态绑定,就是引用变量所指向的具体实例对象的方法,也就是内存里正在运行的那个对象的方法,而不是引用变量的类型定义的方法2.抽象类(abstract class)和接口(interface)有什么区别? 含有ab原创 2021-07-27 11:31:53 · 259 阅读 · 0 评论 -
Java基础面试每日3题:day08
目录1.是否可以从一个static方法内部发出对非static方法的调用?2.“==”和“equals”方法有什么区别3.使用final关键字修饰一个变量时,是引用变量所指向的对象中的内容不能变,还是引用指向的地址不能变?1.是否可以从一个static方法内部发出对非static方法的调用? 不可以 因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象进行方法调用,而static方法调用时不需要创建对象,可以直接调用。也就是说,当一个static方法被调用时,可能还原创 2021-07-26 09:25:23 · 264 阅读 · 0 评论 -
Java基础面试每日3题:day07
目录1.构造器(Constructor)是否可以override?2.Override和Overload的区别?3.请说出public、private、protected、以及不写时的区别?1.构造器(Constructor)是否可以override? 构造器Constructor不能被继承,因此不能重写Override,但可以被重载Overload2.Override和Overload的区别? 方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态,而后者实现的是运行时的多态。原创 2021-07-25 10:04:13 · 237 阅读 · 0 评论 -
Java基础面试每日3题:day06
这里写自定义目录标题1.List、Set、Map是否继承自Collection接口?2.Collection和Collections的区别?3.Java中有几种类型的流?1.List、Set、Map是否继承自Collection接口? List、Set是,Map不是。 Map是键值对映射容器,与List和Set有明显区别,而Set存储的零散(无序)的元素且不允许有重复元素(数学集合中也是如此),List是线性结构的容器,适用于按数值索引访问元素的情形。存储数据有序、可以重复。2.Collec原创 2021-07-24 10:32:52 · 237 阅读 · 0 评论 -
Java基础面试每日3题:day05
目录1.Java中,final关键字的用法有哪些?2.数据类型之间的转换:如何将字符串转换为基本数据类型?如何将基本数据类型转换为字符串?3.阐述final、finally、finalize的区别1.Java中,final关键字的用法有哪些? 修饰类:不能被继承(太监类),不能有子类。 修饰方法:方法不能被重写 修饰变量:变量只能赋值一次(变常量)2.数据类型之间的转换:如何将字符串转换为基本数据类型?如何将基本数据类型转换为字符串? 字符串转基本数据类型:调用基本类型对应的包装类原创 2021-07-23 09:58:44 · 243 阅读 · 1 评论 -
Java基础面试每日3题:day04
目录1.接口是否可以继承接口(extends)?抽象类是否可以实现(implements)接口?抽象类是否可以继承具体类(concrete class)?2.一个“.java” 源文件中是否可以包含多个类(不是内部类)?有什么限制?3.内部类可以引用它的包含类(外部类)的成员吗?有没有什么限制?1.接口是否可以继承接口(extends)?抽象类是否可以实现(implements)接口?抽象类是否可以继承具体类(concrete class)? 接口是可以继承接口的,一个接口可以同时继承多个接口。原创 2021-07-22 10:40:55 · 268 阅读 · 0 评论 -
Java基础面试每日3题:day03
目录1.静态变量和实例变量区别2.是否可以从一个静态(static) 方法内部发出对非静态(non-static)方法的调用String s = new String("xy");创建了几个字符串对象?1.静态变量和实例变量区别 静态变量是被static修饰符修饰的变量,也称为类变量,它属于类的不属于任何一个对象,一个类不管创建多少个对象,静态变量在内存中仅有一份拷贝。 实例变量必须依存于某一实例,需要先创建对象才能访问到它。 静态变量变量可以实现让多个对象共享内存。2.是否可以从一个原创 2021-07-21 09:57:56 · 229 阅读 · 0 评论 -
Java基础面试每日3题:day02
这里写自定义目录标题1.抽象类和接口有什么异同?2.静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同?3.抽象类(abstract)的方法是否可同时是静态(static)的,是否可同时是本地方法(native),是否可同时被synchronized修饰?1.抽象类和接口有什么异同? 抽象类和接口都不能够实例化,但可以定义抽象类和接口类型的引用。 一个类继承了某个抽象类或实现了某个接口都需要都其中的抽象方法进行全部实现,否则该类需要声明为抽象类 接原创 2021-07-20 11:14:48 · 230 阅读 · 1 评论 -
Java面试——汇总
目录day011.String 和 StringBuffer、StringBuilder的区别?2. 重载和重新的区别?重载的方法能否根据返回值类型进行区分?3.char型变量中能不能存储一个中文汉字,为什么?day011.String 和 StringBuffer、StringBuilder的区别?2. 重载和重新的区别?重载的方法能否根据返回值类型进行区分?3.char型变量中能不能存储一个中文汉字,为什么?https://blog.csdn.net/qq_42025798/article/d原创 2021-07-19 23:29:08 · 973 阅读 · 2 评论 -
Java基础面试每日3题:day01
目录1.String 和 StringBuffer、StringBuilder的区别?2. 重载和重新的区别?重载的方法能否根据返回值类型进行区分?3.char型变量中能不能存储一个中文汉字,为什么?1.String 和 StringBuffer、StringBuilder的区别? Java 平台提供了两种类型的字符串:String和StringBuffer/StingBuilder,它们可以存储和操作字符串。其中String是只读字符串,也就意味着String引用的字符串内容是不能被改变的。而Str原创 2021-07-19 23:25:04 · 253 阅读 · 0 评论 -
描述一下Spring Bean的生命周期
描述一下Spring Bean的生命周期解析类得到BeanDefinition如果有多个构造方法,则要推断构造方法确定好构造方法后,进行实例化得到一个对象对对象的加了@Autowired注解的属性进行属性填充回调Aware方法,比如BeanNameAware,BeanFactoryAware调用BeanPostProcessor的初始化前的方法调用初始化方法调用BeanPostProcessor的初始化的方法,在这里会进行AOP如果当前创建的Bean是单例则会把Bean放到单例池使用B转载 2021-04-01 21:47:06 · 615 阅读 · 0 评论 -
BeanFactory和ApplicationContext有什么区别?
BeanFactory和ApplicationContext有什么区别?转载 2021-03-31 22:21:23 · 291 阅读 · 0 评论 -
谈谈你对IOC的理解
谈谈你对IOC的理解转载 2021-03-30 22:45:27 · 1653 阅读 · 1 评论 -
谈谈你对AOP的理解
谈谈你对AOP的理解系统是由许多不同的组件组成的,每一个组件各负责一块特定功能。除了实现自身核心功能之外,这些组件还经常承担着额外的职责。例如日志、事务管理和安全这样的核心服务经常融入到自身具有核心业务逻辑的组件中去。这些系统服务经常被称为横切关注点,因为他们会跨越系统的多个组件。当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的关系,并不适合定义从左到右的关系。例如日志功能。日志代码往往水平地散步在所有对象层次中,而与它所散步到的对象的核心功能毫无转载 2021-03-29 22:46:56 · 1190 阅读 · 0 评论 -
Spring是什么?
Spring是什么?轻量级的开源的J2EE框架。它是一个容器框架,用来装javaBean(java对象),中间层(业务层)框架(万能胶)可以起一个连接作用,比如说把Struts和hibeernate粘和在一起运用,可以让我们的企业开发更快、更简洁。Spring 是一个轻量级的控制反转(Ioc)和面向切面(Aop)的容器框架从大小和开销而言Spring 都是轻量级的。通过控制反转(Ioc)的技术达到松耦合的目的。提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开转载 2021-03-28 22:39:06 · 102 阅读 · 0 评论