自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 经典面试题目:Spring MVC中的常用注解

RestController(Rest控制器):将控制器声明为 RESTController ,它的元注解中包括@Controller和@ResponseBody注解,实际效果是为该控制器类中的所有方法添加@ResponseBody注解。

2023-10-09 16:59:33 148

原创 经典面试题目:Spring Boot是如何实现自动配置的

2.spring.factories文件:Spring Boot的自动配置类信息通常被定义在spring.factories文件中,该文件位于META-INF目录下。4.自动配置机制的执行顺序为:启动项目>加载spring.factories文件>条件评估>激活符合条件的自动配置类>生成Bean定义>应用自动配置>完成自动。1.自动配置类:Spring Boot提供了大量的自动配置类,这些类包含了针对各种场景的配置。3.条件化注解:Spring Boot使用条件化注解来确定是否需要应用某个自动配置类。

2023-10-09 14:44:51 101

原创 经典面试题目:BeanFactory和FactoryBean的关系

3.FactoryBean是一个特殊的工厂接口,用于创建和管理特定类型的对象,允许定制化对象创建逻辑,并将工厂本身作为Bean进行管理。4.在实际使用中,BeanFactory是Spring的核心容器接口,而FactoryBean则是一种用于创建定制化对象的机制。BeanFactory和FactoryBean都是Spring框架中用于管理和创建对象的重要接口,但它们的作用和用途有所不同。2.BeanFactory是IOC容器的核心接口,职责包括:实例化、定位、配置应用程序中的对象建立这些对象间的依赖。

2023-10-09 14:34:17 165

原创 经典面试题目:介绍一下@Autowired的Bean匹配机制

Autowired的Bean匹配机制是指在执行依赖注入之前,Spring容器会根据被注入字段,方法参数的类型来查找匹配的Bean。3.如果类型匹配的实例有多个,且无法选出唯一的,则转为根据Bean的名称匹配。>查看是否有@Qualifier注解,有则按其指定规则匹配。>查看是否有@Primary注解,有则按其指定规则匹配。>有匹配类型,对应的实例有1个,则注入。>如果名称匹配成功就注入,反之注入失败。>若没有匹配类型,则注入失败。

2023-10-09 14:24:16 109

原创 经典面试题目:为什么Spring不建议使用字段注入

2.可能导致空指针异常:一个Bean的初始顺序为静态变量或静态代码块>实例变量或初始化语句块>构造方法>字段注入。3.不利于测试:在单元测试中,为了隔离被测试类与外部依赖之间的耦合,常常需要模拟依赖对象字段注入会使得测试类无法直接通过构造器或方法注入模拟对象,从而增加了测试的复杂性。1.Spring框架支持三种主要的注入方式:字段注入、构造器注入、setter方法注入。4.无法注入final字段:字段注入无法用于注入final字段,这会限制一些设计和测试的可能性。

2023-10-09 14:17:18 210

原创 经典面试题目:介绍一下Spring支持的依赖注入方式

字段注入在实际使用中比较简便,但也可能降低代码的可测试性和清晰度,因为字段通常私有;构造器注入强制要求依赖在对象创建时就需要提供,适用于必须得依赖关系;setter方法注入适用于可选性依赖或需要在对象创建后才能设置的情况;容器会调用目标类的setter方法,将依赖项注入到目标类的属性中;在创建对象实例时,容器会通过构造器参数来解析和注入依赖项;字段注入、构造器注入、setter方法。

2023-10-09 10:49:26 33

原创 经典面试题目:Spring框架中@Bean和@Component的区别

在Spring框架中,@Bean注解和@Component注解均用于定义Bean,但是添加的位置和应用的场景不同。@Component注解主要用于在类前隐式的配置Bean。将声明集中在一个(或几个)地方,方便统一管理Bean;1.@Bean注解主要用于在配置类中显式配置Bean。可用于所有类(包括第三方工具包中的类);3.实际应用中,通常都是两种方式混合使用。位置分散,不便于统一管理;可以添加在方法和注解前;适合非常快速的开发;

2023-10-09 10:27:48 28

原创 经典面试题:介绍一下对Spring IOC 和 DI的理解

这道题目是 Spring 框架的基础面试题,旨在考察应试者对 Spring 框架核心概念的理解。在 Spring IOC中,不再是应用程序直接控制对象的创建和管理,而是讲这些控制权交给Spring 容器。DI是Spring框架实现控制反转(IOC)的一种方式,被反转的是一个对象获取其依赖对象的流程。Spring IOC容器负责实例化对象,解决对象之间的依赖关系,并管理对象的生命周期。Spring 框架提供了一种基于注解的,声明式的依赖注入方式,称为Spring DI。2.Spring DI的理解。

2023-10-09 10:21:06 72 1

原创 经典面试题目:Spring IOC的好处

