摘要: 前言 之前暑期实习面试的时候也被问到了,需要我们说一下思路,然后实现。如果让我们简单来实现一下的话,有很多的方式。比如Java就有自带的LinkedHashMap来实现,但是面试官既然问了那便是不想让你直接调用接口了。我们一般都是用哈希+双向链表来实现。下面给出三种实现方式,参考leetcode题解 阅读全文
posted @ 2020-07-10 22:01 CryFace 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 前提 临近秋招,本博文主要整理最近各大企业面经里的那些Java基础面试题,并通过对比整合给出一份参考答案。并无按照特定顺序,仅仅是提供了复习了之后测试掌握。文章的答案不一定绝对正确,如果有错误的地方还望指出! 正文 1、equals 和 == 的区别? 最直接,我们点开equals的源码 publi 阅读全文
posted @ 2020-07-04 13:49 CryFace 阅读(693) 评论(0) 推荐(0) 编辑
摘要: 概念 持久化保证了即使 redis 服务重启也不会丢失数据,因为 redis 服务重启后会将硬盘上持久化的数据恢复到内存中,但是当 redis 服务器的硬盘损坏了可能会导致数据丢失,如果通过 redis 的主从复制机制就可以避免这种单点故障。 主从复制,是指将一台Redis服务器的数据,复制到其他的 阅读全文
posted @ 2020-06-19 16:24 CryFace 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 键过期删除策略 Redis的键可以设置过期时间,时间一到,就会自动删除。但是我们会不会这么一种情景发生:会不会因为有这么同一时刻太多的key过期,以至于忙不过来。同时因为 Redis 是单线程的,收割的时间也会占用线程的处理时间,如果收割的太过于繁忙,会不会导致线上读写指令出现卡顿? 其实关于这个键 阅读全文
posted @ 2020-06-18 13:44 CryFace 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 前言 ​ 我们都知道Redis的数据都存在内存里,如果突然宕机,数据就会全部丢失,因此必须有一种机制来保证Redis的数据不会因为故障而丢失,这种机制就是Redis的持久化机制。 ​ Redis的持久化机制主要是有两种,第一种是RDB快照,第二种是AOD日志。如果我们的服务器开启了AOF持久化功能, 阅读全文
posted @ 2020-06-17 10:53 CryFace 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 转载 Redis事务的概念: Redis 事务的本质是一组命令的集合。事务支持一次执行多个命令,一个事务中所有命令都会被序列化。在事务执行过程,会按照顺序串行化执行队列中的命令,其他客户端提交的命令请求不会插入到事务执行命令序列中。 总结说:redis事务就是一次性、顺序性、排他性的执行一个队列中的 阅读全文
posted @ 2020-06-16 10:30 CryFace 阅读(111) 评论(0) 推荐(0) 编辑
摘要: Redis认识 什么是Redis? Redis(全称:Remote Dictionary Server 远程字典服务)是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,遵守BSD协议。是一个非关系型数据库(NoSQL)。 官方是这么介绍的: Re 阅读全文
posted @ 2020-06-15 09:09 CryFace 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 简介 代理模式是我们使用率比较高的一个模式。它的定义是为其他对象提供一种代理以控制对这个对象的访问。 如果只是从定义上来看,可能无法理解。为什么要用代理来对这个对象来访问,我直接访问不行吗?行,当然行了。但是我们使用代理自然是有代理的优势,我们举个简单例子来说明一下。 有一个房东,他有一座房子要出售 阅读全文
posted @ 2020-06-10 12:08 CryFace 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 定义概念 装饰者模式也是我们23种设计模式一个比较常见的设计模式,它的定义是:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式比生成子类(继承)更为灵活。 装饰模式主要是四个角色构成: Component抽象构件 Component是一个接口或者是抽象类,就是定义我们最核心的对象,也就是 阅读全文
posted @ 2020-06-06 21:18 CryFace 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 适配器模式三大类型模式里面的结构类模式,它的定义主要是将一个类的接口变换成客户 端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 比如我们已经生产了接口A和接口B(如下图),而且产品已经上线了。但是这个时候我们需要让A接口和B接口对接,这就比较为难了,总不能推翻重 阅读全文
posted @ 2020-06-05 21:11 CryFace 阅读(173) 评论(0) 推荐(0) 编辑