摘要: 单点登录在现在的系统架构中广泛存在,它将多个子系统的认证体系打通,实现了一个入口多处使用,而在架构单点登录时,也会遇到一些小问题,在不同的应用环境中可以采用不同的单点登录实现方案来满足需求。 共享Session 共享Session可谓是实现单点登录最直接、最简单的方式。将用户认证信息保存于Sessi 阅读全文
posted @ 2021-11-28 08:55 残城碎梦 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 怎么实现承载更多用户量的系统,通常来讲分为两个大方向,互相配合实现。 硬件架构改进,主要是使用阿里云这种多组件的云环境:通过负载均衡SLB,模版克隆的云服务器ECS,云数据库RDS,共享对象存储OSS等不同职责的云产品组合实现。 软件架构优化,主要是软件代码开发的规范:业务解耦合,架构微服务,单机无 阅读全文
posted @ 2021-11-28 08:07 残城碎梦 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 什么是缓存雪崩?怎么解决? 缓存雪崩是指缓存中数据大批量到过期时间,而查询数据量巨大,引起数据库压力过大甚至down机。和缓存击穿不同的是,缓存击穿指并发查同一条数据。 如何解决呢? 对缓存做高可用,防止缓存宕机。 使用断路器,如果缓存宕机,为了防止系统全部宕机,限制部分流量进入DB,保证部分可用, 阅读全文
posted @ 2021-11-28 07:25 残城碎梦 阅读(29) 评论(0) 推荐(0) 编辑
摘要: equals() 的作用是用来判断两个对象是否相等。hashCode() 的作用是获取哈希码,也称为散列码;它实际上是返回一个int整数。这个哈希码的作用是确定该对象在哈希表中的索引位置。 先祭一张图,可以思考一下为什么? 我们以“类的用途”来将“hashCode() 和 equals()的关系”分 阅读全文
posted @ 2021-11-27 22:47 残城碎梦 阅读(76) 评论(0) 推荐(0) 编辑
摘要: Java语言是一种单继承结构语言,Java中所有的类都有一个共同的祖先。这个祖先就是Object类。如果一个类没有用extends明确指出继承于某个类,那么它默认继承Object类。 Object类是Java中所有类的基类。位于java.lang包中,一共有13个方法。如下图: Object():O 阅读全文
posted @ 2021-11-27 21:31 残城碎梦 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 分布式锁常见的三种实现方式: 数据库乐观锁; 基于Redis的分布式锁; 基于ZooKeeper的分布式锁。 Redis要实现分布式锁,以下条件应该得到满足: 互斥性:在任意时刻,只有一个客户端能持有锁。 不能死锁:客户端在持有锁的期间崩溃而没有主动解锁,也能保证后续其他客户端能加锁。 容错性:只要 阅读全文
posted @ 2021-11-27 20:40 残城碎梦 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 懒汉模式 懒汉模式是变种最多的单例模式。 所谓懒汉即先不初始化单例,等第一次使用的时候再初始化,即“懒加载”。 基础的懒汉 // 饱汉 // UnThreadSafe public class Singleton1 { private static Singleton1 singleton = nu 阅读全文
posted @ 2021-11-27 18:38 残城碎梦 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 保证消息是有顺序的,这是生产系统中常见的问题。 面试题剖析 举个例子,我们以前做过一个 mysql binlog 同步的系统,压力还是非常大的,日同步数据要达到上亿,就是说数据从一个 mysql 库原封不动地同步到另一个 mysql 库里面去(mysql -> mysql)。常见的一点在于说比如大数 阅读全文
posted @ 2021-11-27 16:46 残城碎梦 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 分库分表后需要一个全局唯一的 id 来支持。 基于数据库的实现方案 数据库自增id 系统里每次需要得到一个 id的时候,都是往一个库的一个表里插入一条没任何业务含义的数据,获取到一个数据库自增的一个 id。拿到这个 id 之后再往对应的分库分表里去写入。 这个方案的好处就是方便简单,谁都会用;缺点就 阅读全文
posted @ 2021-11-27 16:18 残城碎梦 阅读(80) 评论(0) 推荐(0) 编辑
摘要: TreeMap<K,V>的Key值是要求实现java.lang.Comparable,所以迭代的时候TreeMap默认是按照Key值升序排序的;TreeMap的实现是基于红黑树结构。适用于按自然顺序或自定义顺序遍历键(key)。 TreeMap中默认是按照升序进行排序的,如果想要降序,需要通过自定义 阅读全文
posted @ 2021-11-27 15:40 残城碎梦 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 首先简单说一下(以下为一个回答的参考模板) (1) 实例化一个Bean -- 也就是我们常说的new; (2) 按照Spring上下文对实例化的Bean进行配置 -- 也就是IOC注入; (3) 如果这个Bean已经实现了BeanNameAware接口,会调用它实现的setBeanName(Stri 阅读全文
posted @ 2021-11-27 15:20 残城碎梦 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 首先对mysql锁进行划分: 按照锁的粒度划分:行锁、表锁、页锁 按照锁的使用方式划分:共享锁、排它锁(悲观锁的一种实现) 还有两种思想上的锁:悲观锁、乐观锁。 InnoDB中有几种行级锁类型:Record Lock、Gap Lock、Next-key Lock Record Lock:在索引记录上 阅读全文
posted @ 2021-11-27 13:18 残城碎梦 阅读(437) 评论(0) 推荐(0) 编辑
摘要: 事务的四大特性 原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。 一致性(Consistency):事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。因此当数 阅读全文
posted @ 2021-11-27 13:16 残城碎梦 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 事务的并发问题 脏读(Dirty read):当一个事务正在访问数据并且对数据进行了修改,而这种修改还没有提交到数据库中,这时另外一个事务也访问了这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据,那么另外一个事务读到的这个数据是“脏数据”,依据“脏数据”所做的操作可能是不正确的。 丢失修 阅读全文
posted @ 2021-11-27 13:12 残城碎梦 阅读(325) 评论(0) 推荐(0) 编辑
摘要: java启动参数共分为三类 标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容; 非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容; 非Stable参数(-XX),此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使 阅读全文
posted @ 2021-11-26 23:14 残城碎梦 阅读(224) 评论(0) 推荐(0) 编辑
摘要: Heap Dump概述 Heap dump文件是一个二进制文件,它保存了某一时刻JVM堆中对象使用情况。Heap dump文件是指定时刻的Java堆栈的快照,是一种镜像文件。Heap dump一般都包含了一个堆中的Java Objects, Class等基本信息。同时,当你在执行一个转储操作时,往往 阅读全文
posted @ 2021-11-26 11:59 残城碎梦 阅读(2610) 评论(0) 推荐(0) 编辑
摘要: 配置完环境变量source之后,linux的ls vi命令均失效,报错如下: 解决方案: 1、输入 export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin并进行source 来确保命令暂时使用 export PATH=/usr/bin:/us 阅读全文
posted @ 2021-11-26 08:29 残城碎梦 阅读(738) 评论(0) 推荐(0) 编辑
摘要: 类加载子系统的作用 类加载子系统负责从文件系统或者网络中加载class文件,class文件在文件开头有特定的文件标识即16进制CA FE BA BE。 加载后的Class类信息存放于一块成为方法区的内存空间。除了类信息之外,方法区还会存放运行时常量池信息,可能还包括字符串字面量和数字常量(这部分常量 阅读全文
posted @ 2021-11-24 22:16 残城碎梦 阅读(77) 评论(0) 推荐(0) 编辑
摘要: Java对象的创建 几乎所以对象都在JVM的堆中创建,通过类加载器加载进内存,并检查,然后分配内存,开始类的属性初始化赋值,设置对象头信息,通过构造方法创建对象。 一个简单的创建对象语句Clazz instance = new Clazz();包含的主要过程包括了类加载检查、对象分配内存、并发处理、 阅读全文
posted @ 2021-11-24 22:11 残城碎梦 阅读(1738) 评论(0) 推荐(0) 编辑
摘要: -- 阅读全文
posted @ 2021-11-24 21:10 残城碎梦 阅读(33) 评论(0) 推荐(0) 编辑