如何实现分布式锁?已拿意向书!
内存模型
- 内存模型定义为什么要有内存模型为什么要重排序,重排序在什么时候排如何约束重排序规则happens-before
- 什么是顺序一致性
- CAS 实现的原理,是阻塞还是非阻塞方式?什么时候用,使用时需要考虑的问题
- 处理器和 Java 分别怎么保证原子操作
- 保证了原子性就能保证可见性吗?
- final 内存语义?什么时候用,使用时需要考虑的问题
- volatile 内存语义,什么时候用,用的时候需要考虑什么问题
- synchronized 内存语义,什么时候用,和锁比较一下优缺点
- synchronized 中涉及的锁升级流程
- 锁的内存语义,举例说明,加锁失败时候的处理流程
- 比较下 CAS 、volatile 、synchronized、Lock 区别
- 原子操作类底层实现机制?自增操作是怎么保证原子性的?
线程
- 线程的状态有哪些
- 如何在 Java 中实现线程?
- 如何在 Java 中启动一个线程?
- 设计线程中断的意义是什么
- Java 中 interrupted 和 isInterrupted 方法的区别?
- 如何停止一个线程?
- 线程 join 方法干什么用?
- 有三个线程 T1,T2,T3,怎么确保它们按顺序执行?
- 线程的等待通知机制实现机制?
- 为什么应该在循环中检查等待条件?
- 为什么 wait 和 notify 方法要在同步块中调用?
- 为什么 wait, notify 和 notifyAll 这些方法不在 thread 类里面?
- ThreadLocal 是什么,怎么实现的
- 线程池是什么,提交一个任务进去,处理流程?
- Executor 框架介绍
- JUC 包中提供了哪些配置好的线程池,差异化是什么
- 什么是 FutureTask?
锁
Lock 接口提供了哪些实现类
AQS 是什么,提供了哪些方法
AQS 中独占锁和共享锁的操作流程大体描述一下
重入锁有什么好处,什么时候考虑用
读写锁有什么好处,什么时候考虑用?读锁是什么类型的锁,写锁呢?
说下读写锁里的锁降级流程,什么时候可以考虑用这个机制
park 方法是怎么实现的
锁的等待通知机制 Condition 是怎么实现的,有了线程的等待通知机制为什么还要设计 Condition?
死锁怎么产生的,如何避免
说说 Java 中有哪些锁
sleep、wait、park、Condition 都能让线程等待,有什么区别?
所谓 sleep 不会释放锁,wait 会释放锁,释放锁后重新获取时它的上下文数据如何处理的?
释放锁会让 CPU 进行上下文切换吗?
容器与工具
阻塞和非阻塞有什么区别,他们可以用什么方式实现
队列(Queue)提供哪些操作
阻塞队列提供了哪些获取元素的方法,有什么区别?
阻塞队列有哪些实现?为什么要分有界无界?
CountDownLatch 怎么实现的,什么时候考虑用?
CyclicBarrier 怎么实现的,什么时候考虑用?
Semaphore 怎么实现的,什么时候考虑用?
如何在两个线程间共享数据?
Exchanger 怎么实现的,什么时候考虑用?
ConcurrentHashMap 实现?
fork/join 框架是什么?
JVM 虚拟机面试题
- 内存管理
- 为什么需要 JVM?
- 简单描述 JMM 和 JVM 两个概念
- JVM 内存管理
- 永久代、元空间、方法区的关系
- 类加载过程
- 双亲委派模式有什么好处
- 如何覆盖 JDK 提供的组件,比如覆盖 ArrayList 的实现
- new 一个对象的过程发生了什么(类加载、变量初始化、内存分配)
- 对象的死亡过程
- JVM 可能会抛出哪些 OOM
- 垃圾回收算法有哪些?优缺点比较
- 熟知的垃圾回收器有哪些,简单描述每个应用场景
- CMS 和 G1 的垃圾回收步骤是?
- G1 相对于 CMS 的优缺点
- 性能监控与调优
- 如何监控 GC
- 常见 OutOfMemoryError 有哪些
- 常见的 JDK 诊断命令有哪些,应用场景?
- CPU 较高,如何定位问题
- 内存占用较高,如何定位大对象
- 内存泄漏时,如何实时跟踪内存变化情况
- 内存泄漏时,如何定位问题代码
- 大型项目如何进行性能瓶颈调优?
- 虚拟机子系统
- 字节码是如何在 JVM 中进行流转的(栈帧)
- 方法调用的底层实现
- 方法重写和重载的实现过程
- invokedynamic 指令实现
- 如何修改字节码
- JIT 参数配置如何影响程序运行?
- 虚拟机有哪些性能优化策略
最后在提醒大伙几句:HR面试基本和国内其他的公司HR面试差别不大,包括职业规划、职业经历、离职原因、以及相关的背景调查等几个基础方面。
在和HR的沟通当中还是见仁见智,关键在于自己的职业规划以及自我定位是否清晰。在这轮沟通中就显得十分的重要。
最后提供免费的Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。
最后
看完上述知识点如果你深感Java基础不够扎实,或者刷题刷的不够、知识不全面
小编专门为你量身定制了一套<Java一线大厂高岗面试题解析合集:JAVA基础-中级-高级面试+SSM框架+分布式+性能调优+微服务+并发编程+网络+设计模式+数据结构与算法>
针对知识面不够,也莫慌!还有一整套的<Java核心进阶手册>,可以瞬间查漏补缺
全都是一丢一丢的收集整理纯手打出来的——收整在***【我的学习笔记大全】***,有需要的朋友可以自取
更有纯手绘的各大知识体系大纲,可供梳理:Java筑基、MySQL、Redis、并发编程、Spring、分布式高性能架构知识、微服务架构知识、开源框架知识点等等的xmind手绘图~
**,有需要的朋友可以自取
更有纯手绘的各大知识体系大纲,可供梳理:Java筑基、MySQL、Redis、并发编程、Spring、分布式高性能架构知识、微服务架构知识、开源框架知识点等等的xmind手绘图~
[外链图片转存中…(img-UU4iTd0E-1626361287183)]
如何实现分布式锁?已拿意向书!相关推荐
- 已超过了锁请求超时时段_分布式锁:效率与正确性的衡权
提到分布式锁,很多人也许会脱口而出 "redis",可见利用 redis 实现分布式锁已被认为是最佳实践.这两天有个同事问我一个问题:"如果某个服务拿着分布式锁的时候,r ...
- 2020最后一次Java面试,快手三面一轮游,如今已拿意向书!
2020最后一次Java面试,我去了快手.快手的面试挺有挑战性的,而且还特别有意思,感觉啥都能问到.(二面是10天前约的面试,差点要忘了)然后是HR面,前天我就收到offer. 一面二面啥的我都忘记具 ...
- 2021最后一次面试,快手三面Java一轮游,如今已拿意向书
2020最后一次Java面试,我去了快手.快手的面试挺有挑战性的,而且还特别有意思,感觉啥都能问到.(二面是10天前约的面试,差点要忘了)然后是HR面,前天我就收到offer. 一面二面啥的我都忘记具 ...
- etcd 笔记(08)— 基于 etcd 实现分布式锁
1. 为什么需要分布式锁? 在分布式环境下,数据一致性问题一直是个难点.分布式与单机环境最大的不同在于它不是多线程而是多进程.由于多线程可以共享堆内存,因此可以简单地采取内存作为标记存储位置.而多进程 ...
- 服务注册发现consul之四: 分布式锁之四:基于Consul的KV存储和分布式信号量实现分布式锁...
一.基于key/value实现 我们在构建分布式系统的时候,经常需要控制对共享资源的互斥访问.这个时候我们就涉及到分布式锁(也称为全局锁)的实现,基于目前的各种工具,我们已经有了大量的实现方式,比如: ...
- redis分布式锁 在集群模式下如何实现_收藏慢慢看系列:简洁实用的Redis分布式锁用法...
在微服务中很多情况下需要使用到分布式锁功能,而目前比较常见的方案是通过Redis来实现分布式锁,网上关于分布式锁的实现方式有很多,早期主要是基于Redisson等客户端,但在Spring Boot2. ...
- 分布式锁的三种实现方式_基于 redis 的分布式锁实现
云龙 资深运维开发工程师,负责游戏系统配置管理平台的设计和开发,目前专注于新 CMDB 系统的开发,平时也关注运维自动化,devops,python 开发等技术. 背景 CMDB 系统里面的机器数据会 ...
- Redis 分布式锁如何自动续期
欢迎关注方志朋的博客,回复"666"获面试宝典 来源:blog.csdn.net/upstream480/article/ details/121578638 Redis 实现分布 ...
- 基于 Redis 实现分布式锁思考
以下文章来源方志朋的博客,回复"666"获面试宝典 来源:blog.csdn.net/xuan_lu/article/details/111600302 分布式锁 基于redis实 ...
- 真牛逼!我司用了7年的分布式锁方案...
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 提到数据一致性.操作原子性,诸如此类的一些与并发有关的词汇时不知道 ...
最新文章
- leetcode - 63. 不同路径 II
- (31)System Verilog类class详解
- 库克:到2030年苹果要实现整个供应链的碳中和
- Angular6入门
- java 快速从树节点找到数据_14期每日分享Java程序员分享超全哈希相关的知识
- 构造器2(Java)
- spring 官方文档
- vuex , 简单入(liao)门(jie)
- 【Pycharm】安装及激活、界面调整、导入anaconda的依赖库、字体设置微软雅黑
- RAC环境诊断案例一则
- php开源 饭馆记账软件_个人记账软件 - 开源免费
- python图片修改过、有原图、怎么得到改动的地方_python--修改证件照的大小
- web安全之Webshell管理工具
- Candence PCB Si 仿真设计篇前导:IBIS模型与PKG介绍
- 生成子空间的交空间与和空间
- 利用canvas开发一个绘图板
- zigbee 问题一:协调器究竟如何选择信道?
- 《JAVA编程思想》学习笔记:第1-4章(Java概述)
- 负和游戏、零和游戏和共赢游戏
- 编程小技巧9-如何生成没有水印的代码图片(IDEA carbon-now-sh插件使用教程)
热门文章
- 中国内容推荐引擎市场趋势报告、技术动态创新及市场预测
- java的循环控制结构有哪些_java中的控制结构(if,循环)详解
- CSDN创始人蒋涛出席2021 中关村论坛,启动“科创中国”开源创新榜单评选
- .NET 靠开源再“出圈”!
- UNIX会被取代吗?来听听UNIX诞生的见证者怎么说~
- 提升源代码安全管控 从源头保护敏感数据
- 微软直播马上开始,近百岗位等你来,快戳进直播间
- 活跃了 40 年的 AWK 现在怎么样了?
- JavaScript 将死?
- 小米新生态总监董红光:致力打造智能服务开放平台