自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 更新更新更新!!!

前几个月忙着学习项目、打比赛和期末考试,一些博文只从语雀上更新了,没有从CSDN上及时更新,现在开始慢慢恢复更新!最近先把一些语雀上写的比较完善的博文搬运到CSDN,后续慢慢记录学习笔记。对语雀博文感兴趣的同学可以直接搜AchooYo,与CSDN同名。

2024-08-04 01:50:45 142

原创 MySQL 执行流程是怎样的?

更新语句执行流程如下:分析器---->权限校验---->执行器--->引擎---redo log(prepare 状态)--->binlog--->redo log(commit 状态)执行一条 SQL 查询语句,期间发生了什么?

2024-10-17 18:04:57 292

原创 基于Redis实现的分布式锁

利用set nx ex获取锁,并设置过期时间,保存线程标示释放锁时先判断线程标示是否与自己一致,一致则删除锁特性:利用set nx满足互斥性利用set ex保证故障时锁依然能释放,避免死锁,提高安全性利用Redis集群保证高可用和高并发特性。

2024-09-11 00:42:07 994 1

原创 缓存穿透、缓存雪崩、缓存击穿

缓存穿透产生的原因是什么?

2024-09-11 00:39:17 692

原创 MySQL-存储引擎

存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是 基于库的,所以存储引擎也可被称为表类型。我们可以在创建表的时候,来指定选择的存储引擎,如果 没有指定将自动选择默认的存储引擎。1). 建表时指定存储引擎1 CREATE TABLE 表名 (2 字段1 字段1类型 [ COMMENT 字段1注释 ] ,3 ......4 字段n 字段n类型 [COMMENT 字段n注释 ]5 ) ENGINE = INNODB [ COMMENT 表注释 ];

2024-09-05 15:40:49 1224

原创 MySQL-事务

事务 是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。就比如: 张三给李四转账1000块钱,张三银行账户的钱减少1000,而李四银行账户的钱要增加1000。这一组操作就必须在一个事务的范围内,要么都成功,要么都失败。正常情况: 转账这个操作, 需要分为以下这么三步来完成 , 三步完成之后, 张三减少1000, 而李四增加1000, 转账成功 :

2024-09-02 14:34:14 934

原创 lc128.最长连续序列

但仔细分析这个过程,我们会发现其中执行了很多不必要的枚举,如果已知有一个 x,x+1,x+2,⋯,x+y 的连续序列,而我们却重新从 x+1,x+2 或者是 x+y 处开始尝试匹配,那么得到的结果肯定不会优于枚举 x 为起点的答案,因此我们在外层循环的时候碰到这种情况跳过即可。根据上述分析可知,总时间复杂度为 O(n),符合题目要求。对于匹配的过程,暴力的方法是 O(n) 遍历数组去看是否存在这个数,但其实更高效的方法是用一个哈希表存储数组中的数,这样查看一个数是否存在即能优化至 O(1) 的时间复杂度。

2024-08-08 17:21:41 368

原创 lc209. 长度最小的子数组

在暴力解法中,是一个for循环滑动窗口的起始位置,一个for循环为滑动窗口的终止位置,用两个for循环 完成了一个不断搜索区间的过程。窗口的起始位置如何移动:如果当前窗口的值大于等于s了,窗口就要向前移动了(也就是该缩小了)。窗口的结束位置如何移动:窗口的结束位置就是遍历数组的指针,也就是for循环里的索引。首先要思考 如果用一个for循环,那么应该表示 滑动窗口的起始位置,还是终止位置。如果只用一个for循环来表示 滑动窗口的起始位置,那么如何遍历剩下的终止位置?的长度最小的 子数组。

2024-08-07 00:33:49 303

原创 计算机网络总结

以上问题都可以被HTTPDNS方案解决,HTTPDNS服务器可以自由掌控缓存更新速度,HTTPDNS放弃DNS协议而是使用HTTP协议使得用户只需一次http请求即可完成域名解析,HTTPDNS服务器由于直接获取了用户的源IP所以可以实现精准的流量调度。:SSL 即Secure Sockets Layer(安全套接层),由网景公司1994年开发的安全协议,处于OSI五层(会话层),TLS·即Transport Layer Security(传输层安全),它是SSL的3.1版本。403——禁止访问。

2024-08-04 01:52:31 2188 5

原创 SpringBoot程序的核心功能及优点

