![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
文章平均质量分 69
拥有1024的蜡笔小新
这个作者很懒,什么都没留下…
展开
-
你不知道的分布式锁+分布式事务面试题
分布式锁+分布式事务面试题什么是分布式锁? 在分布式系统之间,保证某些系统资源同步访问的一种方式。 如: 减库存的接口 多应用访问时都要对库存数据做操作,可能会造成超卖问题 可以通过分布式锁解决。分布式锁的使用场景?库存操作积分操作钱包操作能否基于JDK提供的锁实现分布式锁?JVM锁无法解决: 因为对应的服务会做集群分布式锁有哪些实现方式? 基于数据库实现可以通过数据库的悲观锁 (行锁)实现,在查询库存数量用于修改时,在select语句后加上 for update原创 2021-11-18 00:39:23 · 2719 阅读 · 1 评论 -
线程创建的方式具体有哪几种?
关于这个问题有很多种说法,我觉得都不对,下面我说下自己的看法线程创建的方式具体有哪几种?这要从不同的角度来看,从Oracle官方的描述,通常我们可以分为两类,也就是thread和runnable,但是准确的来讲,创建线程只有一种方式,那就是构造thread类,而实现线程执行单元有两种方式:一种是实现runnable接口的run方法,并把runnable实例传给Thread类,一种是重写Thread的run方法(我们可以通过线程池来创建,但是线程池的本质也是在threadfactory里面new了一个t原创 2021-11-18 00:23:22 · 469 阅读 · 0 评论 -
这些springCloud的问题你知道吗?
Eureka和Zookeeper区别?问题回答在分布式领域有一个很著名的CAP定理:C:数据一致性。A:服务可用性。P:分区容错性(服务对网络分区故障的容错性)。Zookeeper取CAP的CP注重一致性,在可用性方面不太好,假如master节点故障,剩余节点会重新leader选举,选举leader的时间太长30~120s,选举期间整个集群都不可用,这就导致在选举期间注册服务瘫痪,漫长选举导致注册不可用,不能容忍。Eureka看明白了这一点,因此在设计时就优先保证可用性。取CAP的AP,注重可用性原创 2020-06-24 15:50:19 · 2498 阅读 · 0 评论 -
那些你不知道的关于锁的面试题
说一下CAS锁机制?CAS(Compare and Swap 比较并交换),是一种无锁算法,当多个线程尝试使用CAS同时更新同一个变量时,只有其中一个线程能更新变量的值,而其它线程都失败,失败的线程并不会被挂起,而是被告知这次竞争中失败,并可以再次尝试。CAS算法涉及到三个操作数1.需要读写的内存位置(V)2.进行比较的预期原值(A)3.拟写入的新值(B)如果内存位置V的值与预期原值A相匹配,那么处理器会自动将该位置值更新为新值B,否则处理器不做任何操作。说一下乐观锁和悲观锁的区别?问题原创 2020-06-23 14:30:06 · 3491 阅读 · 0 评论 -
多线程&并发-实例与解决方案
java中你知道哪些锁?问题回答:乐观锁/悲观锁共享锁/独享锁公平锁/非公平锁互斥锁/读写锁可重入锁自旋锁分段锁偏向锁/轻量级锁/重量级锁辅助理解:Java线程的状态或者生命周期?问题回答:Java的线程状态被定义在公共枚举类java.lang.Thread.state中。一种有六种状态1.新建(NEW):表示线程新建出来还没有被启动的状态,比如:Thread t = new MyThread();2.就绪/运行(RUNNABLE):该状态包含了经典线程模型的两种状态:就原创 2020-06-23 11:27:24 · 4728 阅读 · 0 评论 -
数据结构&设计模式篇
动态代理有几种实现?java的动态代理技术的实现主要有两种方式:1.JDK原生动态代理2.CGLIB动态代理JDK原生动态代理是Java原生支持的,不需要任何外部依赖,但是它只能基于接口进行代理(需要代理的对象必须实现于某个接口)CGLIB通过继承的方式进行代理(让需要代理的类成为Enhancer的父类),无论目标对象有没有实现接口都可以代理,但是无法处理final的情况。参考:动态代理的几种实现方式及优缺点常见的数据结构有哪些?问题回答:一共八大数据结构分类1.数组2.队列原创 2020-06-23 10:46:34 · 3457 阅读 · 0 评论 -
java基础高频面试题--集合篇
现在很多面试官喜欢把jvm和jmm的知识都放进java基础来进行面试,后面我写一个专门的专题用来写jvm的东西,目前我们说的java基础基本就是集合,IO,多线程,目前问IO的基本上已经很少了,多的是问NIO这种的,下面主要写的是关于集合方面的:ArrayList和LinkedList区别?问题回答:1.都是List接口的实现类2.ArrayList基于数组,LinkedList基于链表3.ArrayList查询快,增删慢往数组尾部添加元素的效率高,也就是调用add(obj),但是还是比Lin原创 2020-06-20 11:51:11 · 2768 阅读 · 0 评论