自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springboot面试题

Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。JavaConfig是一种用于配置和管理Java应用程序的方式。它是基于纯Java代码的配置方法,用于替代传统的XML配置文件。JavaConfig使开发者能够以编程的方式定义和组装应用程序的各个组件,而不需要使用繁琐的XML配置。通过JavaConfig,开发者可以使用Java类和注解来定义应用程序的配置信息。

2023-11-01 14:45:47 45

原创 SpringMVC面试题

① 前端发送请求被前端控制器DispatcherServlet拦截② 前端控制器调用处理器映射器HandlerMapping对请求URL进行解析,解析之后返回调用给前端控制器③ 前端控制器调用处理器适配器处理调用链④ 处理器适配器基于反射通过适配器设计模式完成处理器(控制器)的调用处理用户请求⑤ 处理器适配器将控制器返回的视图和数据信息封装成ModelAndView响应给前端控制器⑥ 前端控制器调用视图解析器ViewResolver对ModelAndView进行解析,将解析结果(视图资源和数据)响

2023-10-15 17:09:35 54

原创 Spring面试题

Aspect Oriented Programming 面向切面编程,是一种利用“横切”的技术(底层实现就是动态代理),对原有的业务逻辑进行拦截,并且可以在这个拦截的横切面上添加特定的业务逻辑,对原有的业务进行增强。基于动态代理实现在不改变原有业务的情况下对业务逻辑进行增强。

2023-10-14 23:23:59 47

原创 MyBatis面试题

MyBatis提供了基于物理分页和基于逻辑分页两种分页方式,可以根据具体需求选择使用。分页插件则是一种常用的逻辑分页实现方式,利用MyBatis插件机制,在SQL执行前拦截SQL并修改分页查询条件,最终返回对应的分页数据。//pageInfo中就包含了数据及分页信息。

2023-10-14 16:33:45 39

原创 JavaWeb面试题

XSS攻击又称CSS,全称Cross Site Script (跨站脚本攻击),其原理是攻击者向有XSS漏洞的网站中输入恶意的 HTML 代码,当用户浏览该网站时,这段 HTML 代码会自动执行,从而达到攻击的目的。XSS 攻击类似于 SQL 注入攻击,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除数据的目的,而在xss攻击中,通过插入恶意脚本,实现对用户游览器的控制,获取用户的一些信息。XSS是 Web 程序中常见的漏洞,XSS 属于被动式且用于客户端的攻击方式。

2023-10-13 18:49:53 27

原创 Vue面试题

MVVM是一种软件架构模式,用于将应用程序的用户界面和业务逻辑进行解耦。它由三个主要组件组成:Model、View和ViewModel。Model(模型)代表应用程序的数据和业务逻辑。通常通过与服务器进行通信或从本地存储获取数据,并对数据进行处理和操作。View(视图)是用户界面的可视化呈现层。它通常是由HTML、CSS和其他UI组件组成,用于显示模型中的数据,并且对用户输入做出响应。ViewModel(视图模型)是View和Model之间的桥梁。

2023-10-12 20:52:49 12

原创 JavaScript面试题

instanceof是JavaScript中的一个操作符,用于检查一个对象是否属于某个类或构造函数的实例。它返回一个布尔值,如果对象是指定类的实例,则返回true;否则返回false。使用语法如下:其中,object是要检查的对象,是要检查的类或构造函数。instanceof操作符的实现原理如下:首先,它会判断是否为一个函数,如果不是函数,则会抛出一个TypeError。然后,它会检查object的原型链上是否存在与相等的对象。它会从开始,一直沿着原型链向上查找,直到找到null为止。

2023-10-12 15:57:58 16

原创 CSS面试题

CSS渲染层合成(compositing)是浏览器中一种优化渲染性能的技术。该技术允许浏览器在页面中叠加多个渲染层,并将它们组合成最终的呈现结果,从而提高渲染性能和减少页面闪烁等现象。在CSS渲染层合成中,每个渲染层都是由一个或多个HTML元素、CSS样式和相关属性组成的。浏览器将这些渲染层作为平面层根据z-index值按照顺序堆叠在一起,从而形成最终的呈现结果。浏览器在创建新的渲染层时,通常会遵循以下几个步骤:根据DOM树和CSS规则生成初始渲染树(Render Tree)。

