自定义博客皮肤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 Cloud基础分析

核心思想:将单体应用拆分为一组独立的小型服务,每个服务运行在独立进程中,通过轻量级通信机制协同工作。特点:松耦合:服务间通过接口(如 HTTP/REST、RPC)通信,内部实现透明。独立部署:每个服务可独立开发、测试、部署和扩展。技术异构:不同服务可使用不同技术栈(如 Java、Go)。容错性:通过熔断、降级、限流等机制提升系统健壮性。高可维护性:模块化设计,便于团队协作与维护。

2025-03-26 16:21:10 450

原创 Redis在人员管理系统中的应用示例

场景:用户登录后存储会话信息,支持多服务器共享实现:用户登录成功后,生成唯一Token(如JWT),作为Redis的KeyValue存储用户ID、角色、权限等信息,设置过期时间(如30分钟)每次请求验证Token有效性,并刷新过期时间。

2025-03-08 09:05:48 211

原创 数据库复习

随着数据量的增加,单个数据库表的查询和写入性能可能会下降。分表可以将数据水平切分,每个表只包含一部分数据,从而提高查询效率。新的写入请求可以通过负载均衡分配到不同的数据库实例上,提高系统的扩展性。:较小的表可以提高索引的效率,从而加快查询速度。随着表越来越大,索引变得庞大,查找性能会受到影响。:分库分表可以将请求分散到多个数据库或表上,从而让多个请求并行处理,提升系统的整体并发性能。:相比B树,B+树非叶子节点不存数据,使得同样数据量下树高更低。行锁: 只锁定当前行, InnoDB 使用的类型。

2025-02-28 17:50:20 845

原创 Java集合框架解析

集合体系结构。

2025-02-22 10:01:54 541

原创 解决后端控制台报错Error updating database

数据库中maths列的类型是decimal,而实体类对应的类型是BigDecimal。可能是试图插入到maths列的值超出了该列定义的decimal类型所能允许的范围,由于在定义decimal类型时设置了长度和小数位的限制,传入的BigDecimal值的精度超过了数据库列所允许的范围,就会报错。将数据库中所设置的长度改为5。新增数据时后端控制台报错。

2025-01-08 10:13:11 473

原创 Java复习

通过继承Exception创建自定义异常类,可以添加构造函数、错误信息等。

2025-01-02 19:55:19 797

原创 解决控制台报错:Uncaught (in promise) TypeError: Cannot read properties of undefined (reading ‘name‘)

将 data.config的config改为employee之后,页面中的数据就不会回显并在控制台报错。将put()中的config改为employee。

2025-01-02 11:22:25 1105

原创 类加载机制详解