1.松耦合性:IOC降低了对象之间的紧密耦合性,对象不再直接创建和管理他们的依赖,而是通过容器来完成。总得来说,Spring IOC通过控制权从应用程序中转移到容器中,带来了更好的可维护性,灵活性和重用性,有助于构建高质量,可扩展和易于维护的应用程序。3.灵活性:通过配置文件或者注解,你可以在不修改代码的情况下改变对象的行为。2.可维护性:由于对象创建和管理由容器负责,代码的结构更清晰,逻辑更集中。你可以通过将相同的组件配置到不同的环境中,实现代码的重用。

2023-10-09 09:36:05 35 1

原创 经典面试题目:I/O的流分支

字符流:(Character Stream):以字符为单位进行读写操作,适用于处理文本数据,能够正确处理字符编码和跨平台的字符表示。字节流:(Byte Stream):以字节为单位进行读写操作,适用于处理二进制数据或字节流形式的文本数据。处理流:(Processing Stream):对已存在的流进行包装,提供了额外的功能或对数据进行处理。节点流:(Node Stream):直接与数据源或目标进行交互,可以读写字节或字符。输出流:(Output Stream):用于将程序中的数据输出到外部。

2023-10-08 17:46:04 35 1

原创 经典面试题目:如何精准处理小数

在上述示例中,使用double类型进行0.1和0.2的相加,由于浮点数的精度限制,计算结果会产生舍入误差,得到一个略微不精准的结果,而使用BigDecimal进行相加时,精确的标识了0.1和0.2并得到了准确的计算结果。BigDecimal 是Java中的一个类,用于进行高精度的数值计算。它提供了一种精准表示和操作任意精度的十进制的方式,避免了使用浮点数在精度和舍入误差上可能存在的问题。在需要精确计算,特别是涉及货币,财务或其他小数点的场景时,使用BigDecimal更可靠,避免浮点数带来的舍入误差。

2023-10-08 16:52:52 40 1

原创 经典面试题目:String和StringBuilder区别

性能:由于String 的不可变性,每次对String 进行拼接,替换或者删除时,都会创建新的String 对象,导致内存的频繁分配和回收,性能较低。而StringBuilder 允许原地修改字符串,避免了这种性能损耗,在大量字符串操作时通常比String 效率更高。可变性:String 是不可变类,即一旦创建,其值不可更改。没次对String进行修改时,都会创建一个新的String对象。而StringBuilder 是可变类,允许对字符串进行原地修改,避免了频繁创建新的对象。

2023-10-08 16:39:47 32 1

原创 经典面试题目:说出String的5个常用API 方法

substring(int beginIndex , int endIndex):该方法返回指定索引范围内的子字符串。其中,beginIndex表示子字符串的起始索引(包括),endIndex表示子字符串的结束索引(不包括)。indexOf(String str):该方法用于查找指定字符串在原字符串中的索引位置。使用方法: String subStr = str.substring(beginIndex,beginIndex);length():该方法返回字符串的长度,即字符串中字符的个数。

2023-10-08 15:37:23 42 1

原创 经典面试题目:equals 和 ==

3.在比较对象是,通常应该使用“equals”方法比较内容相等性,而不是使用“==”操作符来比较引用相等性。2.“equals”方法用于比较对象的内容是否相等,通常需要重写以满足自定义的相等性标准。1.“==”操作符用于引用是否相等,比较的是对象在内存中的地址。4.但对于基本数据类型,可以使用“==”操作符来比较它们的值。

2023-10-08 15:17:09 83 1

原创 经典面试题目:Java是如何实现多继承的

在Java中,类是单独继承的,既一个类只能继承自一个父类。然而,通过接口的使用,Java可以实现多继承的效果。类可以实现多个接口中的方法,从而获得多个接口定义的行为和功能。这种机制提供了灵活性和可扩展性,使得Java在面对多继承需求时能够更好的满足设计和开发的需求。

2023-10-08 14:39:57 38 1

原创 经典面试题目:接口和抽象类的区别

方法实现:抽象类可以包含实现的方法和抽象的方法。接口只能包含抽象的方法,不包含具体的方法实现。所有的方法都隐式地被声明为抽象方法,不需要使用 abstract 关键字。实现接口的类必须提供方法的具体实现。Java8引入了接口中的静态方法和默认方法,使得接口具备了一定的实现能力。继承关系:抽象类通过使用 extends 关键字继承其他类或者抽象类。接口通过使用 implements 关键字实现一个或多个接口。声明方法:抽象类使用 abstract 关键字进行声明,使用 class 关键字定义类。

2023-10-08 14:36:05 49 1

原创 经典面试题目:重写和重载的区别

功能:重写用于在子类中重新定义父类的方法,可以根据子类的需要实现不同的功能。重载用于处理同一个类中不同的输入环境,通过参数的差异来选择不同的方法。重载是在编译时静态绑定的,根据传入的参数类型和个数来选择合适的方法。方法签名:重写要求子类与父类方法具有相同的方法签名,包括方法名,参数类别和返回类型。定义:重写是指在子类中重新定义父类的方法,方法名,参数列表和返回值类型都相同。重载是在同一个类中定义多个方法,方法名相同但参数列表不同。重写用于子类对父类方法的重新定义,重载用于同一个类中多个方法的差异处理。

