
java
文章平均质量分 68
it优质男
欲买桂花同载酒,终不似,少年游
展开
-
LambdaQueryWrapper解释一下
是 MyBatis-Plus 框架中的一个核心查询构造器,使用的是Lambda表达式来构建安全的sql查询条件,避免了字段名,原创 2025-04-02 22:04:21 · 238 阅读 · 0 评论 -
StringUtil.isEmpty理解
通常是一个工具类方法,用于检查一个字符串是否为空或者为 null。这个方法在不同的编程语言和库中可能有所不同,但其核心功能是一致的,即提供一种便捷的方式来处理字符串的空值检查。方法或类似的函数可以帮助开发者避免因字符串为空而导致的程序错误,例如空指针异常或无效的字符串操作。通过在代码中适当地使用这类方法,可以提高程序的健壮性和可读性。这种方法可以确保在处理字符串时,避免了空指针异常的发生。这个方法会检查输入的字符串是否为 null、空字符串或者只包含空白字符(如空格、制表符等)。原创 2024-04-12 10:14:01 · 530 阅读 · 0 评论 -
spring 和springBoot区别
Spring Boot是Spring框架的扩展,旨在简化Spring应用程序的开发和部署。Spring Boot提供了自动配置和约定优于配置的原则,可以快速搭建和运行基于Spring的应用程序,减少了开发人员的工作量。Spring框架是一个全功能的企业级Java应用程序框架,提供了广泛的功能,包括依赖注入、AOP、事务管理、数据访问等。下面是一个简单的例子,展示了一个使用Spring框架和Spring Boot框架的Hello World应用程序。使用Spring框架的Hello World应用程序。原创 2024-04-05 09:49:11 · 566 阅读 · 0 评论 -
如何保证Redis中存储的Token安全性?
确保Redis中存储的Token安全性是一个多层面的任务,涉及到网络、应用、数据和操作等多个方面的安全措施。原创 2024-03-28 10:50:51 · 915 阅读 · 0 评论 -
你们优惠券支持兑换码的方式是吧,哪兑换码是如何生成的呢?
32位的自增序列,可以每4位一组,转为10进制,这样就有8个数字。(请设计一个优惠券兑换码生成方案,可以支持20亿以上的唯一兑换码,兑换码长度不超过10,只能包含字母数字,并且要保证生成和校验算法的高效)最后把签名值的后14位、新鲜值(4位)、自增序列(32位)拼接,得到一个50位二进制数,然后与一个较大的质数做异或运算加以混淆,再基于Base32或Base64转码,即可的对兑换码。当我们在发放优惠券的时候,会判断优惠券的领取方式,我们有基于页面手动领取,基于兑换码兑换领取等多种方式。取中4位得到新鲜值。原创 2024-03-27 12:16:24 · 747 阅读 · 0 评论 -
你在项目中负责积分排行榜功能,说说看你们排行榜怎么设计实现的?
比如有任务A、B、C,要按照字母顺序依次执行,我们就可以将C设置为B的子任务,再将B设置为A的子任务。此时,第一个分片处理的数据就是第1、4、7、10、13等几页数据,第二个分片处理的就是第2、5、8、11、14等页的数据,第三个分片处理的就是第3、6、9、12、15等页的数据。这里要说明一下,这里三个任务是有关联的,之所以让任务分开定义,是为了避免任务耦合。- 每个执行器的读取的起始页都是自己的分片编号+1,例如第一个执行器,其起始页就是1,第二个执行器,其起始页就是2,以此类推。依然非常简单、高效。原创 2024-03-26 12:42:41 · 825 阅读 · 0 评论 -
数据库中冗余字段
尽管在某些特定情况下冗余字段可能有其合理性,但在大多数情况下,它们被视为不良设计的表现,因为它们违反了数据库设计的第一范式(1NF),即每个字段都应该是原子的,不应该包含可以进一步分解的信息。在数据库设计中,冗余字段(Redundant Field)指的是那些存储了重复信息的字段,即这些字段中的数据可以在不查看该字段的情况下,通过其他字段或表中的数据推断出来。例如,如果一个字段是从另一个表中引用的外键,那么在当前表中存储这个外键的值可以确保即使在引用的表中数据被删除或更改时,当前表中的数据仍然保持一致。原创 2024-03-24 16:26:12 · 887 阅读 · 0 评论 -
ThreadLocal的主要特点:
虽然没有直接的性能比较数据,但我们可以推测,由于Java 11中的JVM和垃圾回收器的改进,ThreadLocal在Java 11上的性能可能会有所提升,特别是在内存泄漏问题和垃圾回收效率方面。然而,ThreadLocal的基本工作原理和数据结构在Java 8和Java 11中保持不变,因此性能差异可能不会特别显著。具体性能表现还需要通过实际的基准测试来确定。原创 2024-03-24 11:12:25 · 1205 阅读 · 0 评论 -
乐观锁和悲观锁区别
悲观锁和乐观锁的选择取决于具体的应用场景和数据冲突的概率。悲观锁适合冲突可能性高的场合,而乐观锁适合冲突可能性低的场合。在实际应用中,开发者需要根据系统的需求和特点来选择最合适的并发控制策略。原创 2024-03-23 09:17:13 · 339 阅读 · 0 评论 -
你项目中使用过Redis的那些数据结构?
但是为了解决签到数据量较大的问题,我们可能就需要对数据做分表处理了。总的来说,签到数据使用Redis的BitMap无论是安全性还是数据内存占用情况,都是可以接受的。因为签到数据量非常大嘛,而BitMap则是用bit位来表示签到数据,31bit位就能表示1个月的签到记录,非常节省空间,而且查询效率也比较高。或者呢,我们可以搭建Redis主从集群,再结合Redis哨兵。主节点会把数据持续的同步给从节点,当即后也会有哨兵重新选主,基本不用担心数据丢失问题。比如很多的缓存,我们就使用了String结构来存储。原创 2024-03-22 13:25:38 · 354 阅读 · 0 评论 -
请描述兑换码生成算法的流程
请描述兑换码生成算法的流程原创 2024-03-21 14:42:21 · 865 阅读 · 0 评论 -
定时任务框架
定时任务框架原创 2024-03-20 13:37:22 · 515 阅读 · 0 评论 -
项目当中 签到功能 +多级缓存+介绍一下点赞功能
签到功能 +多级缓存+介绍一下点赞功能原创 2024-03-19 23:25:53 · 991 阅读 · 0 评论 -
微服务中网关的作用有哪些+springcloud五大组件
微服务中网关的作用有哪些?+springcloud五大组件有哪些作用分别是什么?原创 2024-03-01 17:43:53 · 509 阅读 · 0 评论 -
代码生成器 MybatisX
代码生成器 MybatisX 通过代码生成器,就可以根据表结构,反向生成对应的实体类、Mapper、Service等,可以简化开发,提供开发效率。原创 2024-02-28 08:42:02 · 1428 阅读 · 0 评论 -
linux 面试题
linux+什么是内核版和发行版,有什么区别和联系+@LoadBalanced的作用+什么是微服务原创 2024-02-25 14:43:58 · 1750 阅读 · 0 评论 -
linux 文本编辑命令【重点】
vi&vim介绍+vim安装+vim使用+查找命令+find+grep原创 2024-02-24 14:08:26 · 1037 阅读 · 0 评论 -
linux 文件目录操作命令【重点】
当我们在查看一些比较大的文件时,我们可能需要经常查询文件尾部的数据信息,那这个时候如果文件很大,我们要一直向下翻页,直到最后一页,去看最新添加的数据,这种方式就比较繁琐了,此时,我们可以借助于tail指令。rmdir -p itcast/test 删除itcast目录中名为test的子目录,若test目录删除后itcast目录变为空目录,则也被删除。mkdir -p itcast/test 在工作目录下的itcast目录中建立一个名为test的子目录,若itcast目录不存在,则建立一个。原创 2024-02-23 11:15:52 · 1018 阅读 · 0 评论 -
安装SSH连接工具
在Linux系统中,也是存在目录的概念的,但是Linux的目录结构和Windows的目录结构是存在比较多的差异的 在Windows目录下,是一个一个的盘符(C盘、D盘、E盘),目录是归属于某一个盘符的。2.2 ↑ ↓ 键盘切换之前或者之后使用的命令 history可以展示最近输入的所有指令。3.windows目录结构分盘符 linux不分盘符 都在根目录 /下,目录像一个倒挂的树。[parameter]: 传给命令的参数,可以是零个、一个或者多个。3). 使用上下箭头快速调出曾经使用过的命令。原创 2024-02-22 11:10:39 · 1119 阅读 · 0 评论 -
Linux理解
什么是Linux+为什么学+学完能干什么+原创 2024-02-20 10:57:02 · 3123 阅读 · 0 评论 -
安装VMware+安装Linux
安装VMware+安装Linux原创 2024-02-19 20:43:34 · 915 阅读 · 0 评论 -
面向对象2:继承
权限修饰符是用来限制类的成员(成员变量、成员方法、构造器...)能够被访问的范围。每一种权限修饰符能够被访问的范围如下。原创 2024-02-13 12:37:36 · 1569 阅读 · 0 评论 -
Redisson是什么,怎么用
Redisson是什么,怎么用原创 2024-02-14 12:00:00 · 546 阅读 · 0 评论 -
面向对象--静态
面向对象 静态 工具类 修饰成员变量 实例 静态等等原创 2024-02-11 16:31:28 · 1102 阅读 · 0 评论 -
4. TypeScript
目录1 TypeScript 介绍2 TypeScript 常用类型2.1 类型标注的位置2.2 字符串、数字、布尔类型2.3 字面量类型2.4 interface 类型2.5 class 类型TypeScript(简称:TS) 是微软推出的开源语言TypeScript 是 JavaScript 的超集(JS 有的 TS 都有)TypeScript = Type + JavaScript(在 JS 基础上增加了类型支持)TypeScript 文件扩展名为 tsTypeScript 可编译成标准的 JavaS原创 2024-02-10 10:15:00 · 3010 阅读 · 0 评论 -
线程池七个参数+自动装配原理
线程池七个参数+自动装配原理+前自己实现过一个自动装配的项目有 大概做流程原创 2024-02-09 17:34:20 · 459 阅读 · 0 评论 -
3. 私服方面
私服介绍 优势好处 主要就是资源上传与下载原创 2024-02-07 15:00:46 · 1400 阅读 · 0 评论 -
1Maven分模块设计与开发
Maven分模块设计与开发----主要就是代码拆分成模块 好分配原创 2024-02-05 16:33:27 · 1481 阅读 · 0 评论 -
3. 状态管理 vuex 状态管理库
Vuex三个核心概念+创建带有vuex功能的前端项目原创 2024-02-04 11:52:25 · 1954 阅读 · 0 评论 -
2. 路由 Vue-Router
Vue-Router +路由配置+嵌套路由原创 2024-02-03 20:03:50 · 1382 阅读 · 1 评论 -
2.AOP进阶
主要就四点通知类型通知顺序切入点表达式连接点。原创 2024-02-01 15:50:58 · 1097 阅读 · 1 评论 -
3. Mybatis的XML配置文件(重点)
mybatis配置文件+动态sql+判断条件是否成立+会自动去除子句的开头的and或or+插入set关键字,并会删掉额外的逗号+遍历deleteByIds方法中传递的参数ids集合+通过属性refid,指定包含的SQL片段原创 2024-01-30 20:30:00 · 1819 阅读 · 1 评论 -
1.Mybatis入门
Mybatis入门+jdbc了解+数据库连接池(共享单车)+lombok(简化java开发)原创 2024-01-28 20:40:34 · 1240 阅读 · 2 评论 -
数据库查询3
多表查询:查询时从多张表中获取所需数据单表查询的SQL语句:select 字段列表 from 表名;那么要执行多表查询,只需要使用逗号分隔多张表即可,如: select 字段列表 from 表1, 表2查询用户表和部门表中的数据:会存在多卡尔集在多表查询时,需要消除无效的笛卡尔积,只保留表关联部分的数据去除无效的笛卡尔积 只需要给多表查询加上连接查询的条件即可。SQL语句中嵌套select语句,称为嵌套查询,又称子查询。原创 2024-01-26 21:06:23 · 1663 阅读 · 1 评论 -
数据库总结2
在现在的企业开发中,很少会使用物理外键,都是使用逻辑外键。执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;~~~~在根据指定的列统计的时候,如果这一列中有null的行,该行不会被统计在其中。一对一 :在任意一方加入外键,关联另外一方的主键,并且设置外键为唯一的(UNIQUE)分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT。一对多关系实现:在数据库表中多的一方,添加字段,来关联属于一这方的主键。-- 从索引10开始,向后取5条记录。原创 2024-01-25 19:45:00 · 965 阅读 · 0 评论 -
Controller的部分注解
增删改查 当中查询不需要注解增加用到 @删除用到 @RequestParam修改用到 @PathVariable 跟 @RequestBody另外设计该模块接口中 有时会有 起售停售功能 这种会涉及到@PathVariable。原创 2024-01-24 15:59:19 · 621 阅读 · 1 评论 -
Redis
Redis存储的是key-value结构的数据,其中key是字符串类型,value有5种常用的数据类型:- 字符串 string- 哈希 hash- 列表 list- 集合 set- 有序集合 sorted set / zsetSpring Data Redis 是 Spring 的一部分,提供了在 Spring 应用中通过简单的配置就可以访问 Redis 服务,对 Redis 底层开发包进行了高度封装。原创 2024-01-20 20:09:20 · 996 阅读 · 0 评论 -
SpringBoot原理
SpringBoot的自动配置就是当Spring容器启动后,一些配置类、bean对象就自动存入到了IOC容器中,不需要我们手动去声明,从而简化了开发,省去了繁琐的配置操作。比如:我们要进行事务管理、要进行AOP程序的开发,此时就不需要我们再去手动的声明这些bean对象了,我们直接使用就可以从而大大的简化程序的开发,省去了繁琐的配置操作。下面我们打开idea,一起来看下自动配置的效果:运行SpringBoot启动类。原创 2024-01-18 17:52:23 · 1370 阅读 · 1 评论 -
WEB层 声明类+响应+请求
加上这个注解,springboot就会吧这个类当成controller进行处理,然后把所有返回的参数放到ResponseBody中。@Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。原创 2024-01-15 11:02:36 · 419 阅读 · 0 评论 -
web 相关注解
注意:当你在类上添加RequestMapping注解后,如果要请求映射,就意味着请求要先映射到标注类的位置,然后再映射到该类的方法上。如果不加就会出现如下错误。@RequestMapping是用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径、@DeleteMapping写在方法上方法上 代码如下。@PutMapping 写在方法上方法上 代码如下。@PostMapping写在方法上方法上 代码如下。@GetMapping写在方法上方法上 代码如下。原创 2024-01-15 10:52:36 · 381 阅读 · 0 评论