大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
1. 前言
相信大家对 ZooKeeper 应该不算陌生。但是你真的了解 ZooKeeper 到底有啥用不?如果别人/面试官让你给他讲讲对于 ZooKeeper 的认识,你能回答到什么地步呢?
拿我自己来说吧!我本人曾经使用 Dubbo 来做分布式项目的时候,使用了 ZooKeeper 作为注册中心。为了保证分布式系统能够同步访问某个资源,我还使用 ZooKeeper 做过分布式锁。另外,我在学习 Kafka 的时候,知道 Kafka 很多功能的实现依赖了 ZooKeeper。
前几天,总结项目经验的时候,我突然问自己 ZooKeeper 到底是个什么东西?想了半天,脑海中只是简单的能浮现出几句话:
- ZooKeeper 可以被用作注册中心、分布式锁;
- ZooKeeper 是 Hadoop 生态系统的一员;
- 构建 ZooKeeper 集群的时候,使用的服务器最好是奇数台。
由此可见,我对于 ZooKeeper 的理解仅仅是停留在了表面。
所以,通过本文,希望带大家稍微详细的了解一下 ZooKeeper 。如果没有学过 ZooKeeper ,那么本文将会是你进入 ZooKeeper 大门的垫脚砖。如果你已经接触过 ZooKeeper ,那么本文将带你回顾一下 ZooKeeper 的一些基础概念。
另外,本文不光会涉及到 ZooKeeper 的一些概念,后面的文章会介绍到 ZooKeeper 常见命令的使用以及使用 Apache Curator 作为 ZooKeeper 的客户端。
如果文章有任何需要改善和完善的地方,欢迎在评论区指出,共同进步!
1.美团面试官问的Spring Boot问题
- 什么是 Spring Boot?
- 为什么要用 Spring Boot?
- Spring Boot 的核心配置文件有哪几个?它们的区别是什么?
- Spring Boot 的配置文件有哪几种格式?它们有什么区别?
- Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?
- 开启 Spring Boot 特性有哪几种方式?
- Spring Boot 需要独立的容器运行吗?
- 运行 Spring Boot 有哪几种方式?
- Spring Boot 自动配置原理是什么?
- Spring Boot 的目录结构是怎样的?
1.1我的Spring Boot学习笔记
- Spring Boot、Spring MVC 和 Spring 有什么区别?
- 什么是自动配置?
- 什么是 Spring Boot Stater ?
- 你能否举一个例子来解释更多 Staters 的内容?
- Spring Boot 还提供了其它的哪些 Starter Project Options?
- Spring 是如何快速创建产品就绪应用程序的?
- 创建一个 Spring Boot Project 的最简单的方法是什么?
- Spring Initializr 是创建 Spring Boot Projects 的唯一
- 为什么我们需要 spring-boot-maven-plugin?
- 如何使用 SpringBoot 自动重装我的应用程序?
- 什么是嵌入式服务器?我们为什么要使用嵌入式服务器呢?
- 如何在 Spring Boot 中添加通用的 JS 代码?
1.2Spring学习路线思维导图
2.美团面试官问的RabbitMQ问题
- 使用RabbitMQ有什么好处?
- RabbitMQ 中的 broker 是指什么?cluster 又是指什么?
- RabbitMQ 概念里的 channel、exchange 和 queue 是逻辑概念,还是对应着进程实体?分别起什么作用?
- vhost 是什么?起什么作用?
- 消息基于什么传输?
- 消息如何分发?
- 消息怎么路由?
- 什么是元数据?元数据分为哪些类型?包括哪些内容?与 cluster 相关的元数据有哪些?元数据是如何保存的?元数据在 cluster 中是如何分布的?
2.1我的RabbitMQ学习笔记
- 什么是rabbitmq
- 为什么要使用rabbitmq
- 使用rabbitmq的场景
- 如何确保消息正确地发送至RabbitMQ? 如何确保消息接收方消费了消息?
- 如何避免消息重复投递或重复消费?
- 消息基于什么传输?
- 消息如何分发?
- 消息怎么路由?
- 如何确保消息不丢失?
- 使用RabbitMQ有什么好处?
- rabbitmq的集群
- mq的缺点
3.美团面试官问的MySQL问题
- 事务四大特性
- MySQL的事务隔离级别
- 数据库的索引
- 数据库三范式
- 脏读&不可重复读&幻读
- 存储引擎 MyISAM和InnoDB区别
- Mysql中有哪几种锁?
- 讲一下存储过程
3.1我的MySQL灵魂拷问笔记
- Mysql的技术特点是什么?
- Heap表是什么?
- Mysql服务器默认端口是什么?
- 与Oracle相比,Mysql有什么优势?
- 如何区分FLOAT和DOUBLE?
- 如何获取当前的Mysql版本?
- Mysql中使用什么存储引擎?
- Mysql驱动程序是什么?
- 主键和候选键有什么区别?
- 如何使用Unix shell登录Mysql?
- 你怎么看到为表格定义的所有索引?
- InnoDB是什么?
3.2MySQL学习路线思维导图
4.美团面试官问的设计模式问题
- 请列举出在JDK中几个常用的设计模式?
- 什么是设计模式?你是否在你的代码里面使用过任何设计模式?
- Java 中什么叫单例设计模式?请用Java 写出线程安全的单例模式
- 在 Java 中,什么叫观察者设计模式(observer design pattern)?
- 使用工厂模式最主要的好处是什么?在哪里使用?
- 举一个用 Java 实现的装饰模式(decorator design pattern)?它是作用于对象层次还是类层次?
- 在 Java 中,为什么不允许从静态方法中访问非静态变量?
- 例说明什么情况下会更倾向于使用抽象类而不是接口?
4.1 23种设计模式知识要点
- 单例模式
- 工厂模式
- 抽象工厂模式
- 模板方法模式
- 建造者模式
- 代理模式
- 原型模式
- 中介者模式
- 命令模式
- 责任链模式
4.2设计模式学习路线思维导图
5.美团面试官问的并发编程问题
- Java中有几种方法可以实现一个线程?
- 如何停止一个正在运行的线程?
- 什么是Daemon线程?它有什么意义?
- ava如何实现多线程之间的通讯和协作?
- 乐观锁和悲观锁的理解及如何实现,有哪些实现方式?
- 什么是可重入锁(ReentrantLock)?
- 什么叫线程安全?servlet是线程安全吗?
- 同步有几种实现方法?
5.1并发编程面试专题
- Java中守护线程和本地线程区别
- 什么是多线程中的上下文切换
- 死锁与活锁的区别,死锁与饥饿的区别
- 线程与进程的区别
- Java中用到的线程调度算法是什么
- 什么是线程组,为什么在Java中不推荐使用
- 在Java中Executor和Executors的区别
- 什么是原子操作,在Java Concurrency API中有哪些原子类(atomic classes)
- 什么是Executors框架
- 什么是阻塞队列,阻塞队列的实现原理是什么,如何使用阻塞队列来实现生产者-消费者模型
5.2并发编程学习路线思维导图
6.美团面试官问的JVM虚拟机问题
- 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?
- 什么是类的加载
- 描述一下JVM加载class文件的原理机制?
- 如何判断对象可以被回收?
- 什么时候一个对象会被GC?
- 为什么要在这种时候对象才会被GC?
- JVM内存分为哪几部分,这些部分分别都存储哪些数据?
- 一个对象从创建到销毁都是怎么在这些部分里存活和转移的?
6.1JVM虚拟机面试专题
- Java 类加载过程?
- 描述一下 JVM 加载 Class 文件的原理机制?
- Java 内存分配。
- GC 是什么? 为什么要有 GC?
- 简述 Java 垃圾回收机制。
- 如何判断一个对象是否存活?(或者 GC 对象的判定方法)
- 垃圾回收的优点和原理。并考虑 2 种回收机制。
- 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
- Java 中会存在内存泄漏吗,请简单描述。
- 深拷贝和浅拷贝
6.2 JVM虚拟机学习路线思维导图
7.美团面试官问的Redis问题
- 什么是Redis?简述它的优缺点?
- Redis相比memcached有哪些优势?
- Redis支持哪几种数据类型?
- Redis主要消耗什么物理资源?
- Redis的全称是什么?
- Redis有哪几种数据淘汰策略?
- Redis官方为什么不提供Windows版本?
- Redis集群方案应该怎么做?都有哪些方案?
- 为什么Redis需要把所有数据放到内存中?
- Redis有哪些适合的场景?
7.1 Redis面试专题
- 为什么要用 redis /为什么要用缓存
- 为什么要用 redis 而不用 map/guava 做缓存?
- redis 和 memcached 的区别
- redis 常见数据结构以及使用场景分析
- redis 设置过期时间
- redis 内存淘汰机制(MySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据?)
- redis 持久化机制(怎么保证 redis 挂掉之后再重启数据可以进行恢复)
- redis 事务
- Redis 常见异常及解决方案
- 分布式环境下常见的应用场景
7.2 Redis学习路线思维导图
8. 我的参考学习资料:Java核心知识点整理
JVM,集合,HTTP网络,多线程并发,JAVA基础,Spring,微服务,Zookeeper,Kafka,RabbitMQ,Hbase,消息中间件,MongoDB,设计模式,负载均衡,数据库,一致性哈希,算法,数据结构,加密算法,分布式缓存,Netty,Linux,Tomcat,Nginx,Redis等
9. 各类学习书籍整理
10. 各类面试题整理
文末java面试题,进阶技术大纲,架构资料分享
我将这三次阿里面试的题目全部分专题整理出来,并附带上详细的答案解析,生成了一份PDF文档,有兴趣的朋友们可以点击这里即可免费领取
- 第一个要分享给大家的就是算法和数据结构
- 第二个就是数据库的高频知识点与性能优化
- 第三个则是并发编程(72个知识点学习)
- 最后一个是各大JAVA架构专题的面试点+解析+我的一些学习的书籍资料
…(img-0ysuzF6Z-1620881479841)]
- 第二个就是数据库的高频知识点与性能优化
[外链图片转存中…(img-lSRitn94-1620881479841)]
- 第三个则是并发编程(72个知识点学习)
[外链图片转存中…(img-kbZVT7oV-1620881479844)]
- 最后一个是各大JAVA架构专题的面试点+解析+我的一些学习的书籍资料
[外链图片转存中…(img-Y8s6OBYl-1620881479844)]
还有更多的Redis、MySQL、JVM、Kafka、微服务、Spring全家桶等学习笔记这里就不一一列举出来
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/186448.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...