摘要: 前言 在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流 缓存: 缓存的目的是提升系统访问速度和增大系统处理容量 降级: 降级是当服务出现问题或者影响到核心流程时,需要暂时屏蔽掉,待高峰或者问题解决后再打开 限流: 限流的目的是通过对并发访问/请求进行限速,或者对一个时间窗口内的请求进行限速 阅读全文
posted @ 2020-10-30 11:38 谁主沉浮oo7 阅读(866) 评论(0) 推荐(0) 编辑
摘要: 1. 定义 红黑树也是二叉查找树,我们知道,二叉查找树这一数据结构并不难,而红黑树之所以难是难在它是自平衡的二叉查找树,在进行插入和删除等可能会破坏树的平衡的操作时,需要重新自处理达到平衡状态。红黑树是一种含有红黑结点并能自平衡的二叉查找树,又称黑色完美平衡。 动画演示:https://rbtree 阅读全文
posted @ 2020-10-10 14:59 谁主沉浮oo7 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 一、概要 HashMap在JDK1.8之前的实现方式 数组+链表,但是在JDK1.8后对HashMap进行了底层优化,改为了由 数组+链表+红黑树实现,主要的目的是提高查找效率。 如下图所示: JDK版本 实现方式 节点数>=8 节点数<=6 1.8以前 数组+单向链表 数组+单向链表 数组+单向链 阅读全文
posted @ 2020-10-10 09:16 谁主沉浮oo7 阅读(227) 评论(0) 推荐(0) 编辑
摘要: HashMap 简介 HashMap 主要用来存放键值对,它基于哈希表的Map接口实现,是常用的Java集合之一。 JDK1.8 之前 HashMap 由 数组+链表 组成的,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突而存在的(“拉链法”解决冲突).JDK1.8 以后在解决哈希冲突 阅读全文
posted @ 2020-10-09 17:08 谁主沉浮oo7 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 1. transient的作用及使用方法 我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个类的所有属性和方法都会自动序列化。 然而在实际开 阅读全文
posted @ 2020-09-30 16:24 谁主沉浮oo7 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 介绍 Java语言中提供了很多运算符来操作变量,现总结以下七种: 赋值运算符 算术运算符 关系运算符 逻辑运算符 位运算符 三目运算符 instanceof运算符 一、赋值运算符 赋值符号 " = " 语法:变量名 = 表达式; 可以和算术运算符结合成复合赋值运算符,例如" += "、" -= "、 阅读全文
posted @ 2020-09-29 09:10 谁主沉浮oo7 阅读(564) 评论(0) 推荐(0) 编辑
摘要: 什么是MySQL? MySQL 是一种关系型数据库,在Java企业级开发中非常常用,因为 MySQL 是开源免费的,并且方便扩展。阿里巴巴数据库系统也大量用到了 MySQL,因此它的稳定性是有保障的。MySQL是开放源代码的,因此任何人都可以在 GPL(General Public License) 阅读全文
posted @ 2020-09-28 09:00 谁主沉浮oo7 阅读(672) 评论(0) 推荐(1) 编辑
摘要: 一.对ThreadLocal的理解 ThreadLocal,很多地方叫做线程本地变量,也有些地方叫做线程本地存储,其实意思差不多。可能很多朋友都知道ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。 这句话从字面上看起来很容易理解,但是真正理解并不是那 阅读全文
posted @ 2020-09-25 17:37 谁主沉浮oo7 阅读(295) 评论(0) 推荐(1) 编辑
摘要: Kafka基本概念 Producer: 消息和数据的生产者,向kafka的一个topic发布消息的进程、代码、服务。 Consumer:消息和数据的消费者,订阅数据并且处理器发布的消息的进程、代码、服务。 Consumer Group:逻辑概念,对于同一个topic,会广播给不同的group,一个g 阅读全文
posted @ 2020-09-25 15:03 谁主沉浮oo7 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 基本概念 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 介绍 意图:定义一个创建对象的接口, 阅读全文
posted @ 2020-09-21 17:23 谁主沉浮oo7 阅读(105) 评论(0) 推荐(0) 编辑