本篇博客主要记录SpringBoot程序的核心功能及优点:起步依赖starter、自动配置、辅助功能(内置web服务器)

2024-03-16 15:00:40 1076

原创 Linux常用命令

`/`,根目录是最顶级的目录了- Linux只有一个顶级目录:`/`- 路径描述的层次关系同样适用`/`来表示- /home/wxy/test.txt,表示根目录下的home文件夹内有wxy文件夹,内有test.txt

2024-03-16 11:45:24 843

原创 MyBatisPlus

MyBatisPlus主要是对MyBatis的简化,先体会下它简化在哪,然后再学习它是什么,以及它帮我们都做哪些事。==MyBatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,==它是在MyBatis的基础上进行开发的,我们虽然使用MP但是底层依然是MyBatis的东西,也就是说我们也可以在MP中写MyBatis的内容,其旨在简化开发、提高效率此处介绍一下MP的特性:无侵入:只做增强不做改变,不会对现有工程产生影响。

2024-03-10 01:44:42 2061 1

原创 Lc11. 盛最多水的容器

针对长板:由于min取决于短板长度,所以向内移动长板的话,min只会减小或者不变,s = min * (j-i-1) 所以一定减小。针对短板:由于min取决于短板长度,所以向内移动短板,min有可能增大,s = min * (j-i-1) 有可能增大。所以只需要一直将两块板子中的短板向内移动,直到相遇,所记录最大值即为水池最大面积。轴共同构成的容器可以容纳最多的水。找出其中的两条线,使得它们与。返回容器可以储存的最大水量。定义两个指针分别指向两块板子。

2024-03-08 20:58:10 385

原创 SpringBoot初步学习

SpringBoot其设计目的是用来简化Spring应用的初始搭建以及开发过程。SpringBoot主要作用是什么,就是简化Spring的初始搭建过程和开发过程。原始Spring环境搭建和开发存在以下问题:配置繁琐依赖设置繁琐SpringBoot程序优点恰巧就是针对Spring的缺点自动配置。这个是用来解决Spring程序config配置繁琐的问题起步依赖。这个是用来解决Spring程序依赖设置繁琐的问题辅助功能(内置服务器,…)。我们在启动SpringBoot程序时既没有使用本地的tomcat。

2024-03-07 15:53:52 1012

原创 LeetCode 560 和为K的子数组

由sum[right] - sum[left] == k(后 - 前)得知判断hashmap里是否存在sum[i] - k,累加其出现的次数;以及特判一下当前的sum[i]是否 == k。给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数。子数组是数组中元素的连续非空序列。利用hashmap存储前缀和与其出现的次数。最后将sum[i]存进hashmap中。

2024-03-07 00:06:36 410

原创 SpringMVC总结

SpringMVC是隶属于Spring框架的一部分,主要是用来进行Web开发,是对Servlet进行了封装。对于SpringMVC我们主要学习如下内容:SpringMVC简介请求与响应REST风格SSM整合(注解版)拦截器SpringMVC是处理Web层/表现层的框架,所以其主要的作用就是用来接收前端发过来的请求和数据然后经过处理并将处理的结果响应给前端,所以如何处理请求和响应是SpringMVC中非常重要的一块内容。REST是一种软件架构风格,可以降低开发的复杂性,提高系统的可伸缩性,后期的应用也是非常广

2024-03-03 15:18:13 1953

原创 Lc142 环形链表Ⅱ

1.判断链表是否成环-- 定义快慢指针,一个每次走两步,一个每次走一步,相对就是多走一步,所以一定会相遇。= null 时对两指针进行移动,若一直到slow与fast相遇(此时一定在环中)从而证明有环,如果 fast == null || fast.next == null 直接跳出循环,则没环。此时fast == slow 在A点相遇,根据fast速度为slow两倍,即路程也为两倍,则有。

2024-03-02 14:00:05 427

原创 Spring总结

BeanFactory是IoC容器的顶层接口,初始化BeanFactory对象时,加载的bean延迟加载ApplicationContext接口是Spring容器的核心接口,初始化时bean立即加载ApplicationContext接口提供基础的bean操作相关方法,通过其他接口扩展其功能ApplicationContext接口常用初始化类ClassPathXmlApplicationContext(常用)我们来学一学Spring是如何通过注解实现bean的定义开发配置@Component注解。

2023-12-08 14:59:49 69