2023-10-12 15:18:35 30

原创 HTML面试题

src(source)属性用于指定外部资源(通常是媒体文件、脚本或框架)的位置。它被用于<script><img><audio><video>等元素中。src表示资源的实际地址,浏览器会根据src属性加载指定的资源并执行。表示图片文件"image.jpg"位于当前网页相对路径中。href(hypertext reference)属性用于指定链接的目标,通常是一个URL地址。它被用于<a>(超链接)、<link>(样式表链接)、<base>(基准URL)等元素中。href。

2023-10-12 12:25:16 23

原创 JavaScript学习笔记

JavaScript是一种基于对象的、事件驱动型的、解释型的脚本语言基于对象:(区别于面向对象),JavaScript和Java语言一样可以通过对象调用方法obj.fn()事件驱动:网页文档中的HTML标签事件触发JavaScript代码执行解释型:边解释边执行(不会先对网页进行编译生成中间文件)脚本语言:JavaScript不会独立运行,依赖于网页文件(HTML文档)存在 (通俗的理解为js <html> <head> <meta charset="utf-8">要写在网页中)");

2023-10-11 16:25:22 38

原创 CSS学习笔记

可以借助于CSS实现HTML元素的动画。

2023-10-11 13:07:49 137

原创 JDBC学习笔记

JDBC (Java DataBase Contectivity) Java与数据库的连接——数据库编程JDBC 是Java语言(JDK)为完成数据库的访问操作提供的一套统一的标准。在JDBC操作SQL指令编写过程中,如果SQL指令中需要数据,我们可以通过字符串拼接的形式将参数拼接到SQL指令中,如(s就是拼接到SQL中的变量)使用字符串拼接变量的形式来设置SQL语句中的数据,可能会导致因变量值的改变引起SQL指令的原意发生改变,这就被称为SQL注入。SQL注入问题是需要避免的。例如:如果s的值为。

2023-10-11 09:58:36 25

原创 HTML学习笔记

网页 —— 可以在网络中传输、通过浏览器解析并显示视图的页面问题:一个文件通过网络传递给浏览器之后,浏览器是如何显示视图的呢?存储在服务器上的页面文件中编写的是浏览器可以识别的代码当浏览器请求服务器时,服务器将这个写有浏览器可以识别的代码的页面文件通过网络传递给浏览器浏览器接收到文件后,不会将代码显示出来,而是对代码进行解析,显示出对应的视图网页设计:就是在网页文件中编写HTML代码(标签),通过浏览器可以显示特定的用户界面。

2023-10-11 09:58:06 110

原创 MYSQL笔记

数据库概念术语介绍数据库,就是存放数据的仓库数据库(DataBase,简称DB)是长期存储在计算机内部有结构的、大量的、共享的数据集合。长期存储:持久存储有结构:类型:数据库不仅可以存放数据,而且存放的数据还是有类型的关系:存储数据与数据之间的关系大量:大多数数据库都是文件系统的,也就是说存储在数据库中的数据实际上就是存储在磁盘的文件中共享:多个应用程序可以通过数据库实现数据的共享。

2023-10-11 09:46:13 92

原创 JavaWeb

Java ME 嵌入式应用程序 (功能手机系统内置应用——俄罗斯方块、贪吃蛇)一种可以将网页数据提交到Java程序,并且将Java程序的数据显示到网页的技术。Java基本语法:标识符、关键字、运算符、表达式、流程控制、数据类型。Java OOP: 类、属性、方法、对象,抽象继承封装多态。集合:List、Set、Iterator、Map。封装类:日期、Math、String、封装类。JavaSE高级:IO、线程、网络。JavaScript 脚本语言。BootStrap 样式框架。添加、查询、修改、 删除。

2023-10-11 09:18:07 19

原创 MYSQL面试题

