首页
学习
活动
专区
工具
TVP
发布

JavaEE

专栏作者
187
文章
207479
阅读量
48
订阅数
java面试题 --- 分布式
1. 什么是分布式? 将服务部署在多台机器上,就叫分布式。分布式有两种形式,一种是水平扩展,即将同样的系统部署在多台机器上,让流量分发到这多台机器上;另一种是垂直拆分,就是把一个系统拆分成若干个子系统,不同的子系统负责不同的服务。 ---- 2. 什么是集群? 不同的机器部署相同的服务,对外表现为一个整体。集群要具有高可用性,一台机器挂了其他机器还能正常提供服务;也得具备可扩展性,可以动态地增加机器,提高集群的处理能力;还得具备负载均衡能力。 ---- 3. 什么是 CAP 定理? C 表示一致性,A
贪挽懒月
2022-11-16
3970
java面试题 --- MQ
1. 什么是 MQ,有什么作用? MQ 就是消息中间件,它的作用有异步,解耦,削峰。 ---- 2. 市场上有很多 MQ 产品,我们要如何选择? 常见的 MQ 有 ActiveMQ,它是老牌的 MQ,性能不算太好;还有 RocketMQ,是阿里巴巴开源的 MQ,性能卓越,但是社区不活跃;RabbitMQ,性能十分强悍,社区活跃,唯一的缺点就是它不是 java 语言编写的,难以做二次开发;还有 kafka,一般用于大数据领域。我们可以根据自己的系统的并发量,以及是否要做二次开发等来确定使用哪种
贪挽懒月
2022-09-29
3460
java面试题 --- Spring②
1. SpringBoot 有哪些优点? 简单轻量,远离繁琐配置,开箱即用; 提供了大量的 starter,不用导入大量的 maven 依赖,不用担心版本问题。 ---- 2. SpringBoot 的核心注解是什么? @SpringBootApplication 是 SpringBoot 的核心注解,这个注解其实是一个是组合注解,它由 @ComponentScan、@Configuration 和 @EnableAutoConfiguration 三个注解构成。@ComponentScan 是用来
贪挽懒月
2022-09-02
2130
java面试题 --- Redis②
休眠一段时间再删的目的是,假如请求 A 进来先删了 Redis 中的数据,然后再还没来得及更新数据库的时候,请求 B 进来了,读取到的是数据库的旧数据;接着请求 A 更新完了 DB,再删 Redis;然后请求 B 再把读取到的旧数据写到 Redis 中,这样还是会导致数据库和 Redis 数据不一致。休眠一段时间就可以保证请求 B 能把读取数据库和写 Redis 的步骤执行完,执行完后请求 A 再去删 Redis,就可以把 Redis 中的旧数据删除。 所以休眠的时间应该大于请求 B 读数据库和写 Redis 的总时间。如果不是要求强一致性,不推荐这种做法,休眠一段时间体验不太好。
贪挽懒月
2022-05-13
2660
java面试题 --- Redis①
一般会同时开启 RDB 和 AOF,同时开启的情况下,会优先根据 AOF 文件来恢复数据。
贪挽懒月
2022-05-13
2010
布隆过滤器
项目中的热点数据我们一般会放在 redis 中,在数据库前面加了一层缓存,减少数据库的访问,提升性能。但如果,请求的 key 在 redis 中并不存在,那请求还是会抵达数据库,这就叫缓存穿透。
贪挽懒月
2021-11-29
3490
分布式ID
分布式 ID 就是在分布式项目中我们给数据库记录用的 ID。和单机版项目有啥不同呢?单机版的我们可以用 数据库自增等方式来生成 ID,但是分布式项目中,项目部署在好几台机器上,数据库自增也是有可能会出现重复的情况。所以就需要一种算法来生成适用于分布式系统的 ID。
贪挽懒月
2021-11-29
6440
如何搭建redis集群 --- redis-cluster
在之前的《来聊聊NoSql》一文中,已经说了redis三种集群模式中的主从和哨兵,接下来再看看redis-cluster怎么玩。本文基于redis-cluster官方文档(https://redis.io/topics/cluster-tutorial),将其细化具体化,每一个操作过程都详细记录,如果官方文档读起来有点吃力,本文会是你不错的选择。 本文内容包括:
贪挽懒月
2020-08-11
1.9K0
如何设计一个秒杀系统
声明:本人并未参与过真正的秒杀系统设计,以下是本人学习笔记,自测通过,但可能并不完善,仅供参考,若用于生产出现问题,本人概不负责。
贪挽懒月
2020-08-11
3890
分布式锁
1、锁的应用场景: 在单体应用中,我们会使用ReentrantLock或Synchronized来应对并发场景。 比如最常见的卖票场景,假如总共有100张票,线程A和线程B同时操作,如下图:
贪挽懒月
2020-06-16
6240
如何设计一个幂等接口
问:为什么要多次操作结果都一致呢?比如我查询数据,每次查出来的都一样,即使我修改了每次查出来的也都要一样吗?
贪挽懒月
2020-06-02
1.2K0
来聊聊NoSql
带着这几个问题去学,我们才能将它的衣服一件件的扒光,最后看到它的本质。不然面试的时候面试官稍微问得深入一点就凉凉了。接下来聊聊NoSql。
贪挽懒月
2019-08-26
6570
spring及springboot整合redis前言:一、整合前提:二、spring整合redis:三、springboot整合redis:总结:
redis是一种nosql数据库,以<key,value>的形式存储数据,其速度相比于MySQL之类的数据库,相当于内存读写与硬盘读写的差别,所以常常用作缓存。接下来就分别看看在spring项目和springboot项目中如何使用redis(项目都基于SSM)。
贪挽懒月
2018-08-02
4970
redis学习之redis基本数据类型前言:数据类型详解:
前言: redis有5种基本数据类型,分别是String(字符串)、Hash(字典)、List(列表)、Set(集合)、Zset(有序集合),下面就分别来说一下这五种数据类型。 数据类型详解: 1、String: 二进制安全的数据类型,类似于Java中的Map,以key、value的形式存储数据。它有如下方法: ①、set和get方法:赋值和获取值 语法: set key value get key 例子: set username tom get username ②、del方法:删除指定的
贪挽懒月
2018-06-26
4510
redis学习之redis的安装(linux)redis简介:redis的安装:启动redis:修改:总结:
redis简介: redis是一个nosql数据库,也就是非关系型数据库,数据保存在内存中而不是硬盘中,所以读取速度非常快,但是因为它是非关系型数据库,不适合用来存储复杂的数据,所以常用来做缓存。一开始redis只有linux版本,后来退出了windows版,但是服务器基本上都是linux系统,所以接下来看看在linux中如何安装redis。 redis的安装: 1、安装gcc编译器 yum install gcc-c++ 2、下载redis 我们把redis下载到/usr/local/software
贪挽懒月
2018-05-18
1.5K0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档