自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot基础 -- SpringSecurity

Spring Security是Spring项目组提供的安全服务框架,核心功能包 括认证和授权。它为系统提供了声明式安全访问控制功能,减少了 为系统安全而编写大量重复代码的工作。

2024-09-13 15:52:45 410 2

原创 SpringBoot基础 -- 高级特性

SpringBoot允许用户为应用程序自定义启动Banner。

2024-09-12 11:02:01 547

原创 SpringBoot基础 -- 框架介绍

SpringBoot开发目的是为了简化Spring应用的创建、运行、调试和部署等。使用Spring Boot可以做到专注于Spring应用的开发,而无需过多关注XML的配置。简单来说,它提供了一堆依赖打包,并已经按照使用习惯解决了依赖问题。使用Spring Boot可以不用或者只需要很少的Spring配置就可以让企业项目快速运行起来。

2024-09-11 16:43:33 3487

原创 MyBatis基础 -- 逆向工程

QBC查询最大的特点就是将SQL语句中的WHERE子句进行了组件化的封装,让我们可以通过调用Criteria对象的方法自由的拼装查询条件。在resources文件夹下创建一个generatorConfig.xml文件。注意:自己配置具体的信息,如数据库连接、包名、对应的表。

2024-09-10 16:40:29 401

原创 MyBatis入门 -- 缓存机制

一级缓存为SQLSession级别缓存。在执行数据查询时,需要构造SQLSession对象,并用于缓存数据。而一级缓存则是在同一个SQLSession中进行。当SQLSession首次执行时,数据库会将查询到的数据写入缓存中,第二次查询时则直接从该缓存中获取数据。一级缓存同时也是MyBatis默认缓存。一级缓存只针对同一个SQLSession。

2024-09-05 12:05:14 545

原创 MyBatis入门 – 动态SQL

前面我们得知,动态SQL语句是通过XML文件进行映射,因此不同的功能就需要使用不同的标签对应。以下是MyBatis常见的标签元素作用备注if判断语句单条件分支判断类似于switch语句多条件分支判断trim/where辅助元素处理一些SQL拼装问题foreach循环语句在in语句等列举条件常用bind辅助元素拼接参数。

2024-09-04 14:59:11 1461

原创 MyBatis入门 -- 基础操作

MyBatis本身基于Java持久层框架,并在内部封装JDBC。开发者只需关注SQL语句本身即可。MyBatis通过XML或注解的方式将要执行的各种 statement 配置起来,并通过 对象和 statement 中SQL的动态参数进行映射生成最终执行的SQL语句,最后由MyBatis框架执行SQL并将结果映射为 Java 对象并返回。

2024-09-02 11:09:23 555

原创 JavaWeb基础 -- SpringMVC拦截器

以下为通过实现HandleInterceptor接口为例@Override//做一些操作 方法返回类型为布尔值@Override//做一些操作@Override//做一些操作从定义过程来看,HandleInterceptor接口实现了三个方法,以下是对这三个方法的解释preHandle()方法:该方法会在Controller之前执行,返回值表示是否中断后续操作。返回true时执行后续操作,返回false时中断后续操作(包括调用下一个拦截器和控制器类中的方法执行等)。

2024-08-30 10:14:27 394

原创 JavaWeb基础 -- RESTful API

URI指向资源:URI即统一资源标志符,用于标识抽象或物理资源的一个紧凑字符串,其中包括URL和URN。在这里更多时候可能代指URL(统一资源定位符)。RESTful是面向资源的,每种资源可能由一个或多个URI对应,但一个URI只指向一种资源。无状态:服务器无法保存当前客户端信息,每一次从客户端发送请求,包含的状态信息以及回话等均由客户端保存。服务器根据这些状态信息处理请求。当客户端可以切换到一个新状态的时候发送请求信息, 当一个或者多个请求被发送之后, 客户端就处于一个状态变迁过程中。

2024-08-29 16:24:53 962