原创 Filter&Listener&Ajax

Filter 表示过滤器,是 JavaWeb 三大组件(Servlet、Filter、Listener)之一。Servlet 我们之前都已经学习过了,Filter和Listener 我们今天都会进行学习。过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能。如下图所示,浏览器可以访问服务器上的所有的资源(servlet、jsp、html等)而在访问到这些资源之前可以使过滤器拦截来下,也就是说在访问资源之前会先经过 Filter,如下图拦截器拦截到后可以做什么功能呢?

2023-12-05 22:11:55 58

原创 会话技术-Cookie&Session

对于会话跟踪这四个词,我们需要拆开来进行解释,首先要理解什么是会话,然后再去理解什么是会话跟踪会话:用户打开浏览器,访问web服务器的资源,会话建立,直到有一方断开连接,会话结束。在一次会话中可以包含多次请求和响应。从浏览器发出请求到服务端响应数据给前端之后,一次会话(在浏览器和服务器之间)就被建立了会话被建立后,如果浏览器或服务端都没有被关闭,则会话就会持续建立着浏览器和服务器就可以继续使用该会话进行请求发送和响应,上述的整个过程就被称之为会话。

2023-12-05 22:10:49 54

原创 JSP基础

<head></head><body><%%></body>

2023-12-05 22:09:21 54

原创 Request & Response

Request是请求对象,Response是响应对象。这两个对象在我们使用Servlet的时候有看到:此时,我们就需要思考一个问题request和response这两个参数的作用是什么?request:获取请求数据浏览器会发送HTTP请求到后台服务器[Tomcat]HTTP的请求中会包含很多请求数据[请求行+请求头+请求体]后台服务器[Tomcat]会对HTTP请求中的数据进行解析并把解析结果存入到一个对象中。

2023-12-02 13:45:10 61

原创 HTTP&Tomcat&Servlet

Web是全球广域网,也称为万维网(www),能够通过浏览器访问的网站。我们知道了什么是Web,那么JavaWeb又是什么呢?顾名思义JavaWeb就是用Java技术来解决相关web互联网领域的技术栈。HTTP概念HyperText Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。数据传输的规则指的是请求数据和响应数据需要按照指定的格式进行传输。所以学习HTTP主要就是学习请求和响应数据的具体格式内容。HTTP协议特点基于TCP协议: 面向连接,安全。

2023-12-02 13:41:11 50

原创 Git基础教程

现在比较流行的版本管理工具是git ,但是实际上git 是近几年才发展起来的,可能有一些老的项目,还在用一些老的软件,比如svn上述我们的操作 使用的 是客户端TortoiseGit 操作的git ,实际上底层依旧是使用的命令行帮我们执行, 在早期 git 并没有窗口化工具,开发人员只能使用命令行模式实际上,如果你掌握并熟练使用了命令行模式操作git 的话,你会发现某些操作命令行比窗口化操作要简单所有你在工作中会发现高深的技术人员可能会喜欢命令行模式提交git。

2023-11-25 19:15:05 702

原创 Maven-依赖管理项目构建工具

①jar 包的规模随着我们使用越来越多的框架,或者框架封装程度越来越高,项目中使用的jar包也越来越多。项目中,一个模块里面用到上百个jar包是非常正常的。Nacos 服务注册发现Web 框架环境视图模板技术 Thymeleaf最终却导入了 106 个 jar 包:...而如果使用 Maven 来引入这些 jar 包只需要配置三个『依赖-- Nacos 服务注册发现启动器 -->-- web启动器依赖 -->-- 视图模板技术 thymeleaf -->②jar包的来源问题。

2023-11-25 15:50:55 1191

原创 JavaScript

JavaScript 是一门跨平台、面向对象的脚本语言,而Java语言也是跨平台的、面向对象的语言,只不过Java是编译语言,是需要编译成字节码文件才能运行的;JavaScript是脚本语言,不需要编译,由浏览器直接解析并执行。JavaScript 是用来控制网页行为的,它能使网页可交互;那么它可以做什么呢?如改变页面内容、修改指定元素的属性值、对表单进行校验等。JavaScript 和 Java 是完全不同的语言,不论是概念还是设计,只是名字比较像而已。但是基础语法类似。方式1。

2023-11-20 11:40:02 121

原创 Mybatis

