自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringCloud——Nacos注册中心、OpenFeign

OpenFeign是一个声明式的http客户端,是SpringCloud在Eureka公司开源的Feign基础上改造而来的。OpenFeign只会在FeignClient所在包的日志级别为DEBUG时,才会输出日志。而且其日志级别有4级:​。HEADERS:在BASIC的基础上,额外记录了请求和响应的头信息​。FULL:记录所有请求和响应的明细,包括头信息、请求体、元数据。为减少代码重复,提高代码复用性,将请求访问的代码抽离,新建模块。BASIC:仅记录请求的方法,URL以及响应状态码和执行时间​。

2025-06-03 16:35:05 308 1

原创 SpringCloud——Docker

设置镜像名称,Docker会根据这个名字搜索并下载镜像,REPOSITORY:TAG,例如mysql:8.0,其中REPOSITORY可以理解为镜像名,TAG是版本号。2、容器内端口往往是由容器内的进程决定,例如MySQL进程默认端口是3306,因此容器内端口一定是3306;而宿主机端口则可以任意指定,一般与容器内保持一致。但是可以将宿主机端口映射容器内到端口,当访问宿主机指定端口时,就是在访问容器内的端口了。配置容器内进程运行时的一些参数,-e KEY=VALUE,KEY和VALUE都由容器内进程决定。

2025-05-30 10:26:13 797

原创 SpringCloud——MybatisPlus