原创 JavaWeb基础 -- SpringMVC请求和响应

页面跳转回写数据。

2024-08-28 15:19:57 526

原创 JavaWeb基础 -- SpringMVC

Model模型:用于处理程序中数据逻辑部分。View视图:在应用程序中,专门与浏览器进行交互、展示数据的资源。Controller控制器:用于决定对于视图发送过来的请求需要使用哪个模型来处理,以及处理完毕后需要跳转至哪个视图。SpringMVC是将MVC思想进行实现,同时也是一个Web框架。在创建一个SpringBoot项目时,使用的就是SpringMVC框架。在Spring中MVC也进行改进,浏览器会直接将请求发送至Controller,随后再通过Controller的响应将视图返回至浏览器。

2024-08-27 10:37:54 586

原创 JavaWeb基础 -- Spring事务

在Spring中事务管理有以下三个接口PlatformTransactionManager:平台事务管理器,Spring 事务策略的核心。TransactionDefinition:事务定义信息(事务隔离级别、传播行为、超时、只读、回滚规则)。TransactionStatus:事务运行状态。Spring 的事务属性是用来设置事务管理器的行为特性,可以通过在方法上添加注解或 XML 配置文件中配置来定义事务属性。以下介绍Spring事务属性的一些常用选项。传播行为:在嵌套事务中如何控制事务传播。

2024-08-26 15:43:51 617

原创 JavaWeb基础 -- Spring框架、IOC、AOP

AOP即面向切面编程。其目的是将与业务无关但很多业务都需要调用的代码提取出来,其思想就是不侵入原有代码的同时对功能进行增强。AOP通过定义一个切面,该切面可以横切到应用程序的多个模块中,并添加增强的行为。这样就可以将通用的功能逻辑从业务逻辑中提取出来,提高代码可维护性。AOP由切点和通知组成切点定义的是在程序中的那个位置进行拦截,通常使用表达式来制定匹配的连接点。通知定义了要在切点执行的代码,可以在切点之前、之后或者周围执行特定的逻辑。

2024-08-23 15:03:47 373

原创 JavaWeb基础 -- Cookies与Session的区别

在Java开发面试过程中这类问题也是经常被面试官问到,因此本章将会讲解Cookies与Session的区别,与此同时也会顺带讲解Token、JWT的区别。

2024-08-23 09:21:55 323

原创 JavaWeb基础 -- Servlet

通过一个实际的创建流程了解Servlet是什么,怎么用。

2024-08-22 16:26:27 918

原创 Git入门 -- 分支

git merge一共有三种模式–ff自动合并:当合并的分支为当前分支的后代,会自动执行–ff,若不匹配则执行–no-ff合并。–no-ff非Fast-forward模式:在任何情况下都会创建新的commit多方合并(即使被合并的分支为自己的直接后代)。–ff-only:只会按照 Fast-forward 模式进行合并,如果不符合条件(并非当前分支的直接后代),则会拒绝合并请求并且退出。

2024-08-21 10:19:19 584

原创 Git入门 -- 区域详解

Git本地一共有三个区域,分别是工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)。如果在加上远程Git仓库(Remote Directory)则可以分为四个工作区域。Workspace:工作区,即平时开发存放项目代码的空间。Index/Stage:暂存区,用于临时存放改动的文件,实际上暂存区只是一个文件,保存即将提交的到文件列表信息,一般存放在.git目录下的index文件中。

2024-08-19 17:25:20 538

原创 数据库基础 -- 锁机制

锁本身用于处理并发场景下造成读写不一致。在数据库中,为保证数据的可靠性同样存在锁机制。数据库在处理并发读写时会通过和这两种类型的锁解决问题。

2024-08-19 15:52:17 446

原创 数据库基础 – 数据库事务