MyBatis 是一款优秀的持久层框架,用于简化 JDBC 开发MyBatis 本是 Apache 的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis。2013年11月迁移到Githubmybatis – MyBatis 3 | 简介负责将数据到保存到数据库的那一层代码。以后开发我们会将操作数据库的Java代码作为持久层。而Mybatis就是对jdbc代码进行了封装。

2023-11-12 21:57:48 49

原创 JDBC基本使用

在开发中我们使用的是java语言,那么势必要通过java语言操作数据库中的数据。这就是接下来要学习的JDBC。Statement对象的作用就是用来执行SQL语句。而针对不同类型的SQL语句使用的方法也不一样。执行DDL、DML语句执行DQL语句该方法涉及到了 ResultSet 对象,而这个对象我们还没有学习,一会再重点讲解。封装了SQL查询语句的结果。

2023-10-28 15:09:09 47

原创 MySQL数据库进阶

外键用来让两个表的数据之间建立链接,保证数据的一致性和完整性。如何理解上面的概念呢?现有两张表,员工表和部门表:员工表中的dep_id字段是部门表的id字段关联,也就是说1号学生张三属于1号部门研发部的员工。现在我要删除1号部门,就会出现错误的数据(员工表中属于1号部门的数据)。而我们上面说的两张表的关系只是我们认为它们有关系,此时需要通过外键让这两张表产生数据库层面的关系,这样你要删除部门表中的1号部门的数据将无法删除。软件的研发步骤数据库设计概念。

2023-10-25 22:26:19 41

原创 MySQL数据库初级

了解了数据模型后,接下来我们就学习SQL语句,通过SQL语句对数据库、表、数据进行增删改查操作。英文:Structured Query Language,简称 SQL结构化查询语言,一门操作关系型数据库的编程语言定义操作所有关系型数据库的统一标准对于同一个需求,每一种数据库操作的方式可能会存在一些不一样的地方,我们称为“方言”Navicat for MySQL 是管理和开发 MySQL 或 MariaDB 的理想解决方案。

2023-10-23 11:21:25 63

原创 单元测试、反射、注解、动态代理

Java - 单元测试、反射、注解、动态代理

2023-10-12 22:27:57 53 1

原创 Java - 网络通信

网络编程可以让设备中的程序与网络上其他设备中的程序进行数据交互的(实现网络通信的)

2023-10-10 14:57:10 83 1

原创 Java - 多线程

多线程是指从软硬件上实现的多条执行流程的技术(多条线程由CPU负责调度执行)

2023-09-26 22:09:16 130 1

原创 Java-特殊文件、日志技术

主要介绍了.properties属性文件、.xml文件以及日志技术

2023-09-25 16:03:43 65 1

原创 Java - File、IO流

File是java.io.包下的类,File类的对象,用于代表当前操作系统的文件(可以是文件、也可以是文件夹);IO流是用来读写数据的(硬盘文件、网络...)

2023-09-24 18:15:01 117 1

原创 Java-Stream流

Stream也叫Stream流,是JDK8开始新增的一套API(Java.util.stream.*),可以用于操作集合或数组的数据

2023-09-19 14:50:09 51

原创 Java常见集合框架

本篇博客记录了Java中常见集合的使用。集合是一种容器,用来装数据的,类似于数组,但集合的大小可变,开发中也非常常用。

2023-09-14 21:02:41 76 2

原创 Java常用API汇总

全称应用程序编程接口,就是Java自己写好的程序,给程序员调用的,方便完成一些功能的。使用可查阅API文档。

2023-08-10 00:19:22 6239 1

原创 Java常见集合框架

Java常见集合框架的介绍和使用

2023-07-30 19:17:57 94 2

原创 Java面向对象汇总

1.泛型是工作在编译阶段的,在编写代码时就纠错,一旦编译成class文件,class文件中就不存在泛型了,这就是泛型擦除2.泛型不支持基本数据类型(但支持基本数据类型对应的包装类),只支持对象类型(引用数据类型)泛型接口是给实现类实现的,实现类实现泛型接口的时候可以申明一个数据类型,实现类重写的方法都是针对该类型的操作。类只会加载一次,类变量也只会随之加载一次,即只会创建一次对象,以确保一个类只有一个对象。==注意:==常量名的命名规范:建议使用大写英文单词,多个单词使用下划线连接。(继承、多态内容待补)

2023-07-24 17:29:35 463 2

空空如也

空空如也

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

TA关注的人

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