- 博客(20)
- 收藏
- 关注
原创 Stream流进行统计分析
本文章参考黑马程序员的函数式编程,想要更详细的讲解,可以去看对应的视频注意:这篇文章适合有stream基础的同学阅读,我后续会出一篇关于stream基础的文章。这里准备了200多万行的数据,用户下单的信息,我们将使用stream流完成我们的需求。每一列数据的含义分别是序号,下单时间,订单id、 商品id,分类id,分类编号 ,品牌 、价格、年龄、性别、地区,为避免代码中使用数字太抽象,我们定义一些常量来表示这些数字的含义。Files.lines方法是jdk8就有了。
2024-10-01 22:30:45
1689
1
原创 若依框架中的RBAC权限控制
若依使用springsecurity实现RBAC权限控制,前端部分我们就不探讨,我们主要说明的是后端部分。我们从用户登录到访问资源这一步骤来讲解。1. 定义角色和权限首先,你需要定义你的角色和权限。例如,假设你有以下角色和权限:2. 数据库模型设计本文章使用若依整合springsecurity实现RBAC权限控制进行讲解。
2024-09-28 22:25:16
3513
1
原创 spring底层原理
它是 ApplicationContext 的父接口 它才是 Spring 的核心容器, 主要的 ApplicationContext 实现都【组合】了它的功能,【组合】是指 ApplicationContext 的一个重要成员变量就是 BeanFactoryBeanFactory 能干点啥表面上只有 getBean实际上控制反转、基本的依赖注入、直至 Bean 的生命周期的各种功能,都由它的实现类提供。
2024-10-15 16:45:55
1306
原创 lambda原理
当我们编写的时候,底层是怎么实现的呢?其实就是根据我们的逻辑生成一个静态方法然后创建一个类引用接口(如BinaryOperator),实现里面的抽象方法,具体逻辑就是调用生成的静态方法。
2024-10-06 22:09:09
914
原创 Mybatis缓存机制
一级缓存是每个SqlSession的本地缓存,存储在内存中,适合于单个会话内的查询优化。二级缓存是跨会话的全局缓存,可以被多个SqlSession共享,适合于在应用中减少数据库访问。
2024-09-30 21:05:36
487
原创 什么是动态代理
动态代理就是在不改变源代码的情况下对方法进行增强。比如大明星类。如果不使用动态代理的话,增强sing、dance的话只能去修改源代码。
2024-09-30 10:05:07
191
原创 过滤器、拦截器实现、aop的 先后顺序和作用范围
在Spring框架中,过滤器(Filter)、拦截器(Interceptor)和面向切面编程(AOP)都是用于处理请求和处理流程的组件,但它们的作用范围和触发时机有所不同。下面我会解释这三者的先后顺序和作用范围。
2024-09-28 16:37:27
664
原创 事务的四大特性+MVCC
是数据库中的一种读取机制,它允许事务在并发场景下读取数据时,获得一个一致性视图(或快照),而不会受到其他并发事务修改数据的影响。快照读的主要目的是确保在同一事务中多次读取的数据一致性,即使其他事务对这些数据进行了修改或提交,当前事务也不会看到这些修改。在RR隔离级别下,只有第一次读操作会生成readwrite,之后的读操作都使用该readwrite,这就是快照读。如下图,事务5进行读操作,他会先从事务4开始找是否满足,不满足再3 2 1 这样的顺序,直到。每一次修改的时候,会指向上一次的数据。
2024-09-24 22:16:08
761
原创 Mysql引擎层是如何工作的
是实现主从复制,master节点将数据保存在bin log日志中,slave节点去读取bin log日志,然后将数据先写入Relay log 再由SQLthread将Relay log日志中的数据写入slave节点。会记录数据页的变化,然后写入redolog file,这样是顺序写入,比Buffer Pool写入ibd文件的效率更高(因为修改的数据在磁盘的位置不连续);数据改动-->Buffer Pool-->Redolog Buffer-->Redolog file-->ibd文件(数据库磁盘文件)
2024-09-24 11:07:06
349
原创 泛型的使用
在下面的类中,T类型是跟着所在对象变化的,比如调用了map方法后,再执行forEach方法时,Consumer接口的泛型T其实已经是map方法返回的U类型了,调用map方法之后返回的对象是U类型,即使声明着T类型了。3、泛型类声明的泛型类型和静态类是独立的,也就是说即使泛型类已经声明了,静态类还是要声明,比如。2、如果泛型类已经声明的泛型类型,泛型方法可以不用声明该泛型类型,比如。这个方法用到了T和U,他只需要声明U即可,因为T已经在类声明了。有不正确的地方可以私信我。
2024-09-21 11:19:02
223
原创 自定义注解+AOP的使用
我们先定义一个自定义注解,在这里的作用是一个标识,真正的逻辑代码在切面类中/*** 自定义登录注解*///登录判断@Target(ElementType.METHOD) //用于加载方法上面@Retention(RetentionPolicy.RUNTIME)//运行时执行。
2024-09-13 11:20:10
528
推荐使用stream流编码吗?
2024-09-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