MVCC即多版本并发控制,其基础理论是乐观锁。通过对数据行的多个版本管理实现数据库的并发控制,读取数据的时候不需要加锁也可以保证事务的隔离效果,以此提高数据库并发性能。MySQL 中 InnoDB 采用了 MVCC 来实现“读已提交“和“可重复读”两个隔离级别。其他两个隔离级别和 MVCC 不兼容,因为“读未提交”总是读取最新的数据行,不需要进行版本控制,而“串行化”则会对所有读取的行加锁。

2024-08-13 16:49:00 939

原创 数据库基础 -- 数据库约束

主键约束(Primary Key Constraint) 是一个列或多个列的组合,其值能唯一标识表中的每一条记录,方便在关系型数据库中快速查找某一行数据。主键约束不允许列中出现重复值和空值,创建主键约束时,系统会默认在所在列和列组合上建立对应的唯一索引。外键约束定义的是表之间的关系。当一个表中的一个列或多个类的组合和其他表中的主关键字定义相同,就可以把这些列或列的组合定义为外关键字。

2024-08-01 17:12:32 467

原创 Java基础巩固 -- 线程同步

在一些情况下,可能会存在多个线程操作一个或多个公共资源。基本步骤是从JVM内存中读取数据,并进行修改,修改完成后重新写回内存。但如果有多个线程存在时,由于线程之间运行的关系,可能导致某一线程处理完的数据被其他线程更改产生脏数据,因此需要通过线程同步的方法解决此类问题。

2024-07-31 16:13:08 466

原创 Java基础巩固 -- 多线程

Java通过三种方式可以实现多线程,分别是继承Thread类、实现Runnable接口以及通过通过 Callable 和 Future 创建线程。而前面两种是目前主流的实现方式。

2024-07-29 17:53:43 378

原创 Java基础巩固 -- 抽象类、抽象方法

Java面向对象的概念中,所有对象都是通过类来描述,而所有的类不一定可以描述对象。当一个类中没有包含足够信息描述具体对象时,这个类就是抽象类。由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定要不要设计抽象类。

2024-07-29 15:23:06 278

原创 Java基础巩固 -- 修饰符

Java定义了一些非访问修饰符用于拓展其他功能。static:用于修饰类方法和类变量final:用于修饰类、方法和变量,final修饰的类不能够被继承,修饰的方法不能被继承类重新定义。修饰的变量为常量,无法被修改。-abstract:用于创建抽象类和抽象方法。synchronized/volatile:用于线程。抽象类:抽象类不能实例化,声明抽象类的唯一目的是为了将来对该类进行功能扩展。一个类不能同时被abstract和final修饰。如果一个类包含抽象方法,则该类一定要声明为抽象类。

2024-07-25 18:07:58 847

原创 Java基础巩固 -- 面向对象

简介:博主本人由于在毕业前忙于找工作,因此选择了Java后端开发,但学习过程比较碎片化,并没有进行系统性学习。本章博客将会系统性重温Java的一些基础知识和概念。

2024-07-23 17:36:55 616

原创 计算机网络入门 -- TCP详解

1.32位序号:该条TCP数据携带的起始序号。2.32位确认序号:期望对方发送数据从那个序号开始发送。3.4位首部长度:最大为0xF(15),指的是TCP头部长度。首部长度4位首部长度DEC∗45.16位窗口大小:告知消息发送方,自己对消息的接收能力为多少,该值是动态变化的。6.16位校验和:校验数据在传输过程中是否失真。7.16位紧急指针:配合URG标志位发送带外数据。8.MSS:最大报文段长度。

2024-07-20 21:07:49 1095

原创 计算机网络入门 -- 常用网络协议

计算机网络细分可以划为七层模型,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。而上三层可以划为应用层中。

2024-07-19 22:01:31 3489

原创 计算机网路入门 -- 网络性能指标

速率即数据率或数据传输率。其描述了连接在网络上的主机在数字信道上传送数据位数的速率,单位为b/s,kb/s,Mb/s等。

2024-07-17 21:36:59 520

原创 计算机网络入门 --网络模型

