《分享几道高频 Redis 高频面试题,面试不用愁》
1、说说 Redis 都有哪些应用场景?缓存:这应该是 Redis 最主要的功能了,也是大型网站必备机制,合理地使用缓存不仅可以加 快数据的访问速度,而且能够有效地降低后端数据源的压力。共享Session:对于一些依赖 session 功能的服务来说,如果需要从单机变成集群的话,可以选择 redis 来统一管理 session。消息队列系统:消息队列系统可以说是一个大型网站的必备基础组件,因为其具
线程安全之Synchronized关键字
1 多线程下为什么会存在线程安全问题线程的合理使用能够提升程序的处理性能,一是能够利用多核 CPU 来实现线程的并行执行,二是线程的异步化执行能够提高系统的吞吐量。虽然线程有这些优点,但同时也带来了很多问题。比如说:1.1 共享变量带来的安全性问题先来看个图:一个变量 i ,如果线程 A 或者线程 B 单独访问并且修改变量 i 的值没有任何问题,那如果并行的修改变量 i ,那就会有安全性问题。然后
《初步了解JVM》第1章
大家都知道,Java中JVM的重要性,学习了JVM你对Java的运行机制、编译过程和如何对Java程序进行调优相信都会有一个很好的认知。废话不多说,直接带大家来初步认识一下JVM。什么是JVM?JVM(Java Virtual Machine)是一个抽象的计算机,和实际的计算机一样,它具有指令集并使用不同的存储区域,它负责执行指令,还要管理数据、内存和寄存器。看到这里,可能不懂JVM的人,已经蒙圈
MySQL高频面试题的灵魂拷问
唯一索引比普通索引快吗, 为什么?唯一索引不一定比普通索引快, 还可能慢。查询时, 在未使用limit 1的情况下, 在匹配到一条数据后, 唯一索引即返回, 普通索引会继续匹配下一条数据, 发现不匹配后返回. 如此看来唯一索引少了一次匹配, 但实际上这个消耗微乎其微.更新时, 这个情况就比较复杂了. 普通索引将记录放到change buffer中语句就执行完毕了. 而对唯一索引而言, 它必须要校验
看看MQ?必须告诉你为什么要使用MQ消息中间件(图解版)
看看MQ?必须告诉你为什么要使用MQ消息中间件(图解版)
Springboot:高并发下耗时操作的实现
高并发下的耗时操作高并发下,就是请求在一个时间点比较多时,很多写的请求打过来时,你的服务器承受很大的压力,当你的一个请求处理时间长时,这些请求将会把你的服务器线程耗尽,即你的主线程池里的线程将不会再有空闲状态的,再打过来的请求,将会是502了。加q群:478052716 免费领取(Java架构资料,视频资料,BATJ面试资料)请求流程图http1 http2 http3 th
《MySQL主从不一致情形与解决方法》
一、MySQL主从不同步情况1.1 网络的延迟由于mysql主从复制是基于binlog的一种异步复制通过网络传送binlog文件,理所当然网络延迟是主从不同步的绝大多数的原因,特别是跨机房的数据同步出现这种几率非常的大,所以做读写分离,注意从业务层进行前期设计。1.2 主从两台机器的负载不一致由于mysql主从复制是主数据库上面启动1个io线程,而从上面启动1个sql线程和1个io线程,当中任何一
收藏版:《JDK13新特性详解》
收藏版:《JDK13新特性详解》
《入门MySQL—备份与恢复》
本篇文章将主要讲解 MySQL 数据库数据备份与恢复相关知识,主要聚焦于逻辑备份,介绍mysqldump工具的使用以及恢复方法。这里简单讲下物理备份和逻辑备份的概念:物理备份:备份数据文件,转储数据库物理文件到某一目录。物理备份恢复速度比较快,但占用空间比较大,MySQL中可以用 xtrabackup 工具来进行物理备份。逻辑备份:对数据库对象利用工具进行导出工作,汇总入备份文件内。逻
开发人员如何解决 Spring Cloud 服务冲突和实例乱窜?
作者:zlt2000 原文:https://www.cnblogs.com/zlt2000/p/11459390.html?utm_source=tuicool&utm_medium=referral 一、背景在我们开发微服务架构系统时,虽然说每个微服务都是孤立的可以单独开发,但实际上并非如此,要调试和测试你的服务不仅需要您的微服务启动和运行,还需要它的上下文服务、依赖的基础服
金九银十面试前必须要知道的“21道Redis面试题”
金九银十面试前必须要知道的“21道Redis面试题”
当面试官问到:《MySQL数据库的锁机制》该如何拿分?
当面试官问到:《MySQL数据库的锁机制》该如何拿分?
安排《蚂蚁花呗1234面:Redis+分布式架构+MySQL+linux+红黑树》
安排《蚂蚁花呗1234面:Redis+分布式架构+MySQL+linux+红黑树》
《用消息服务来提高微服务的可靠性》
《用消息服务来提高微服务的可靠性》
《集群、限流、缓存 BAT 大厂无非也就是这么做的》
《集群、限流、缓存 BAT 大厂无非也就是这么做的》
脏读、幻读和不可重复读?为啥?
脏读、幻读和不可重复读?为啥?
《大牛到底是如何阅读JDK源码的?》一起来学习一下
大牛到底是如何阅读JDK源码的?
这几道Redis面试题都不懂,offer肯定与你擦肩而过
今天来分享一下Redis几道常见的面试题:如何解决缓存雪崩?如何解决缓存穿透?如何保证缓存与数据库双写时一致的问题?一、缓存雪崩1.1什么是缓存雪崩?回顾一下我们为什么要用缓存(Redis):现在有个问题,如果我们的缓存挂掉了,这意味着我们的全部请求都跑去数据库了。在前面学习我们都知道Redis不可能把所有的数据都缓存起来(内存昂贵且有限),所以Redis需要对数据设置过期时间,并采用的是惰性删除
HashMap 底层实现原理,看完面试不再懵逼。
前言:HashMap是在面试中经常会问的一点,很多时候我们仅仅只是知道HashMap他是允许键值对都是Null,并且是非线程安全的,如果在多线程的环境下使用,是很容易出现问题的。 这是我们通常在面试中会说的,但是有时候问到底层的源码分析的时候,为什么允许为Null,为什么不安全,这些问题的时候,如果没有分析过源码的话,好像很难回答, 这样的话我们来研究一下这个源码。看看原因吧。HashMap最早出
《MySQL重要知识点及面试总结》:推荐收藏
前言:这篇花文章是我花了几天时间对之前总结的MySQL知识点做了完善后的产物,这篇文章可以用来回顾MySQL基础知识以及备战MySQL常见面试问题。什么是MySQL?MySQL 是一种关系型数据库,在Java企业级开发中非常常用,因为 MySQL 是开源免费的,并且方便扩展。阿里巴巴数据库系统也大量用到了 MySQL,因此它的稳定性是有保障的。MySQL是开放源代码的,因此任何人都可以