摘要:
1.动手 实现了简单使用多系统,单一位置同时登陆,以及注销 主要认证中心流程代码编写在为在sso-login包下的ViewConreoller和LoginController;各系统的用户名显示是写在各自的ViewController中 在ViewController类中的toLogin方法 @Co 阅读全文
摘要:
1.消息队列概述 分布式系统中用于解耦组件间通信的中间件技术。它通过异步处理的方式,使得生产者可以不受消费者的影响发送消息,而消费者则可以根据自己的节奏来处理这些消息。下面是RabbitMq得到内存结构图: 消息在消息队列中的数据通信流程: 消息队列的结构分为三个部分,分别是生产者(Producer 阅读全文
摘要:
1.异步概述 1.1 什么是异步? 异步是一种编程模式,其中函数或方法的调用不需要等待操作完成即可返回控制权给调用者。这意味着调用者可以在等待操作完成的同时继续执行其他任务。当操作完成后,通常会通过回调、事件通知、Future 或其他机制来告知调用者结果。 1.2 相对于同步的优缺点 优点 提高性能 阅读全文
摘要:
1.1 前言 近来,在学习缓存的过程中,发现Guava和Caffeine等本地缓存都是使用建造者模式来创建对象,因此针对建造者模式进行学习和实现。 1.2 目标 理解建造者模式与折叠构造函数模式以及JavaBean模式创建对象的区别 如何使用链式调用在没有调用某种参数的情况下使用默认构造参数 1.3 阅读全文
摘要:
1.1 不使用缓存实现查询 (1)创建用户表 用户信息表中包含用户ID,用户名,密码等字段 DROP TABLE IF EXISTS `user` CREATE TABLE USER( `id` BIGINT(20) NOT NULL COMMENT '用户ID', `username` VARCH 阅读全文
摘要:
6.1 概述 RBAC(Role-Based Access Control,基于角色的访问控制)权限按钮控制是一种细粒度的权限管理方式,它允许系统管理员根据用户的角色来精确控制用户界面中功能按钮的可见性和可用性。在RBAC模型中,权限不仅限于访问某个页面或模块,还可以细化到页面上每个操作按钮的权限。 阅读全文
摘要:
12.1.StringBuffer和StringBuilder的底层数据结构 String在jdk1.8和StringBuilder以及StringBuffer都是以char[]实现,String在jdk1.9后是使用byte数组实现。 12.2 Bean如何在IOC中创建 加载xml文件 扫描注解 阅读全文
摘要:
11.1 volatile中的本地内存与主内存分别是什么,区别是啥 11.2 线程和进程的内存区别(从栈和堆方面) 11.3 数据库的游标 11.4 查询到100万条数据如何优化 11.5 batchsize 11.6 数据库分区 11.7 Redis内存优化 11.8 缓存穿透 11.9 企业文化 阅读全文
摘要:
10.1 线程池的使用 核心-》工作队列-》最大线程(核心小于最大) 10.2 自动装配starter自定义系统访问量 思路: 创建新项目:初始化项目,添加依赖 设计统计服务逻辑:定义一个接口,定义新增访问量和获取总访问量的方法 自动配置:定义一个配置类添加FilterRegistrationBea 阅读全文
摘要:
9.1 Java基础 9.1.1 volatile的概述和原理 在Java中volatile是一个防止指令重排以及保证可见性的关键字。 如果我们将变量声明为volatile,那么就指示JVM这个变量共享且不稳定,每次从主存中进行读取。AQS的state就是使用volatile修饰的。 借用Guide 阅读全文
摘要:
8.1Java基础 8.1.1 HashMap的put元素步骤 计算键的哈希值 检查容量并可能扩容 处理哈希冲突(链地址法或红黑树) 替换或谈价键值对 再次检查扩容 8.2 计算机网络 8.2.1 OSI哪些层,每层作用以及有哪些协议 物理层:在通信媒体上传输原始比特流 数据链路层:提供单个链路的点 阅读全文