查询缓存:如果查询缓存是打开的,服务器在接收到查询请求后,并不会直接去数据库查询,而是在数据库的查询缓存中找是否有相对应的查询数据,如果存在,则直接返回给客户端。数据库中的数据量不一定是可控的,随着时间和业务的发展,库中的表会越来越多,表中的数据量也会越来越大,相应地数据操作,例如 增删改查的开销 也会越来越大;可重复读(幻读:T2对数据表中的数据进行修改然后查询,在查询之前T1向数据表中新增了一条数据,就导致T2以为修改了所有数据,但却查询出了与修改不一致的数据(T1事务新增的数据))

2023-10-09 16:47:20 23

原创 java并发面试题

wait()是Object的方法。1、synchronized关键字实现的同步代码块或者同步方法 2、ReentrantLock实现了Lock接口的可重入锁 3、ThreadLocal人手一份线程私有变量,保证了线程安全 4、原子变量内部的CAS自旋操作实现了多线程下的同步。Callable 接口中的 call() 方法是有返回值的,是一个泛型,和 Future、FutureTask 配合可以用来获取异步执行的结果。是进程的一个实体,是 cpu 调度和分派的基本单位,是比程序更小的能独立运行的基本单位。

2023-10-09 10:20:15 20

原创 java集合面试题

List (对付顺序的好帮⼿): 存储的元素是有序的、可重复的。Set (注重独⼀⽆⼆的性质): 存储的元素是⽆序的、不可重复的。Map (⽤ Key 来搜索的专家): 使⽤键值对(kye-value)存储,类似于数学上的函数y=f(x),“x”代表 key,”y”代表 value。

2023-10-08 17:08:34 36

原创 Java异常面试题

而对引用类型是有影响的,返回的是在 finally 对 前面 return 语句返回对象的修改值。如果 try-finally 或者 catch-finally 中都有 return,那么 finally 块中的 return 将会覆盖别处的 return 语句,最终返回到调用者那里的是 finally 中 return 的值。throws:在方法声明后面,表示如果抛出异常,由该方法的调用者来进行异常的处理;当在子线程中发生未捕获的异常时,该异常会导致子线程终止,并且不会影响主线程的执行。

2023-10-08 11:49:24 22 1

原创 JavaSE基础面试题

如果不存在,则就会在字符串常量池中创建 “abc” 字符串对象,然后再到堆内存中再创建一份字符串对象,把字符串常量池中的 “abc” 字符串内容拷贝到内存中的字符串对象中,然后返回堆内存中该字符串的内存地址,即栈内存中存储的地址是堆内存中对象的内存地址。当使用多态的方式进行调用时,实际执行的是子类中重写的方法。因此,如果父类中只定义了有参数的构造方法,而在子类的构造方法中又没有用 super() 来调用父类中特定的构造方法,则编译时将发生错误,因为 Java 程序在父类中找不到没有参数的构造方法可供执行。

2023-10-07 15:44:49 94 1

原创 GUI编程与JUC编程

JUC(Java.util.concurrent)是Java平台提供的用于多线程编程的库,它包含了一些并发编程工具和构件,帮助开发人员更容易地编写高效、线程安全的并发代码。通过使用JUC库提供的并发编程工具和构件,开发人员可以更容易地编写出高效、线程安全的并发代码,充分利用多核处理器的性能,并减少线程竞争导致的性能下降和数据不一致等问题。线程池能够管理线程的生命周期,重用线程,以及控制并发执行的数量,从而提高应用程序的性能和资源利用率。它提供了强大的界面自定义能力,使开发人员能够创建出色的用户体验。

2023-10-03 17:00:17 20

原创 XML与JSON

XML(eXtensible Markup Language)是一种标记语言,用于描述数据的结构和内容。它具有以下特点:标记语言:XML使用标签来标记数据元素,使其易于理解和解析。标签由尖括号包围,且必须成对出现,包括开始标签和结束标签。。可扩展性:XML允许用户自定义标签,以适应不同的数据结构和需求。这意味着你可以根据具体的应用程序要求定义自己的标签,创建自定义的数据格式。层次结构:XML数据采用树形结构组织,由嵌套的元素构成。每个元素可以包含子元素,形成层次结构,从而表示复杂的数据关系。

