自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

转载 限流算法

限流算法计数器(固定窗口)算法滑动窗口算法漏桶算法令牌桶算法计数器(固定窗口)算法计数器算法是使用计数器在周期内累加访问次数,当达到设定的限流值时,触发限流策略。下一个周期开始时,进行清零,重新计数。此算法在单机还是分布式环境下实现都非常简单,使用redis的incr原子自增性和线程安全即可轻松实现。这个算法通常用于QPS限流和统计总访问量,对于秒级以上的时间周期来说,会存在一个非常严重的问题,那就是临界问题:假设1min内服务器的负载能力为100,因此一个周期的访问量限制在100,然而在第一个周

2020-07-17 16:46:26 200

原创 HTTPS单向/双向认证

HTTPS单向/双向认证基本概念原理单向认证流程双向认证流程基本概念keystore: keytool生成证书的存储库,用来存储若干条目(证书),每一条目包含公私钥,主体信息等。默认为用户目录下.keystore,相当于一个有密码保护的文件。truststore: 与keystore格式相同,只是为区分keystore用来存放信任的证书的新的库,不存密钥等信息。der:证书编码格式,证书结构体转换为二进制格式。pem:证书编码格式,对der二进制编码的base64字符,包含—begin—,---

2020-07-02 17:50:02 741

原创 SpringMVC面试题

Spring MVC面试题1 什么是Spring MVC?2 Spring MVC的执行流程3 Spring MVC的优点:4 Spring MVC的主要组件5 Spring MVC和struts2的区别有哪些?6 Spring MVC怎么样设定重定向和转发的?7 Spring MVC怎么和AJAX相互调用的?8 如何解决POST请求中文乱码问题,GET的又如何处理呢?9 Spring MVC的异...

2020-06-09 21:24:11 316

原创 Mybatis面试题

Mybatis面试题1 什么是Mybatis?2 Mybaits的优点:3 MyBatis框架的缺点:4 MyBatis框架适用场合:5 MyBatis与Hibernate有哪些不同?6 #{}和${}的区别是什么?7 当实体类中的属性名和表中的字段名不一样 ,怎么办 ?8 模糊查询like语句该怎么写?9 通常一个Xml映射文件,都会写一个Dao接口与之对应,请问,这个Dao接口的工作原理是什么...

2020-06-09 21:24:04 294

原创 Spring面试题

Spring面试题1 Spring是什么?2 Spring的优点3 AOP3.1 AOP中的相关概念3.2 AOP的实现3.2.1 JDK动态代理3.2.2 CGLib动态代理4 IoC4.1 IOC4.2 DI4.3 IoC与DI的关系1 Spring是什么?Spring是一个轻量级的IoC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使...

2020-06-09 21:23:57 200

原创 redis面试题

redis面试题1 什么是redis?2 redis的优点3 redis支持的数据类型4 缓存和数据库双写一致性问题5 缓存雪崩问题6 缓存击穿问题7 单线程的redis为什么这么快8 Redis 持久化机制9 缓存雪崩9 缓存穿透9 缓存预热9 缓存更新9 缓存降级9 Memcache与Redis的区别都有哪些?9 redis的过期策略以及内存淘汰机制9 主从复制,读写分离9 为什么Redis的...

2020-06-09 21:23:30 628

原创 杂乱

12

2020-06-09 21:23:22 129

原创 分布式事务

1 本地事务的实现原理本地事务的 ACID 是通过 InnoDB 日志和锁来保证。原子性和一致性通过 Undo Log 来实现;事务的隔离性是通过数据库锁的机制实现的;持久性通过 Redo Log(重做日志)来实现。Undo Log 的原理很简单,为了满足事务的原子性,在操作任何数据之前,首先将数据备份到一个地方(这个存储数据备份的地方称为 Undo Log)。然后进行数据的修改。如果出现了...

2020-06-09 21:23:09 188

原创 消息队列

1.如何保证消息队列的高可用性RabbitMQ有三种模式:单机模式,普通集群模式,镜像集群模式2.如何保证消息消费时的幂等性(重复消费)其实消息重复消费的主要原因在于回馈机制(RabbitMQ是ack,Kafka是offset),在某些场景中我们采用的回馈机制不同,原因也不同,例如消费者消费完消息后回复ack, 但是刚消费完还没来得及提交系统就重启了,这时候上来就pull消息的时候由于没有提...

2020-06-09 21:22:54 358

原创 JAVA复制

JAVA复制1 概念2 直接赋值复制3 浅复制(复制引用但不复制引用的对象)4 深复制(复制对象和其应用对象)5 序列化(深 clone 一中实现)1 概念将一个对象的引用复制给另外一个对象,一共有三种方式。第一种方式是直接赋值,第二种方式是浅拷贝,第三种是深拷贝。所以这三种概念实际上都是为了拷贝对象。2 直接赋值复制直接赋值。在 Java 中,A a1 = a2,我们需要理解的是这实际上...

2019-09-20 17:48:11 158

