- 博客(91)
- 收藏
- 关注
原创 Redis如何保证与数据库的一致性
Redisson 是一个基于 Redis 的分布式 Java 对象存储和缓存框架,它提供了丰富的功能和 API 来操作 Redis 数据库。其中包括了读写锁的支持。读写锁是一种常用的并发控制机制,它允许多个线程同时读取共享资源,但在写操作时互斥,只允许一个线程进行写操作。
2023-12-08 23:03:03 2116 1
原创 Redis雪崩
redis雪崩是指在某个时间点,Redis缓存中大量的键同时过期或Redis宕机或重启,导致大量的请求直接落数据库,导致存储后端负载剧增,甚至崩溃的情况。
2023-12-06 01:10:12 360
原创 Redis击穿(热点key失效)
Redis击穿是指在高并发情况下,一个键在缓存中过期失效时,同时有大量请求访问该键,导致所有请求都落到数据库上,对数据库造成压力。这种情况下,数据库可能无法及时处理这些请求,导致性能下降甚至崩溃。
2023-12-06 00:53:45 472
原创 Redis穿透以及解决方法
Redis穿透是指当一个请求在缓存中和数据库都找不到对应的数据时,导致每次请求都要查询数据库,从而产生了大量的无效数据库查询,大量无效的数据库查询会导致数据库负载增加,降低数据库的性能和响应能力甚至宕机的风险。
2023-12-06 00:09:05 417
原创 java中什么是序列化?什么是反序列化?
序列化:是将对象转化为字节流或者其他格式的过程,以便能够在网络上传输或者保存到磁盘上。反序列化:则是将序列化的字节流或者其他格式转化为对象的过程。
2023-10-20 00:44:21 173
原创 面向过程和面向对象有什么区别?
面向过程的特点是将问题分解为一系列步骤,然后使用函数或过程来描述这些步骤,最后通过调用这些函数或过程来实现程序。而面向对象则将问题分解为一系列对象,每个对象都有自己的属性和方法,通过这些属性和方法来实现程序。
2023-10-19 23:42:45 71
原创 Java 中用的是值传递还是引用传递?
值传递是指在调用函数或方法时,将参数的值复制给一个临时变量然后传递给函数或方法。在函数或方法内部,对参数进行修改不会影响到原始变量。
2023-10-19 23:12:59 163
原创 接口和抽象类的区别详解
接口是一种纯抽象的类,只定义了一组方法的签名,没有任何实现代码。抽象类是一个可以包含具体方法实现和抽象方法的类,可以有字段、属性、构造函数等。
2023-10-19 16:32:26 83
原创 java中判断对象类型的三种方法
instanceof 主要用于类型判断或类型转换的场景,常见的用法有:判断对象的实际类型并执行相应的操作,避免类型转换错误。判断对象是否属于某个接口的实现类,以便进行接口方法的调用。多态的场景中,判断对象所属的具体子类,以实现相应的逻辑
2023-10-18 20:56:13 9429
原创 Integer包装类常用方法和属性
Java 包装类是指为了方便处理基本数据类型而提供的对应的引用类型。Java 提供了八个基本数据类型(boolean、byte、short、int、long、float、double、char),每个基本数据类型对应一个包装类。
2023-10-18 16:16:30 184
原创 Java 中的自动装箱和拆箱
自动装箱是指将基本数据类型转换为对应的包装类型。当使用包装类型作为参数传递给需要相应基本数据类型的方法,或者将基本数据类型赋值给包装类型时,会自动将基本数据类型转换为包装类型。
2023-10-18 16:08:53 315
原创 CentOS安装Docker
Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10, CentOS 7 满足最低内核的要求,所以我们在CentOS 7安装Docker。
2023-10-15 00:10:38 168
原创 Spring Cloud Gateway 搭建网关
Spring Cloud Gateway是Spring Cloud中的一个组件,它作为微服务的统一入口,主要作用包括:请求路由:所有进入Spring Cloud Gateway的请求都会被路由到对应的微服务。路由规则可以通过配置文件灵活地进行定制。权限控制:网关作为微服务入口,需要校验用户是否有请求资格,如果没有则进行拦截。权限控制可以基于各种条件,例如IP地址、用户名、请求头信息等。
2023-10-13 06:57:50 528
原创 java中权限修饰符的区别
1. private:私有的,只能在本类中访问,不能在其他类中访问。2. default(没有显式指定权限修饰符):默认的,只能在同一个包中的类访问,不能在其他包中的类访问。3. protected:只有`同一个包中的类`或者是这个类的子类可以访问
2023-09-16 21:20:42 135
原创 mysql内连接与外连接详解
内连接(Inner Join):内连接是最常用的连接操作,它只返回两个表中满足连接条件的记录。在Java中,可以使用SQL语句中的INNER JOIN关键字实现内连接。
2023-09-16 21:05:08 384
原创 mysql组合索引详解
索引是一种数据结构,用于优化数据库查询速度,而组合索引指的是在数据库中使用`多个字段`来创建`一个索引`。这种类型的索引允许数据库更快地检索和排序数据,特别是在大型数据集中。组合索引适合用于`多条件查询`
2023-09-16 18:38:23 2301
原创 Spring MVC常用注解
@RequestBody:用于处理请求体中的JSON或XML数据。它可以将请求正文的JSON或XML数据绑定到相应的Java对象上。例如,当客户端发送一个POST请求到`/users`时,请求体中可能包含一个JSON对象,我们可以使用@RequestBody注解将其绑定到User对象上
2023-09-11 05:44:51 357
原创 java中的DTO
在Java中,DTO代表数据传输对象(Data Transfer Object)。DTO是一种设计模式,用于在应用程序的不同层之间传输数据。DTO通常用于将数据从一个层(如持久化层)传递到另一个层(如视图层)。
2023-09-10 23:43:15 1776
原创 java中的实体类
实体类提供了一种将数据库中的表映射为Java对象的方式。这样,开发人员可以使用面向对象的方式操作数据库,而无需编写大量的SQL语句。`ORM框架`(如Hibernate、MyBatis等)可以自动将实体类与数据库表进行映射,简化了代码。
2023-09-10 22:42:43 625
原创 java创建线程的几种方式
继承Thread类在Java中,创建线程有几种常见的方式:继承Thread类:创建一个继承自Thread类的子类。在子类中重写Thread类的run()方法,定义线程要执行的任务。创建子类对象并调用其start()方法,启动线程。
2023-08-12 19:53:24 210
原创 java重写与重载的区别
在Java中,重写(Override)和重载(Overload)是两种不同的概念:重写(Override):重写是指子类重新定义(覆盖)了从父类继承而来的方法。重写要求子类方法与父类方法具有相同的方法名、参数列表和返回类型。
2023-08-12 18:45:24 201
原创 redis事务管理详解
Redis 提供了事务管理功能,可以通过 Redis 的 MULTI、EXEC、WATCH 和 DISCARD 命令来实现。
2023-08-09 20:48:41 327
原创 java try-with-resources自动关闭资源
try-with-resources 是 Java 7 引入的一种语法,用于自动关闭实现了 AutoCloseable 接口的资源。它可以简化代码中关闭资源的操作,确保资源得到正确释放,避免内存泄漏。
2023-08-09 14:26:44 460
原创 Jedis配置详解
Jedis 是一个用于 Java 语言的 Redis 客户端库,它提供了与 Redis 数据库进行交互的接口和功能。通过使用 Jedis,你可以在 Java 应用程序中方便地与 Redis 进行通信。Jedis提供了简洁的API,以redis命令作为方法名称,易于学习和使用
2023-08-09 14:16:11 766
原创 redis SortedSet类型命令
Redis中的Sorted Set(有序集合)是一种有序的、不重复的数据结构。Sorted Set中的每个成员都与一个分数(score)关联,通过分数可以对成员进行排序
2023-08-08 22:50:42 421
原创 redis Set类型命令
Redis中的Set是一种无序、不重复的集合数据结构,它提供了一系列的操作命令用于对Set进行添加、删除和查找等操作。以下是Redis中Set类型常见的一些命令:SADD key member [member …]:将一个或多个成员添加到指定的集合中。示例:SADD myset value1 value2 value3
2023-08-08 22:14:46 699
原创 redis List类型命令
在Redis中,List(列表)是一种有序的、可重复的数据结构,它支持插入、删除和获取元素的操作。以下是一些常见的Redis List类型命令:LPUSH:将一个或多个值从列表的左侧插入。LPUSH key value1 value2 ...其中,key是列表的键名,value1、value2等是要插入的值。
2023-08-08 21:48:50 1128
原创 redis Hash类型命令
HSET:设置Hash字段的值。它将指定字段与相应的值关联起来,如果字段已经存在,则更新其值,如果字段不存在,则创建一个新的字段并设置值。具体的命令语法如下:HSET key field value其中,key是Hash类型的键名;field是要设置的字段名;value是要为字段设置的值。
2023-08-08 21:14:41 654
原创 redis String类型命令
SET key value:设置指定key的值为value。GET key:获取指定key的值。DEL key:删除指定key及其对应的值。INCR key:将指定key的值加1。DECR key:将指定key的值减1。
2023-08-08 19:33:15 859 2
原创 java面试 final关键字
在Java中,final 是一个关键字,用于修饰类、方法和变量。它具有以下不同的作用:对于类:表示该类是不可继承的。也就是说,不能再创建该类的子类。对于方法:表示该方法是不可重写的。子类不能对该方法进行覆盖,确保了方法的行为不会被修改。对于变量:表示该变量是一个常量,它的值一旦被初始化后就不可更改。
2023-08-06 21:06:12 430
原创 java面试---字符串相关内容
什么是Java中的字符串池(String Pool)?字符串池是Java中管理字符串对象的一种机制。在Java中,通过使用双引号创建的字符串都会被保存在字符串池中。当我们声明一个新的字符串时,如果字符串池中已经存在相同值的字符串,则直接返回池中的字符串对象,而不会再创建一个新的对象。这样可以减少内存的开销和提高性能。
2023-08-05 20:44:39 480
原创 Linux怎么发送网络请求和数据传输
curl命令用于在终端中进行网络请求和数据传输。发送GET请求:curl [URL]使用curl命令加上要请求的URL,可以发送GET请求并显示响应结果。发送POST请求:curl -X POST -d "参数" [URL]使用-X POST选项指定请求方法为POST,并使用-d选项指定POST请求的参数。
2023-08-01 22:23:01 1396
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人