2023-10-08 14:27:37 82 1

原创 经典面试题目:Java基本类型

整数类型:包括byte, short , int 和 long,用于表示整数值。浮点类型:包括float 和double ,用于表示带有小数部分的数值。布尔类型:boolean ,用于表示真或假的逻辑值。字符类型:char ,用于表示单个字符。

2023-10-08 14:13:35 30 1

原创 虚拟机CentOs的安装

来到这一步可以根据自己电脑的处理器和内核进行分配,如果不清楚自己的内核以及处理器数量时,可以按住键盘上的CTRL+SHIFT+ESC打开任务管理器,在任务管理器左边的 性能 页面可以查看本机的内核个数以及处理器个数,随后根据内核数量和处理器数量进行选择。来到这一步,整个基础的配置就完成了,这里需要仔细查看一下,看是否需要进行更改,如果需要更改,点击 自定义按键 进行重新配置,在确保一切无误后点击 完成 即可完成虚拟机基础配置。这一步是给虚拟机选择内存,这里的内存可以理解为手机的运行内存。

2023-05-12 21:10:37 3329

原创 VMwear安装:

(去浏览器搜索一个许可密钥就好,按照自己的版本进行搜素,之后复制输入即可)2:下载完成后按照步骤完成安装。之后点击完成就可实现完整安装。3:安装完成会跳出 ↓ 页面。7.点击安装等待进度条完成。下载vmware安装包。

2023-05-12 14:57:37 105

原创 Java是值传递还是引用传递

2.对于引用类型而言,传递的是具体的地址的副本。1.对于基本类型而言,传递的是具体的值得副本。Java中无论是基本类型还是引用类型,都是值传递。

2023-03-27 19:10:29 71

原创 ==和equals的区别

2.equals:String中重写了equals(),用于比较字符串的内容是否不同,若不重写equals()则默认调用Object中的equals()还是比较地址,所以equals()常常被重写,用来比较对象的数据是否相同。对于引用类型而言,比较的是内存地址是否相等。1.==:对于基本类型而言,比较的是数值是否相等。

2023-03-27 19:10:02 34

原创 重写和重载的区别

2.重载(overload)发生在同一个类中,方法名相同,参数列表不同(实际是完全不同的方法)----------完全不同的方法,只是方法名正好相同。1.重写(override)发生在父子类中,方法名相同,参数列表也相同(实际为同一个方法)-------用于在派生类中修改超类中所声明的方法。

2023-03-27 19:07:32 28

原创 JVM垃圾回收机制(也称GC)

2.Java程序在运行时,会产生大量的对象,这些对象保存在内存中,每个对象都占用一定的存储空间,内存空间是有限的,如果所有对象一直占用内存空间,势必会造成内存耗尽;(object是你认为不需要在使用的变量名称),这条语句可以使得变量不再持有对象的引用,则JVM将该对象判定为垃圾,在后续的回收过程中会自动将其回收。即使不执行这样的语句,随着变量的作用域消失也会达到同样的效果,一般局部变量可以不执行这样的语句,因为局部变量的作用域并不持久。1.垃圾回收:是由JVM提供的机制,可以自动回收垃圾对象占用的空间。

2023-03-27 19:07:07 80

原创 内存泄漏与内存溢出

3.如果内存泄漏持续发生,则导致内存里的对象越来越多(有很多是不再使用的),最终内存中的实际存储数量会超过可用内存的上限,则为内存溢出。2.理想情况下,不再使用的对象应该被视为垃圾,将会被回收,如果这样的对象没有被视为垃圾,它将继续占用内存空间,则视为内存泄漏。4.内存溢出是内存泄漏的最终表现,少量的内存泄漏并不会导致明显的危害,但是也要注意避免出现内存泄漏。1.内存泄漏和内存溢出均是由于不严谨的代码和错误的操作导致的。

2023-03-27 19:06:50 50

原创 switch能作用于哪些数据类型上

switch可以作用于:byte,short,int,char,String,枚举类型,其他类型不允许。

2023-03-27 19:06:08 337

原创 会话管理与服务器

客户端和服务器之间进行数据传输遵循HTTP协议,此协议属于无状态协议(一次请求对应一次响应,响应完成之后连接就会断开)服务器是无法跟踪客户端的请求的,通过Coolie服务器可以给客户端添加一个标识,当客户端再次发出请求时会带着这个Cookie标识,这样服务器就能识别到此客户端,但是由于Cookie是保存到客户端的,存在被篡改的风险,Session的出现解决了此问题。默认数据只能保存半个小时左右,而且不建议修改时长,因为数据时保存在服务器的内存中,服务器只有一个所以不能占用太多内存。

2023-03-27 19:05:51 56

day22 A班笔记.md

day22 A班笔记.md

2022-09-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除