利用MyBatisPlus的Wrapper来构建复杂的where条件,然后自己定义SQL语句中剩下的部分@Override.eq(status!@Override//通过id查找用户throw new RuntimeException("扣减失败,用户不存在");//判断用户状态throw new RuntimeException("扣减失败,用户被冻结");//判断账户余额throw new RuntimeException("扣减失败,余额不足");

2025-05-23 17:14:24 792

原创 JavaWeb——事务管理、AOP

Aspect Oriented Programming(面向切面编程、面向方面编程),其实就是面向特定方法编程。private,仅能在当前切面类中引用该表达式,public,在其他外部的切面类中也可以引用该表达式。切入点:PointCut,匹配连接点的条件,通知仅会在切入点方法执行时被应用。当有多个切面的切入点都匹配到目标方法,目标方法运行时,多个通知方法都会被执行。当一个事务方法被另一个事务方法调用时,这个事物方法应该如何进行事物控制。切面:Aspect,描述通知与切入点的对应关系(通知+切入点)

2025-03-28 22:03:57 458

原创 JavaWeb——文件存储、配置文件、登录校验、异常处理

文件上传,是指将本地图片、视频、音频等文件上传到服务器,供其他用户浏览或下载的过程。

2025-03-27 15:23:51 508

原创 Mybatis——基础操作、动态SQL

目录一.基础操作1.删除2.新增3.更新4.查询5.XML映射文件二、动态SQL1.<if>2.<where>3.<set>4.<foreach>5.<sql>6.<include>参数占位符:注意: #{...}相比于${...}具有性能高、防止SQL注入的优势普通查询:条件查询:注意:#{...}不能放在' '当中,使用${..,},会发生SQL注入,解决办法是使用contact()函数数据封装: 实例:二、动态SQL1.<if>用于判断条件是否成立。使用test属性进行条件判断,如果条件

2025-03-15 20:58:18 422

原创 JavaWeb——Mybatis、JDBC、数据库连接池、lombok

数据库连接词是个容器,负责分配、管理数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个,释放空闲时间超过最大空闲时间的连接,来避免因为没有释放连接而引起的数据库连接遗漏Lombok是一个实用的Java类库,能通过注解的形式自动生成构造器、getter/setter、equals、hashcode、toString等方法,并可以自动化生成日志变量,简化java开发、提高效率。

2025-03-11 21:07:24 492

原创 MySQL——多表查询、事务、索引

事务是一组操作集合,它是一个不可分割的工作单位。事务会把所有的操作作为一个整体一起向系统提交或撤销请求操作,即这些操作要么同时成功,要么同时失败默认MySQL的事务是自动提交的,也就是说,当执行一条DML语句,MySQL会立即隐式的提交事务索引是帮助数据库高效获取数据的数据结构。

2025-03-07 15:54:28 365

原创 MySQL——DQL、多表设计

1.执行时机不同:where是分组之前进行的过滤,不满足where条件,不参与分组;2.统计数量可以使用:count(*) count(字段) count(常量),推荐使用count(*)2.分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT。3.如果查询的是第一页数据,起始索引可以省略,直接写成limit 10。在任意一方加入外键,关联另一方的主键,并且设置外键为唯一的。在数据库表中多的一方,添加字段,来关联一的一方的主键。将一列数据作为一个整体,进行纵向计算。

2025-03-04 20:27:43 545

原创 MySQL——DDL、DML

2. DELETE语句不能删除某一个字段的值(如果要操作,可以使用UPDATE,将该字段的值置为NULL)。约束是作用于表中字段上的规则,用于限制存储在表中的数据,保证数据库中数据的准确性、有效性、完整性。char(10)表示最多能存10个字符,不足10个字符,占用10个字符空间(性能高、浪费空间)1.DELETE语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据。修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。3.插入的数据大小,应该在字段的规定范围内。

2025-03-03 11:20:03 619

原创 JavaWeb——请求响应、分层解耦

前面声明bean的四大注解,要想生效,还需要被组件扫描注解@ComponentScan扫描,在SpringBoot项目当中@ComponentScan注解虽然没有显式配置,但是实际上已经包含在了启动类声明注解@SpringBootApplication中,默认的扫描的范围是启动类所在包极其子包。ResponseBody是方法注解、类注解,放在Controller方法上/类上,作用是将方法返回值直接响应,如果返回值类型是实体对象/集合,将会转换诚JSON格式响应。

2024-12-11 20:07:45 760 1

原创 JAVAWeb——maven、SpringBoot、HTTP、Tomcat

Maven是apache旗下的一个开源项目,是一款用于管理和构建java项目的工具Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间的数据传输的规则1.基于TCP协议:面向连接,安全2.基于请求-响应模型的:一次请求对应一次响应3.HTTP协议是无状态的协议:对于事物处理没有记忆能力。每次请求-响应都是独立的优点:速度快缺点:多次请求间不能数据共享。

2024-12-04 16:59:02 1883

原创 JavaWeb——Ajax、Element、打包部署

Asynchronous JavaScript And XML,异步的JavaScript和XML,通过Ajax可以给服务器发送请求,并获取服务器响应的数据。可以在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术繁琐,目前不使用,目前使用Axios。

2024-11-25 12:36:41 1065

原创 JavaWeb——JS、Vue

Vue是一套前端框架,免除原生JS中的DOM操作,简化书写;基于MVVM思想,实现数据双向绑定,将编程的关注点放在数据上。

2024-11-18 22:07:30 1048

原创 JavaWeb——HTML、CSS

HTML是超文本标记语言(HyperTextMarkupLanguage)的缩写。它用于创建和设计网页的结构和内容。通过HTML,开发者可以在网页中嵌入文本、图像、链接、表格等元素。HTML是一种标记语言,使用标签(tags)来定义不同类型的元素。CSS 是一种描述 HTML 文档样式的语言。CSS 描述应该如何显示 HTML 元素。

2024-11-14 09:18:45 1052

原创 JAVA——反射

反射允许对成员方法,成员变量和构造方法的信息进行编程访问。

2024-11-06 21:28:53 954 1

原创 JAVA——网络编程

网络编程是指网络上的主机,通过不同的进程,以编程的方式实现网络通信(或称为网络数据传输)。这些程序可以进行数据的发送和接收,实现不同计算机系统之间的通信。表示Internet协议(IP)地址TCP通信协议是一种可靠的网络协议,它在通信的两端各建立一个Sock对象通信之间要保证连接已经建立,通过Sock产生的IO流来进行网络通信。

2024-11-01 19:29:49 1150

原创 JAVA——多线程

线程(Thread)是一个程序内部的一条执行流程。程序如果有一条执行流程,就是单线程程序。多线程是指从软硬件上实现的多条执行流程的技术(多条线程由 CPU 负责调度执行)。多个线程,同时操作同一个共享资源的时候,可能会出现业务安全问题。将操作共享数据的代码锁起来(实现在并发执行过程中,同一时刻只有一个线程能访问程序)同步方法是指使用synchronized关键字修饰的方法通过它创建出锁对象进行加锁和解锁Lock是接口,不能直接实例化,可以采用其他实现类ReentrantLock构建Lock锁对象。

2024-10-31 09:03:15 743

原创 JAVA——IO流(2)

是字符流和字节流之间的桥梁转换流java.io.InputStreamReader,是Reader的子类,是从字节流到字符流的桥梁。它读取字节,并使用指定的字符集将其解码为字符。它的字符集可以由名称指定,也可以接受平台的默认字符集。转换流java.io.OutputStreamWriter ,是Writer的子类,是从字符流到字节流的桥梁。使用指定的字符集将字符编码为字节。它的字符集可以由名称指定,也可以接受平台的默认字符集。Java 提供了一种对象序列化的机制。

2024-10-23 22:00:05 859

原创 JAVA——IO流(1)

存储和读取数据的解决方案,用于读写文件,或网络中的数据。

2024-10-17 09:50:41 874

原创 JAVA——File类

File对象就表示一个路径,可以是文件的路径、也可以是文件夹的路径,这个路径可以是存在的,也允许是不存在的1.创建成功返回true,创建失败返回false2.如果父级路径不存在,方法会抛出IOException3.createNewFile方法创建的一定是文件,如果路径中不包含后缀名,则创建一个没有后缀的文件。

2024-10-12 22:05:10 1100

原创 JAVA——异常

1.定义异常类2.写继承关系3.空参构造4.带参构造。

2024-10-11 20:06:44 396

原创 JAVA——方法引用

把已经有的方法拿过来用,当做函数式接口中抽象方法的方法体。

2024-10-10 19:03:50 190

原创 Java——Stream流

在Java中,Stream流是一种用于处理数据的抽象概念。它可以用来操作集合、数组、输入/输出资源等,提供了一种统一的处理方式。在Java 8中引入了Stream API,它可以让开发者更方便地处理数据集合,以函数式编程的方式进行操作。Stream流支持多种操作,可以分为两类:中间操作和终端操作。中间操作是指在数据流中进行处理,可以用来过滤、映射、排序等操作。常用的中间操作有:filter、map、sorted等。终端操作是指对数据流进行最终的处理,可以用来收集、计数、求和等操作。

2024-10-09 20:03:08 432

原创 JAVA工具类——Collections

可变参数(varargs)是一种方便的方法参数特性,它允许你在调用方法时传递任意数量的参数。可变参数在方法声明中使用省略号(...)表示,并且必须是方法参数列表中的最后一个参数。Collections提供了一系列静态方法,专门用于操作和处理各种集合类型,这涵盖了List、Set、Map等常见集合。

2024-09-28 16:46:36 415

原创 Map集合——HashMap集合、LinkedHashMap集合、TreeMap集合

Map是双列集合的顶层接口,它的功能是全部双列集合都可以继承使用的1.HashMap是Map里面的一个实现类2.特点都是由键决定的:无序、不重复、无索引3.HashMap跟HashSet底层原理是一模一样的,都是哈希表结构LinkedHashMap是Java中的一个类,它继承自HashMap,实现了Map接口。它的特点是维护了一个双向链表,记录了插入元素的顺序,因此支持按插入顺序或访问顺序(可选)进行迭代。TreeMap是Java中的一种基于红黑树实现的映射表,按键的自然顺序或指定的比较器排序。

2024-09-27 18:21:58 730

原创 Set集合——HashSet集合、LinkedHashSet集合、TreeSet集合、集合的选择

跟HashSet相比,LinkedHashSet可以保证存储和取出地元素顺序一致TreeSet可以按照可以按照元素地默认规则(由小到大)排序TreeSet集合底层是基于红黑树数据结构实现排序的,增删改查性能都很好。

2024-09-23 21:47:48 646

原创 数据结构——红黑树

红黑树是一种特化的二叉查找树,它在每个节点上增加了一个存储位来表示节点的颜色,颜色只能是红色或黑色。

2024-09-22 22:01:39 354

原创 数据结构——平衡二叉数旋转

从添加的节点开始,不断地往父节点找不平衡的节点1.以不平衡的点作为支点2.把支点左旋降级,变成左子节点3.晋升原来的右子节点2.旋转根节点从添加的节点开始,不断地往父节点找不平衡的节点1.以不平衡的节点为支点2.将根节点的右侧往左拉3.原先的右子节点变成新的父节点,并把多余的左子节点让出,给已经降级的根节点的右子节点。

2024-09-22 19:23:03 638

原创 Java泛型(JDK5)

泛型是JDK5中引入的特性,可以在编译阶段约束操作的数据类型,并进行检查泛型只能支持引用数据类型。

2024-09-21 18:26:53 739

原创 List集合——ArrayList集合、LinkedList集合、迭代器

底层数据结构是双链表,查询慢,增删块,但是如果操作的是首尾元素,速度也极快。

2024-09-21 10:59:17 387

原创 JAVA集合——List接口

List集合的特点是存和取的元素顺序一致(有序性)、可以通过索引操作元素(有索引)、存储的元素可以重复(可重复)

2024-09-19 22:12:31 248

原创 JAVA集合——Collection接口

Collection是单列集合的祖宗接口,它的功能是全部单列集合都可以继承使用的。

2024-09-19 20:29:15 2256

原创 JAVA内部类

内部类就是定义在另一个类里面的类啦,它们可以访问外部类的所有成员,包括私有的。

2024-09-17 17:26:46 483

原创 JAVA常见的算法API——Arrays

操作数组的工具类。

2024-09-15 16:17:30 319

原创 JAVA常见的查找算法

并且建立一个索引表,索引表中的每个元素包含对应子块中的最大(或最小)关键字和该子块在查找表中的起始位置。每个子块内部元素可以无序,但子块之间是有序的(即第一个子块中的最大元素小于第二个子块中的最小元素,以此类推)当查找的值小于数组中的最小值或大于数组中的最大值时,插值查找的计算公式可能会导致数组越界,从而引发错误。依赖排序:二分查找要求数组必须是有序的,如果数组未排序,需要先进行排序,这会增加额外的时间复杂度。插值查找要求数组必须是有序的,如果数组无序,插值查找的结果将无法保证正确。斐波那契查找(了解)

2024-09-14 20:55:35 1001

原创 时间相关类(JDK8之后)

时区。

2024-09-12 12:06:43 643

原创 JAVA正则表达式、爬虫

表示正则表达式文本匹配器,作用按照正则表达式的规则去读取字符串,从头开始读。在大串中去找符合规则的子串。

2024-09-11 12:18:34 1835

原创 JAVA包装类——以Integer为例

Integer类包装一个对象中的原始类型int的值。类型为Integer的对象包含一个单一字段,其类型为int。此外,该类还提供了一些将int转换为String和String转换为int,以及在处理int时有用的其他常量和方法。

2024-09-09 18:36:09 433

原创 JAVA常用API

System是一个工具类,提供了一些与系统相关的方法Runtime表示当前虚拟机的运行环境Object是Java中的顶级父类。所有的类都直接或间接的继承与Object类。Objects是一个工具类,提供了一些方法去完成一些功能。BigInteger类常用于处理大整数BigDecima常用于表示很大的小数和小数的精确计算Data类是一个JDK写好的Javabean类,用来描述时间,精确到毫秒Data类是一个标准的Javabean类将时间转换为我们喜欢的形式(字符串表示的时间变成Data对象)

2024-09-09 11:42:52 824

空空如也

空空如也

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

TA关注的人

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