当一个区域被填满后,将存活的对象复制到另一个区域,清理掉已被回收的对象。Java的垃圾回收机制是自动管理内存的一种方式,负责回收不再使用的对象所占用的内存空间,以防止内存泄露和优化内存使用。溢出:方法区(可以通过加载大量的类(尤其是动态生成的类)或者使用反射机制创建大量的元数据来撑爆。静态变量的分配:为类中的静态变量开辟内存空间,所有静态变量默认值为其类型对应的默认值。在加载之后,JVM会对加载的字节码进行验证,确保符合Java语言的规范。避免类冲突:每个类只会在顶层加载一次,有效的避免了同名类的冲突。

2024-12-27 17:51:43 1018

原创 Mysql中的排序与分页

使用 LIMIT 的好处约束返回结果的数量可以。

2024-12-21 09:58:04 496

原创 对于Shiro的理解

shiro是一个java安全框架,可以帮助用户快速实现安全特性,包括身份认证、授权、加密和会话管理等。shiro的目标是为Java应用程序提供简单且直观的安全性解决方案,并提供更好的开发体验。Shiro的主要特点。

2024-12-21 09:46:37 282

原创 数据库中的运算符

不等于运算符(和!逻辑或(OR或||)运算符是当给定的值都不为NULL,并且任何一个值为非0值时,则返回1,否则返回0;例如,“x*”匹配任何数量的‘x’字符,“[0-9]*”匹配任何数量的数字,而“*”匹配任何数量的任何字符。OR可以和AND一起使用,但是在使用时要注意两者的优先级,由于AND的优先级高于OR,因此先对AND两边的操作数进行操作,再与OR中的操作数结合。比较运算符用来对表达式左边的操作数和右边的操作数进行比较,比较的结果为真则返回1,比较的结果为假则返回0,其他情况则返回NULL。

2024-12-12 20:13:35 1509

原创 链式设计模式总结

链式设计模式是一种在面向对象编程中常用的设计模式,它允许将多个方法调用以一种流畅、连贯的链式方式连接起来,使得代码更加简洁易读,并且在构建具有多个配置选项或操作步骤的对象时非常方便。

2024-12-09 09:52:42 366

原创 基本的select语句

SQL 中的 SELECT 语法的确提供了这个功能,一般来说我们只从一个表中查询数据,通常不需要增加一个固定的常数列,但如果我们想整合不同的数据源,用常数列作为这个表的标记,就需要查询常数。DDL(Data Definition Languages、数据定义语言),这些语句定义了不同的数据库、表、视图、索引等数据库对象,还可以用来创建、删除、修改数据库和数据表的结构。主要的语句关键字包括`GRANT`、`REVOKE`、`COMMIT`、`ROLLBACK`、`SAVEPOINT`等。

2024-12-09 09:09:30 644

原创 枚举的概述

为了间接的表示一些固定的值,Java就给我们提供了枚举是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内特点所有枚举类都是Enum的子类我们可以通过"枚举类名.枚举项名称"去访问指定的枚举项每一个枚举项其实就是该枚举的一个对象枚举也是一个类,也可以去定义成员变量枚举类的第一行上必须是枚举项,最后一个枚举项后的分号是可以省略的,但是如果枚举类有其他的东西,这个分号就不能省略。建议不要省略枚举类可以有构造器,但必须是private的,它默认的也是private的。

2024-11-29 20:19:35 656

原创 反射的概述

反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意属性和方法;这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制。

2024-11-22 20:02:46 1930

原创 类加载器的介绍

如果一个类加载器收到了类加载请求,它并不会自己先去加载,而是把这个请求委托给父类的加载器去执行,如果父类加载器还存在其父类加载器,则进一步向上委托,依次递归,请求最终将到达顶层的启动类加载器,如果父类加载器可以完成类加载任务,就成功返回,倘若父类加载器无法完成此加载任务,子加载器才会尝试自己去加载,这就是双亲委派模式。//获取系统类加载器的父加载器 --- 平台类加载器。//获取平台类加载器的父加载器 --- 启动类加载器。//利用加载器去加载一个指定的文件。

2024-11-18 09:00:40 779

原创 Redis数据库的五大数据类型和三大缓存

缓存预热是指在系统启动或在预期的高峰访问时段之前,提前将热点数据加载到缓存中,以减少数据库的访问压力,这可以避免在系统启动初期或负载高峰期,因缓存未准备好而导致的数据库压力激增。重复成员:有序集合中的成员是唯一的,如果在已存在的成员中再次添加,会导致旧成员的分数被更新,这可能会导致一些不必要的逻辑错误。将频繁访问的数据存储在内存中,避免每次都去访问慢速的后端存储(如数据库),从而减少延迟。构建多级缓存,如本地缓存+远程缓存,利用本地缓存的高速度和远程缓存的大容量,分担请求压力,提高系统的稳定性和可用性。

2024-11-13 14:32:36 651

原创 可变参数和stream流

/ list.stream().filter(s -> s.startsWith("张")).filter(s -> s.length() == 3).forEach(s -> System.out.println(s));list.stream().filter(s -> s.startsWith("张")).filter(s -> s.length() == 3).forEach(System.out::println);Map.entry("lisi", "北京"));

2024-11-07 19:06:32 770

原创 Map集合

Map集合概述interface Map<K,V> K:键的类型;V:值的类型Map集合的特点双列集合,一个键对应一个值键不可以重复,值可以重复Map集合的基本使用//创建集合对象//V put(K key, V value) 将指定的值与该映射中的指定键相关联map.put("wedu001","林青霞");map.put("wedu002","张曼玉");map.put("wedu003","王祖贤");map.put("wedu003","柳岩");//输出集合对象。

2024-10-31 16:13:12 718

原创 Set集合

不可以存储重复元素没有索引,不能使用普通for循环遍历不可以存储重复元素没有索引可以将元素按照规则进行排序TreeSet():根据其元素的自然排序进行排序TreeSet(Comparator comparator) :根据指定的比较器进行排序两种比较方式小结自然排序: 自定义类实现Comparable接口,重写compareTo方法,根据返回值进行排序比较器排序: 创建TreeSet对象的时候传递Comparator的实现类对象,重写compare方法,根据返回值进行排序。

2024-10-23 19:38:40 684

原创 List集合

Collection集合概述是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素JDK 不提供此接口的任何直接实现.它提供更具体的子接口(如Set和List)实现创建Collection集合的对象多态的方式具体的实现类ArrayListCollection集合常用方法List集合的概述有序集合,这里的有序指的是存取顺序用户可以精确控制列表中每个元素的插入位置,用户可以通过整数索引访问元素,并搜索列表中的元素与Set集合不同,列表通常允许重复的元素。

2024-10-16 16:27:56 752

原创 常用API中的Date类

Date 代表了一个特定的时间,精确到毫秒​异常就是程序出现了不正常的情况异常的体系结构。

2024-10-16 15:49:03 901

原创 常用API

​ API (Application Programming Interface) :应用程序编程接口java中的API​ 指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。如何使用API帮助文档 :打开帮助文档找到索引选项卡中的输入框在输入框中输入Random看类在哪个包下看类的描述看构造方法看成员方法。

2024-10-10 09:08:25 758

原创 面向对象的特征——继承与多态

抽象类和抽象方法必须使用 abstract 关键字修饰//抽象类的定义public abstract class 类名 {}​//抽象方法的定义抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类抽象类不能实例化抽象类可以有构造方法抽象类的子类要么重写抽象类中的所有抽象方法要么是抽象类在Java中,使用 { } 括起来的代码被称为代码块5.2代码块分类局部代码块位置: 方法中定义作用: 限定变量的生命周期,及早释放,提高内存利用率构造代码块位置: 类中方法外定义。

2024-09-26 08:53:22 693

原创 面向对象基本概述

类的组成是由属性和行为两部分组成属性:在类中通过成员变量来体现(类中方法外的变量)行为:在类中通过成员方法来体现(和前面的方法相比去掉static关键字即可)类的定义步骤:​ ① 定义类​ ② 编写类的成员变量​ ③ 编写类的成员方法。

2024-09-19 17:08:07 532

原创 Java基础应用

第一种格式​ 数据类型[] 数组名第二种格式​ 数据类型 数组名[]是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序。如何加断点选择要设置断点的代码行,在行号的区域后面单击鼠标左键即可如何运行加了断点的程序在代码区域右键Debug执行看哪里看Debugger窗口看Console窗口点哪里点Step Into (F7)这个箭头,也可以直接按F7如何删除断点选择要删除的断点,单击鼠标左键即可。

2024-09-10 19:42:42 1504

原创 Java基础语法

Java程序可以在任何支持Java的设备上运行,因其编写的代码会被编译成字节码,运行在Java虚拟机(JVM)上。:Java是一种面向对象的语言,支持封装、继承和多态等特性,使得代码更易于维护和重用。:Java具有垃圾回收机制,自动管理内存,减少内存泄漏的风险。:Java提供了丰富的API和类库,支持网络编程、图形用户界面(GUI)、数据库连接等多种功能。:Java具有内置的安全特性,如字节码验证和安全管理器,确保代码在执行时的安全性。:Java内置对多线程的支持,使得开发高效的并发应用程序变得更加容易。

2024-09-06 20:09:17 811 2

空空如也

空空如也

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

TA关注的人

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