2023-10-03 14:22:44 39

原创 Java注解

Java注解又称Java标注,是在 JDK5 时引入的新特性,注解(也被称为元数据)。Java注解它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。// 元注解public @interface 注解名称{// 属性列表示例://自定义注解//注解可以显示赋值, 如果没有默认值,我们就必须给注解赋值。

2023-10-02 22:23:41 14 1

原创 java枚举

在Main方法中,我们使用values()方法获取Operation枚举中所有的枚举常量,并循环输出每个常量及其对应的数学运算结果。在上述示例中,我们在Season枚举中添加了一个name属性和一个getName()方法,用于获取枚举常量的名称。在Main方法中,我们使用了values()方法获取Season枚举中所有的枚举常量,并循环输出每个常量及其名称。枚举常量方法: 枚举中的每个枚举值都是一个枚举常量,这些常量可以拥有自己的属性和方法。

2023-10-02 12:52:05 13 1

原创 Java正则表达式

上述代码中,我们使用正则表达式模式 "\w+@\w+\.\w+" 来匹配电子邮件地址。通过find()方法找到所有匹配的结果,并使用group()方法获取匹配的字符串。通过matches()方法判断给定的手机号是否与正则表达式模式匹配,如果匹配成功,则输出"输入的手机号符合要求";如果不匹配,则输出"输入的手机号不符合要求"。创建要匹配的字符串的Matcher对象,通过matcher()方法传入待匹配的字符串。需要注意的是,这只是一个简单的示例,实际使用时可能需要考虑更多的手机号格式和规则。

2023-10-02 12:42:00 14 1

原创 Java泛型

什么是泛型: 泛型是一种参数化类型的机制,允许在定义类、接口或方法时使用类型参数,参数化类型在实际使用时会被具体的数据类型替代,使代码更具通用性和可复用性。泛型方法: 泛型方法是定义在类或接口中的方法,使用了泛型类型参数。这些示例展示了使用通配符的情况,通过使用通配符,我们可以编写更加灵活的代码,能够处理不同范围的类型参数。泛型的嵌套使用: 泛型可以进行嵌套使用,即在泛型类或泛型方法中使用另一个泛型。通配符可以使用在泛型方法、泛型接口、泛型类等场景中,用于增加灵活性,使方法或类能够处理更广泛的数据类型。

2023-10-02 12:29:24 17 1

原创 Java反射-动态代理

是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意属性和方法;这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制。利用创建的对象调用类里面的内容可以跟,把要创建的对象信息和方法写在配置文件中。读取到什么类,就创建什么类的对象读取到什么方法,就调用什么方法此时当需求变更的时候不需要修改代码,只要修改配置文件即可。

2023-10-02 10:37:53 50 1

原创 Java网络编程

计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统网络编程在网络通信协议下,不同计算机上运行的程序,可以进行数据传输。

2023-09-30 22:30:35 12

原创 java多线程编程

当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。线程对象在不同的时期有不同的状态。那么Java中的线程存在哪几种状态呢?Java中的线程状态被定义在了java.lang.Thread.State枚举类中,State枚举类的源码如下:/* 新建 */NEW ,​/* 可运行状态 */RUNNABLE ,​/* 阻塞状态 */BLOCKED ,​/* 无限等待状态 */WAITING ,​/* 计时等待 */​/* 终止 */

2023-09-30 15:16:33 61

原创 java集合框架

一、概念: Java集合框架是用于存储和操作数据的一组接口和类的集合。它提供了一种便捷的方式来处理和操作数据,包括查找、插入、删除等操作。集合框架提供了多种类型的集合,如List、Set、Map等。数组是一种固定长度且类型相同的数据结构,而集合是一种动态调整大小并且可以存储不同类型元素的数据结构。集合提供了更多的功能和灵活性。与数组相比,集合可以自动调整大小,简化了添加或删除元素的过程,并提供了更多的方法和算法。

2023-09-29 14:34:49 38 1

原创 java文件与IO