原创 JAVA序列化(创建可复用的 Java 对象)

@[TOC](JAVA序列化(创建可复用的 Java 对象))1 保存 ( 持久化 ) 对象及其状态到内存或者磁盘Java 平台允许我们在内存中创建可复用的 Java 对象,但一般情况下,只有当 JVM 处于运行时,这些对象才可能存在,即,这些对象的生命周期不会比 JVM 的生命周期更长。但在现实应用中,就可能要求在JVM停止运行之后能够保存(持久化)指定的对象,并在将来重新读取被保存的对象。...

2019-09-20 13:29:23 255

原创 JAVA泛型

JAVA泛型1 概念2 泛型方法( )3 泛型类 4 类型通配符 ?5 类型擦除1 概念泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。比如我们要写一个排序方法,能够对整型数组、字符串数组甚至其他任何类型的数组进行排序,我们就可以使用 Java 泛型。2 泛型方法( )你可以写一个泛型方法,该...

2019-09-19 21:19:49 2450

原创 JAVA内部类

JAVA内部类1 概念2 静态内部类3 成员内部类4 局部内部类(定义在方法中的类)5 匿名内部类(要继承一个父类或者实现一个接口、直接使用new来生成一个对象的引用)1 概念Java 类中不仅可以定义变量和方法,还可以定义类,这样定义在类内部的类就被称为内部类。根据定义的方式不同,内部类分为静态内部类,成员内部类,局部内部类,匿名内部类四种。2 静态内部类定义在类内部的静态类,就是静态内...

2019-09-19 21:12:02 530 3

原创 JAVA注解

JAVA注解1 概念2 4种标准元注解2.1 @Target 修饰的对象范围2.2 @Retention 定义被保留的时间长短2.3 @Documented 描述-javadoc2.4 @Inherited 阐述了某个被标注的类型是被继承的3 注解处理器1 概念A nnotation(注解)是 Java 提供的一种对元程序中元素关联信息和元数据(metadata)的途径和方法。Annatati...

2019-09-19 21:01:11 168

原创 JAVA反射

JAVA反射1 动态语言2 反射机制概念(运行状态中知道类所有的属性和方法)3 反射的应用场合3.1 编译时类型和运行时类型3.2 编译时类型无法获取具体方法4 Java 反射 API5 反射使用步骤(获取 Class 对象、调用对象方法)5.1 获取 Class 对象的 3 种方法5.1.1 调用某个对象的 getClass() 方法5.1.2 调用某个类的 class 属性来获取该类对应的 C...

2019-09-19 17:39:45 1155

原创 JAVA异常处理

JAVA异常处理1 概念2 异常分类2.1 Error2.2 Exception( RuntimeException、CheckedException )3 异常的处理方式4 throw 和 throws 的区别1 概念如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法。在这种情况下会抛出一个封装了错误信息的对象。此时,这个方法会立刻退出同时不返回任何值。另外,调用这个方法的...

2019-09-19 17:22:57 166

原创 JAVA多线程并发

JAVA多线程并发1 JAVA并发知识库2 JAVA 线程实现/创建方式2.1 继承 Thread 类2.2 实现 Runnable 接口2.3 Callable 、Future 、ExecutorService 有返回值线程2.4 基于线程池的方式2.4.1 4种线程池2.4.1.1 newCachedThreadPool2.4.1.2 newFixedThreadPool2.4.1.3 new...

2019-09-18 20:33:33 4082 2

原创 JAVA集合

JAVA集合1 接口继承关系和实现2 List2.1 ArrayList(数组)2.2 Vector( 数组、线程同步)2.3 LinkList(双向循环链表)3 Set3.1 HashSet(Hash表)3.2 TreeSet(二叉树)3.3 LinkHashSet(HashSet+LinkedHashMap)4 Map4.1 HashMap(数组+ 链表+ 红黑树)4.1.1 JDK7的Has...

2019-09-17 21:43:55 309

原创 JVM类加载机制

JVM类加载机制1 类加载过程(类加载生命周期)1.1 加载1.2 连接1.2.1 验证1.2.2 准备1.2.3 解析1.3 初始化1.3.1 初始化时机1.3.2 类构造器2 类加载器2.1 启动类加载器(Bootstrap ClassLoader)2.2 扩展类加载器(Extension ClassLoader)2.3 应用程序类加载器(Application ClassLoader)2.4...

2019-09-17 17:34:24 141

原创 JVM内存模型、垃圾回收算法、垃圾收集器

JVM内存模型、垃圾回收算法、垃圾收集器JVM内存模型程序计数器(PC寄存器,线程私有)虚拟机栈(线程私有)本地方法栈(线程私有)堆(Heap- 线程共享)新生代Eden 区From Survivor 区To Survivor 区MinorGC 的过程(采用复制算法,复制->清空->互换)老年代方法区(非堆,线程共享)垃圾回收与算法如何确定垃圾引用计数法可达性分析(根搜索法)垃圾回收算...

2019-09-16 22:49:21 421

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除