
《Java-2021面试谈资系列》
文章平均质量分 89
java面试高频知识点,考点!!!
TCC呼啦呼啦
技术宅拯救世界
展开
-
基于Binlog的方式实现数据一致性问题
基于Binlog的方式实现数据一致性问题一、提出问题二、整体思路三、框架设计四、总结一、提出问题通常我们在做服务端开发的时候,都会涉及到数据库和缓存,那数据库和缓存如何保证数据的一致性呢?这个问题是有待考虑的是先删除缓存再写数据库呢?还是先写数据再跟新缓存?接下来,给大家分享一下我面对这种问题的一种解决方案二、整体思路MySQL binlog增量订阅消费+消息队列+增量数据更新到redis1)读Redis:热数据基本都在Redis2)写MySQL:增删改都是操作MySQL3)更新R原创 2021-07-18 15:41:42 · 1481 阅读 · 0 评论 -
RabbitMQ消息队列(一)《Java-2021面试谈资系列》
RabbitMQRabbitMQ消息队列一、中间件1.什么是中间件2.中间件技术及架构概述3.消息中间件1.消息中间件的分布式架构2.消息中间件使用场景3.常见的消息中间件4.消息中间件的本质和设计二、消息队列的理解1.消息队列协议2.消息队列持久化3.消息的分发策略4.消息队列高可用、高可靠三、RabbitMQ入门1.安装2.RabbitMQ角色分类3.入门案例4.AMQP四、RabbitMQ核心组成1.RabbitMQ核心组成概念2.RabbitMQ架构设计3.RabbitMQ运行流程4.RabbitM原创 2021-04-28 21:45:21 · 309 阅读 · 2 评论 -
Docker-Compose初体验
Docker Compose一、Docker Compose1.Compose简介2.Compose理解3.Compose安装4.Compose体验步骤一步骤二步骤三步骤四总结一、Docker Compose1.Compose简介我们之前的Docker流程是这样的DockerFile–>build–>run 都是手动操作,单个容器!思考:如果我们有100个、1000个微服务,我们也要一个个的手动操作嘛?结果:为了解决这样的问题,我们引入一个Docker Compose 来轻松原创 2021-04-24 16:03:04 · 506 阅读 · 1 评论 -
分布式全文搜索引擎ES详解《Java-2021面试谈资系列》
ElasticSearchElasticSearch一、ES概述二、对比ES1.Solr简介2.Lucene简介3.ES和Solr对比三、安装ES1.下载:2.安装:四、安装Kibana1.了解ELK2.安装kibana五、ES核心概念1.文档2.类型3.索引4.倒排索引5.总结六、IK分词器插件七、Rest风格-ES操作详解关于索引的操作1.基本测试2.GET命令3.修改索引4.删除文档关于文档的操作1.基本操作2.复杂操作查询总结ElasticSearch为啥要学ElasticSearch?---原创 2021-04-19 21:32:08 · 6547 阅读 · 3 评论 -
一篇拿下Nginx!《Java-2021面试谈资系列》
Nginx服务器Nginx一、什么是Nginx二、Nginx的作用三、Nginx的安装Windows安装操作Linux安装操作四、Nginx常用命令五、实战测试Nginx一、什么是NginxNginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。2011年6月1日,nginx原创 2021-04-15 12:51:43 · 549 阅读 · 0 评论 -
当下最火的Docker容器(二)《Java-2021面试谈资系列》
DockerDocker五、Docker镜像讲解1.镜像是什么2.Docker镜像加载原理3.分层理解4.commit镜像六、容器数据卷1.什么是容器数据卷?2.使用数据卷3.Mysql数据同步4.具名和匿名挂载5.初始Dockerfile6.数据卷容器七、DockerFile1.DockerFile介绍2.DockerFile构建过程:3.DockerFile指令4.实战:构建自己的Centos测试CMD测试ENTRYPOINT5.小结:八、Docker网络1.理解Docker0总结:2.--link探究原创 2021-04-11 17:02:05 · 2050 阅读 · 4 评论 -
当下最火的Docker容器(一)《Java-2021面试谈资系列》
这里写目录标题Docker一、Docker概述1.Docker的出现2.Docker的历史3.Docker能干什么?二、Docker安装1.Docker的基本组成2.安装Docker3.阿里云镜像加速4.回顾HelloWorld流程5.底层原理三、Docker的常用命令1.帮助命令2.镜像命令查看镜像搜索镜像下载镜像删除镜像3.容器命令新建容器并启动列出所有运行的容器退出容器删除容器4.常用的其他命令后台启动容器查看日志查看容器中进程信息查看镜像元数据进入当前正在运行的容器从容器内拷贝文件到主机上5.小结四原创 2021-04-09 21:18:08 · 502 阅读 · 3 评论 -
聊聊:Redis缓存击穿和雪崩《Java-2021面试谈资系列》
Redis高频面试点一、缓存穿透1.1概述:1.2解决方法:二、缓存击穿2.1概述:2.2解决办法:三、缓存雪崩3.1概述:3.2解决方法:一、缓存穿透1.1概述:缓存穿透是指查询一个一定不存在的数据,当我们的缓存中没有这样的数据时,就会去数据库中查,当数据库中也没有时,由于查询不到,数据就会一直请求,一直不断的查询;当有大量不存在的key一直访问时,就会引起缓存穿透。一般都是恶意攻击!1.2解决方法:那面对这样的恶意攻击,我们有没有解决办法呢?BloomFilter:布隆过滤器布隆过滤器原创 2021-03-08 20:00:50 · 299 阅读 · 0 评论 -
一篇Redis搞定面试官《Java-2021面试谈资系列》
Redis高频面试点!!!一、事务二、Redis.conf详解三、Redis持久化3.1RDB (Redis DataBase)3.2AOF(Append Only File)四、Redis发布订阅五、Redis主从复制5.1环境配置5.2一主二从5.3哨兵模式六、Redis缓存击穿和雪崩6.1缓存穿透(查不到)6.2缓存击穿(量太大)6.3缓存雪崩一、事务Mysql:ACID!要么同时成功,要么同时失败-----原子性Redis单条命令是保证原子性的,但是事务不保证原子性!Redis事务本质:一直原创 2021-03-08 17:49:50 · 2440 阅读 · 2 评论 -
浅谈:SpringCloud框架总结《Java-2021面试谈资系列》
Spring Cloud 是一套完整的微服务解决方案,基于 Spring Boot 框架,准确的说,它不是一个框架,而是一个大的容器,它将市面上较好的微服务框架集成进来,从而简化了开发者的代码量。SpringCloud框架一、核心二、组件介绍三、Eureka注册中心3.1配置文件3.2启动类3.3对比Zookeeper四、Ribbon客户端负载均衡4.1Ribbon是什么?4.2Ribbon能干嘛?4.3集群的搭建五、Feign负载均衡5.1简介5.2feign能干嘛?5.3对比之前的客户端六、服务熔断H原创 2021-02-18 21:55:39 · 2674 阅读 · 7 评论 -
浅谈:SpringBoot框架原理《Java-2021面试谈资系列》
说到SpringBoot,大家可能最熟悉的就是:注解开发!自动装配!微服务!可这些大家有没有真正的去从底层了解过呢?今天,小编对自己的Springboot理解进行一个分享,同时也欢迎大家指正!SpringBoot学习一、原理解析1.pom.xml2.启动器:3.主程序:4.注解挖掘!!!【重点】@ComponentScan@SpringBootConfiguration@EnableAutoConfiguration自动装配1.@AutoConfigurationPackage2.@Import(Auto原创 2021-02-10 17:21:09 · 1651 阅读 · 5 评论 -
浅谈:Spring框架的学习(面试收藏!!!)
SpringIOC实现原理1.IOC概述:2.IOC的创建对象的方法AOP实现原理1.AOP的概述:2.AOP的原理:3.AOP的实现:方式一:方式二:方式三:今天聊一聊我自己对Spring的学习总结分析,Spring说白了就两个点:IOC 和 AOP这两个点也是面试官最爱问的两个点,那么今天我就主要讲一下我对这两个点的理解IOC实现原理再说IOC之前,我先给大家看幅图:在没了解IOC之前,我们的程序都是这样的,用户需要去查看数据,找到业务层,业务层对应去帮用户找到用户想要查看的数据,而我们程序原创 2021-01-31 20:42:31 · 734 阅读 · 3 评论 -
浅谈:MyBatis框架的学习(面试收藏!!!)
MyBatis一级目录二级目录三级目录一级目录二级目录三级目录原创 2021-01-26 19:54:54 · 1371 阅读 · 3 评论 -
HashMap底层原理剖析(面试收藏!!!)
HashMapHashMap底层原理剖析(超详细!!!)一、散列表结构二、什么是哈希?三、HashMap原理讲解3.1继承体系图3.2Node数据结构分析3.3底层存储结构3.4put数据原理分析3.5什么是哈希碰撞?3.6JDK8为什么引入红黑树?3.7扩容机制四、手撕源码1.HashMap核心属性分析2.构造方法分析3.put方法分析4.resize()方法分析5.get方法6.remove方法分析7.replace方法分析HashMap底层原理剖析(超详细!!!)一、散列表结构散列表结构就是数组原创 2021-01-05 18:09:34 · 15036 阅读 · 10 评论 -
MySQL高级之索引(超详细!!!)
MySQL数据库索引1.什么是索引?2.为什么要有索引?问题:3.mysql的索引数据结构哈希表:树:4.为什么使用B+树?1.什么是索引?索引就好比字典的目录一样我们通常都会先去目录查找关键偏旁或者字母再去查找要比直接翻查字典查询要快很多2.为什么要有索引?然而我们在使用mysql数据库的时候也像字典一样有索引的情况下去查询,肯定速度要快很多问题:1.mysql数据存储在什么地方?磁盘2.查询数据慢,一般卡在哪?IO3.去磁盘读取数据,是用多少读取多少吗?磁盘预读局部性原理:原创 2021-01-04 16:17:34 · 1569 阅读 · 1 评论