Java 中的文件和 I/O(Input/Output,输入/输出)是与外部数据交互和持久化存储有关的重要方面。文件操作Java 中的文件操作通常涉及到读取和写入文件,以及文件和目录的创建、删除和重命名等。主要的文件操作类包括File类和Files类。File类用于处理文件和目录的基本操作,而Files类提供了更强大的文件处理方法。输入和输出流Java 中的 I/O 通常通过输入流(和Reader)和输出流(和Writer)进行。这些流可用于从文件、网络、标准输入/输出等获取或写入数据。例子包括等。

2023-09-25 16:28:18 75 1

原创 java常用类库API

Java 的标准类库(Java Standard API)提供了丰富的功能和工具,用于开发各种类型的应用程序。java.lang包:提供了 Java 语言的核心类和基本功能,如字符串处理、异常处理、多线程等。StringMathObjectException等。java.util包:提供了各种实用工具类和数据结构,如集合类、日期时间处理、随机数生成等。ArrayListHashMapDateRandom等。java.io包:提供了输入输出操作相关的类,用于文件和流的读写。FileReaderWriter等。

2023-09-24 20:09:37 56 1

原创 java中的异常处理机制

异常是阻止当前方法或作用域继续执行的问题,在程序中导致程序中断运行的一些指令在Java中,异常分为三种类型:系统错误(Error)、编译时异常(Exception),以及运行时异常(下面是对这三种异常类型的详细说明:系统错误(ErrorError表示严重的问题,通常在程序无法恢复或无法继续执行时出现。Error通常由Java虚拟机(JVM)抛出,用于表示系统级别的错误,如内存溢出、虚拟机错误等。。编译时异常(Exception):编译时异常也称为受检异常(

2023-09-23 22:22:52 77 1

原创 java面向对象编程

在Java中可以使用以下的语句定义一个类:class 类名称{属性名称;返回值类型 方法名称(){}对象的定义: 一个类要想真正的进行操作,则必须依靠对象,对象的定义格式如下:类名称 对象名称 = new 类名称();按照以上的格式就可以产生对象了。如果要想访问类中的属性或方法(方法的定义),则可以依靠以下的语法形式:访问类中的属性: 对象.属性;调用类中的方法: 对象.方法()Java是一种面向对象的编程语言,它支持面向对象编程的核心概念和特性。

2023-09-23 15:38:13 42 1

原创 方法与数组

方法(又叫函数)就是一段特定功能的代码块。方法提高程序的复用性和可读性。方法是Java程序设计中的重要概念之一,它是一种代码复用的方式。方法使得我们可以将一组特定任务打包成一个可单独执行的代码块,这些代码块可以在程序的任何地方调用,从而避免了代码的重复编写和冗余。下面具体介绍一下为什么要有方法:提高代码的可读性和可维护性:通过把功能分解到不同的方法中,可以更容易地理解和维护代码。如果一个方法不起作用,只需要检查该方法本身,而不用去检查整个程序。

2023-09-22 16:11:25 30

原创 java基础语法

Java是一种面向对象的编程语言,具有简单、健壮、安全和可移植等特点。下面是对Java基础语法的总结:类与对象:使用关键字class定义类,类由属性(成员变量)和方法组成。使用new关键字创建对象,对象是类的实例化。通过访问对象的属性和方法。数据类型:基本数据类型:整型(intshortlongbyte)、浮点型(floatdouble)、字符型(char)、布尔型(boolean引用数据类型:类、接口、数组。变量与常量:使用关键字var或指定数据类型来声明变量。使用final。

2023-09-21 15:51:24 26

原创 java第一个程序HelloWorld

Java运行HelloWorld程序的详细流程:编写代码:首先,你需要编写HelloWorld程序的源代码。在这个例子中,你已经提供了一个简单的HelloWorld类,其中包含一个main方法。在该方法中,使用System.out.println打印出"Hello World!编译代码:使用Java编译器(javac)将源代码编译成字节码文件。在命令行中执行以下命令:如果编译成功,将会生成一个名为HelloWorld.class的字节码文件。

2023-09-21 10:27:43 60

原创 Java学习路线

参考B站大神-kuangshen笔记书写,从入门到入土。

2023-09-20 18:53:00 30 2

空空如也

空空如也

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

TA关注的人

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