OSI七层模型是将计算机网络通信协议划分为七个不同层次的标准化框架,每一层都负责不同功能,并从物理连接层开始处理。OSI七层网络模型如下分别为:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。接下来将介绍各个模型的性质。

2024-07-16 21:28:44 995

原创 计算机网络入门

计算机网络是将一个分散的、具有独立功能的计算机系统通过通信设备与线路等连接起来,由功能完善的软件实现资源共享和信息传递的系统。

2024-07-15 15:46:11 794

原创 操作系统入门 -- 设备管理

电脑本身可以外接多个输入输出设备,如键盘、鼠标、显示器等。由于这些设备的功能和特性不同,但是又需要由操作系统同一管理。为了屏蔽每个设备之间的差异,引入了设备控制器。设备控制器是CPU与其他外围硬件进行通信和操作的工具。其大致可以分为状态寄存器、命令寄存器和数据寄存器。

2024-07-14 11:33:23 952

原创 操作系统入门 -- 磁盘管理

表盘有一些磁性物质组成的盘片,可以利用这些磁性物质存储二进制数据。

2024-07-01 11:30:20 1574

原创 操作系统入门 -- 文件管理

目前,计算机内存的容量依然有限,并且其特性决定了数据无法长时间保存,因此把执行的数据以文件形式保存在外存中,等到需要使用时再调入内存。所以,操作系统中需要增加一个文件管理系统用于对文件的保存、读取保护、共享等功能。

2024-06-28 15:38:14 1444

原创 操作系统入门 -- 内存管理

交换主要是不同进程之间,而覆盖则是在同一程序或进程中。目前操作系统主流采用内存交换技术。从内存种类再到内存的管理方式,本文并未深入介绍,只是了解了基本的工作原理,未来将持续更新。

2024-06-26 11:21:56 1001

原创 操作系统入门 -- 死锁

在两个或多个并发进程中,如果每个进程都持有某种资源,并且正在等待其他进程释放它或进程都保持资源,在当前状态下无法推进。通俗来说就是两个或多个进程进入无限期阻塞、互相等待状态。

2024-06-24 17:00:07 571

原创 操作系统入门 -- 进程的通信方式

进程通信就是在不同进程之间交换信息。在之前文章中可以了解到,进程之间相互独立,一般不可能互相访问。因此进程之间若需要通信,则需要一个所有进程都认可的共享空间,而这个空间就是内存区以及系统空间。总的来说,进程通信就是一组编程接口,可以让开发人员协调不同进程,使之能在一个操作系统里同时运行,并相互传递、交换信息。

2024-06-21 17:21:45 559

原创 操作系统入门 -- 进程的同步与互斥

在之前的文章中,我们了解了进程是如何被调度的。但在调度之前,进程需要获得资源。而获得这些资源则可能让进程之间陷入冲突。为了高效且平等地调度线程,需要引入同步功能。

2024-06-19 16:56:00 723

原创 操作系统入门 -- CPU调度算法

以下是各个算法的比较调度算法占用CPU方式吞吐量响应时间开销对进程影响饥饿问题FCFS非抢占不强调可能很慢,尤其进程执行时间差别很大时最小短进程不利;I/O进程不利无RR抢占(时间片用完)时间片很小时吞吐量很低为短进程提供很好响应时间最小公平对待无SJF非抢占高为短进程提供很好响应时间可能较大对长进程不利可能SRTN抢占(到达时)高提供很好响应时间可能较大对长进程不利可能HRRN非抢占高提供很好响应时间可能较大很好的平衡无。

2024-06-17 15:42:50 1229

原创 操作系统入门 -- 进程管理

狭义:进程是一段程序的执行过程广义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。

2024-06-13 17:45:36 809

原创 操作系统入门

内核是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。简单来说,内核是将对计算机硬件操作的代码进行封装,并提供不同的接口以供上层系统或程序使用。

2024-06-11 17:45:37 432

空空如也

空空如也

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

TA关注的人

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