整理最全Java面试题一(附答案,欢迎指正)

Java中高级面试题 深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。1)集合类List和Set比较,各自的子类比较(ArrayList,Vector,LinkedList;1)说说阻塞队列的实现可以参考ArrayBlockingQueue的底层实现(锁和同步都行);12)springmvc的核心是什么,请求的流程是怎么处理的,控制反转怎么实现的;2)进程通讯的方式消息队列,共享内存,信号量,socket通讯等;什么情况用什么索引;... 阅读详情

说明:面试题为网络上整理,答案为自己简写,能力有限,面试参考。

基础篇一

一.基础知识:

1)集合类:List和Set比较,各自的子类比较(ArrayList,,LinkedList;HashSet,TreeSet);
1.1 List接口继承自Collection接口,是有序的,集合中的元素可以重复,常用两个实现子类为ArrayList和LinkedList,

  • 【Arraylist】基于数组实现,可以理解为一种动态数组,查找速度快,增加和删除操作慢,适用于查询频率高,增删频度低的情况;
  • 【LinkedList】基于链表实现,查找速度慢,增加和删除速度快。

1.2 Set — 扩展了Collection的集合,集合中的元素不可以重复,即任意的两个元素e1和e2都有e1.equals(e2) == false。访问集合中的元素只能根据元素本身来访问。

  • 【哈希表】HashSet:Set中访问速度最快。原则上Set不能有重复的元素,但假设HashSet插入不同元素后,又将2个元素改成相同值也可以(这种属于未定义行为,即Set的各个实现可以自行处理这种情况,可以报异常也可以如HashSet般不闻不问,但是这种未定义行为应尽量避免,而避免的方法就是使得插入的元素不可修改,也即使得元素为不可变类,Map也有同样问题);
    -【平衡树】TreeSet:实现了SortedSet,可以提供排序功能;

2)HashMap的底层实现,之后会问ConcurrentHashMap的底层实现;

  • 1 HashMap 在java1.7使用的是数组加链表。通过hash算法计算出key所在的位置,然后进行存取操作。
    在java1.8中,如果链表长度过长,则会将链表调整为红黑树,这样很好的保证了查询的效率,提升了hashMap的性能。
    hashMap 线程不安全。
  • 2 concurrentHashMap 1.7和1.8参考文章 https://juejin.im/post/5aba1030f265da23961269c6
    简单讲 concurrentHashmap就是对HashMap的加锁实现,避免了hashMap在多线程环境下的不安全。
    1.7版本中,加锁思路是ReentrantLock+Segment+HashEntry,锁的最小单元为Segment数组,包含多个hashEntry节点;
    1.8版本中,加锁思路是synchronized+CAS+HashEntry+红黑树,锁的最小单元就是HashEntry(首节点),锁粒度变小了,并发性能提高了。

3)如何实现HashMap顺序存储:可以参考LinkedHashMap的底层实现;

4)HashTable和ConcurrentHashMap的区别;

  • 相同点: Hashtable 和 ConcurrentHashMap都是线程安全的,可以在多线程环境中运行; key跟value都不能是null
    同为线程安全,但是HashTable
  • 区别: 两者主要是性能上的差异,Hashtable的所有操作都会锁住整个对象,虽然能够保证线程安全,但是性能较差; ConcurrentHashMap内部使用Segment数组,每个Segment类似于Hashtable,在“写”线程或者部分特殊的“读”线程中锁住的是某个Segment对象,其它的线程能够并发执行其它的Segment对象。

5)String,StringBuffer和StringBuilder的区别;

  • 【String】为final类,申明的对象不可变,当申明一个对象String a = "a"时,该对象便不可更改,改变a实际上是创建一个新的对象,然后将a的指针指向新对象,但是原对象依旧存在,并未改变;

  • 【 StringBuffer】StringBuffer大部分方法都是synchronized,线程安全。

  • 【StringBuilder】非线程安全,效率高。

6)Object的方法有哪些:比如有wait方法,为什么会有;
  hashcode();equals();wait();notify();notifyAll();finalize();gerClass();
  wait()的作用是让当前线程进入等待状态,同时,wait()也会让当前线程释放它所持有的锁。
 
7)wait和sleep的区别,必须理解;
  1、每个对象都有一个锁来控制同步访问,Synchronized关键字可以和对象的锁交互,来实现同步方法或同步块。sleep()方法正在执行的线程主动让出CPU(然后CPU就可以去执行其他任务),在sleep指定时间后CPU再回到该线程继续往下执行(注意:sleep方法只让出了CPU,而并不会释放同步资源锁!!!);wait()方法则是指当前线程让自己暂时退让出同步资源锁,以便其他正在等待该资源的线程得到该资源进而运行,只有调用了notify()方法,之前调用wait()的线程才会解除wait状态,可以去参与竞争同步资源锁,进而得到执行。(注意:notify的作用相当于叫醒睡着的人,而并不会给他分配任务,就是说notify只是让之前调用wait的线程有权利重新参与线程的调度);
  2、sleep()方法可以在任何地方使用;wait()方法则只能在同步方法或同步块中使用;
  3、sleep()是线程线程类(Thread)的方法,调用会暂停此线程指定的时间,但监控依然保持,不会释放对象锁,到时间自动恢复;wait()是Object的方法,调用会放弃对象锁,进入等待队列,待调用notify()/notifyAll()唤醒指定的线程或者所有线程,才会进入锁池,不再次获得对象锁才会进入运行状态。

8)JVM的内存结构,JVM的算法;
參考博客:https://blog.youkuaiyun.com/tonytfjing/article/details/44278233

9)强引用,软引用和弱引用的区别;

10)数组在内存中如何分配;

11)用过哪些设计模式,手写一个(除单例);

静态代理

public interface A{
	public void msg();
}

public class B implements A{
 public void msg(){
		System.out.priintln("实现代理模式");
     }
}

publid class ProcyClass implements A{
  Private B b;
  public setB(B b){
  this.b = b;
   }
pubblic void msg(){
    b.msg();
  }
}

12)springmvc的核心是什么,请求的流程是怎么处理的,控制反转怎么实现的;
  springmvc的核心是DispatchServelet,前端控制区拦截请求,分发请求,相应客户端。

总结一下springMVC几个关键的步骤,总共可以分为六个步骤,分别为:

(1) 客户端向spring容器发起一个http请求

(2) 发起的请求被前端控制起所拦截(DispatcherServlet),前端控制器会去找恰当的映射处理器来处理这次请求。

(3) 根据处理器映射(Handler Mapping)来选择并决定将请求发送给那一个控制器。

(4) 在控制器中处理所发送的请求,并以modelAndView(属性值和返回的页面)的形式返回给向前端控制器。

(5) 前端控制器通过查询viewResolver对象来试着解决从控制返回的视图。

控制反转应该是spring的核心思想,将bean对象交给spring容器,这样原本需要你自己创建的对象,可以直接通过spring容器注入到需要使用的地方。

13)spring里面的aop的原理是什么;
 动态代理。

14)mybatis如何处理结果集:反射,建议看看源码;

15)java的多态表现在哪里;
  表现在子类对父类方法的复写上。

16)接口有什么用;
   接口是一个规范,可以统一继承该接口的子类做什么。

17)说说http,https协议;

18)tcp/ip协议簇;

19)osi五层网络协议;

20)tcp,udp区别;

21)用过哪些加密算法:对称加密,非对称加密算法;

22)说说tcp三次握手,四次挥手;

23)cookie和session的区别,分布式环境怎么保存用户状态;
- cookie:

  - 1 cookie数据存放在客户的浏览器上
  - 2 cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗考虑到安全应当使用session。
  - 3 单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

session:

  • session数据放在服务器上
  • session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能

24)git,svn区别;

25)请写一段栈溢出、堆溢出的代码;

26)ThreadLocal可以用来共享数据吗;

二. IO:

1)bio,nio,aio的区别;
参考文章: https://juejin.im/entry/598da7d16fb9a03c42431ed3

2)nio框架:dubbo的实现原理;

3)京东内部的jsf是使用的什么协议通讯:可参见dubbo的协议;

三.算法:

1)java中常说的堆和栈,分别是什么数据结构;另外,为什么要分为堆和栈来存储数据。

2)TreeMap如何插入数据:二叉树的左旋,右旋,双旋;

3)一个排序之后的数组,插入数据,可以使用什么方法?答:二分法;问:时间复杂度是多少?

4)平衡二叉树的时间复杂度;

5)Hash算法和二叉树算法分别什么时候用;

6)图的广度优先算法和深度优先算法:详见jvm中垃圾回收实现;

四.多线程相关:

1)说说阻塞队列的实现:可以参考ArrayBlockingQueue的底层实现(锁和同步都行);

2)进程通讯的方式:消息队列,共享内存,信号量,socket通讯等;

3)用过并发包的哪些类;

4)什么地方用了多线程;

5)Excutors可以产生哪些线程池;

6)为什么要用线程池;

7)volatile关键字的用法:使多线程中的变量可见;

五.数据库相关(mysql):

1)msyql优化经验:

2)mysql的语句优化,使用什么工具;

3)mysql的索引分类:B+,hash;什么情况用什么索引;

4)mysql的存储引擎有哪些,区别是什么;
innodb和myslam存储引擎,现在默认都是使用innodb
innodb,默认使用行级锁,支持事务,行级锁,适合读多写少的场景,而实际项目中,读写比大概在10:1,所以大部分场景下,使用innodb。
muisam 默认使用表级锁,不支持事务。

5)说说事务的特性和隔离级别;
原子性,一致性,隔离性,持久性。
隔离级别:

  • 串行化
  • 可重复读
  • 读已提交
  • 读未提交

6)悲观锁和乐观锁的区别,怎么实现;

六 .mq:

1)mq的原理是什么:有点大。。都可以说;
mq作为消息队列,是将生产者将消息存放在队列中,然后消费者监听队列,并对队列中的消息进行消费。
常用语分布式服务中的服务调用,可以一定程度上解耦,在高并发的服务中,还可以通过其异步操作来提高系统的稳定性和可用性。
2)mq如何保证实时性;

3)mq的持久化是怎么做的;

七.nosql相关(主要是redis):

1)redis和memcache的区别;

2)用redis做过什么;

3)redis是如何持久化的:rdb和aof;

4)redis集群如何同步;

5)redis的数据添加过程是怎样的:哈希槽;

6)redis的淘汰策略有哪些;

7)redis有哪些数据结构;

八.zookeeper:

1)zookeeper是什么;

2)zookeeper哪里用到;

3)zookeeper的选主过程;

4)zookeeper集群之间如何通讯;

5)你们的zookeeper的节点加密是用的什么方式;

6)分布式锁的实现过程;

九.linux相关:

1)linux常用的命令有哪些;
经常使用的 ls,mkdir,cd,pwd,mv,cp,rmdir,rm,cat,grep,netstat,tar,gzip,unzip,help,shutdown.

2)如何获取java进程的pid;
答案下一题。

3)如何获取某个进程的网络端口号;

  • 1、先查看进程pid
    ps -ef | grep 进程名

  • 2、通过pid查看占用端口
    netstat -nap | grep 进程pid

4)如何实时打印日志;

5)如何统计某个字符串行数;

十.设计与思想:

1)重构过代码没有?说说经验;

2)一千万的用户实时排名如何实现;

3)五万人并发抢票怎么实现;

在C#中使用二叉树实时计算海量用户积分排名的实现详解 主要介绍了在C#中使用二叉树实时计算海量用户积分排名的实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 立即下载

相关推荐

1panel面板实战:Docker容器存储路径迁移与优化指南

本文详细介绍了在1panel面板中迁移Docker容器存储路径的完整流程与优化方法。针对系统盘空间不足的常见问题,通过停服务、搬数据、改配置三个核心步骤,指导用户安全地将Docker数据目录迁移至更大容量的独立分区,并提供了迁移后的深度管理技巧与常见避坑指南,帮助用户优化服务器存储资源。

ol789012的博客 867

这些Java面试题,竟然90%的公司都会问到!

前言: 马上就快到金九银十了,这可是程序员们跳槽,升值,涨薪,走上人生顶峰的好时刻,对于这个可能是你人生的重要转折点之一,相信现在就有好多朋友在为这个黄金时段做好准备了,错过了金三银四,可不能错过金九银十呀。 再加上今年多灾多难的一年,相信今年的黄金期肯定会有大爆发。所以在这为大家精心准备了常问的面试题,祝大家一路过关斩将,成功拿到offer。 由于时间原因答案我就不写了,需要答案的可以点击下方群号自行领取。另外本人整理收藏了20年多家公司面试知识点整理 ,以及各种Java核心知识点免费分享给大家,我认为

banzhuanhu的博客 5849

YOLO-FastestV2从零部署到移动端推理实战手册

本文详细介绍了YOLO-FastestV2从零开始的完整部署流程,涵盖环境搭建、模型训练、格式转换及移动端部署。通过实战步骤,指导开发者将这一轻量级目标检测模型成功部署到Android设备,实现实时推理。文章重点解析了PyTorch到NCNN的模型转换与优化,助力移动端AI应用开发。

l1k9j8h7g6的博客 670

【技术应用】java实现排行榜方案

java实现排行榜功能,涉及sortedSet和PriorityQueue的实现方案

dylan的博客 7761

Plant Simulation新手入门:5步搞定生产线物流仿真(附模型库使用技巧)

本文为Plant Simulation新手提供了从零开始构建生产线物流仿真的五步入门指南。通过理念重塑、流程规划、对象连接、参数设置到数据分析的完整流程,帮助用户快速掌握这一强大仿真工具的核心逻辑。文章特别强调了模型库的高效使用技巧,助力工程师在虚拟环境中精准模拟和优化生产系统,提升规划效率。

efc123456的博客 336

【吐血整理-历时两个月,长达万字】FDTD Solutions学习笔记

原教学视频来自于Ansys-Lumerical官方的FDTD100,所看视频来自B站大佬UP主 【Nestor_呐等】 的幸苦翻译,本文内容粘贴自我个人在学习FDTD100时,通过字幕和一些个人理解总结的一份word。整理不易,强烈建议收藏!...

weixin_45719141的博客 10万+

实时排行榜的后台数据功能实现

功能概要:数据定时更新,可查询历史数据。 详细说明: 1、现在有个排行榜需要几分钟更新一次,所以我使用了windows服务定时运行;一次的数据量在30万左右,这样可能到下次更新时本次的任务没有运行完成,所以遇到这种情况就等待下次任务触发时再运行更新。 2、当运行更新时,不断有数据插入到榜单表,为了不影响当前显示的榜单数据,于是在榜单表加个状态status(0/更新中,1/显示中)。 3、当更新运行...

weixin_44190037的博客 2028

07 Zabbix 微信告警

Zabbix 微信告警 1.注册企业微信 企业微信注册地址:https://work.weixin.qq.com 2.进入企业微信后台管理 2.1 添加微信成员 2.2创建应用 2.3 获取四项数据 (1)AgentID (2) Secret (3) 企业ID (4)部门ID 3.Zabbix Server配置 3.1确认脚本目录 # grep alertscripts /etc/zabbix/zabbix_server....

Jian Sun_的博客 1300

redis排重_基于Redis 千万级用户排行榜最佳实践

基于Redis 千万级用户排行榜最佳实践前言Redis 是一个开源的,内存中的数据结构存储系统,可以用作数据库、缓存和消息队列中间件。它支持多种类型的数据结构,如 字符串(string), Hash, 列表(List), 集合(Set), 有序集合(Sorted Set) 。 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU evictio...

weixin_39649490的博客 2563

算法 | 植物根茎生长优化算法(PRGO)原理、公式及应用,matlab代码(2025最强优化算法)

【代码】算法 | 植物根茎生长优化算法(PRGO)原理、公式及应用,matlab代码(2025最强优化算法)

尘世冰封的专栏 1019

windows下宝塔安装教程

windows下宝塔安装教程 目录宝塔是什么?宝塔安装流程1.下载2.配置3.登录4.安装的环境套件小结 宝塔是什么? 宝塔是管理服务器的免费的软件,宝塔上面可以进行对你的服务器批量进行管理,对于运维人员来说还是必不可少的一个软件,值得使用。 宝塔安装流程 1.下载 链接: https://download.bt.cn/win/panel/BtSoft.zip 下载后安装买最好自定义目录,方便找 2.配置 下载完成后会出现这个页面,对着页面进行配置 点击默认密码复制进来,这里注意一点就是一定要查看

你在看屏幕的同时,屏幕也在注视着你 4424

整理最全java面试题二(附答案,欢迎指正)

基础篇一 一.基础知识: 1)集合类:List和Set比较,各自的子类比较(ArrayList,Vector,LinkedList;HashSet,TreeSet); 2)HashMap的底层实现,之后会问ConcurrentHashMap的底层实现; 3)如何实现HashMap顺序存储:可以参考LinkedHashMap的底层实现; 4)HashTable和ConcurrentHash...

java_mdzy的博客 3337

web渗透--9--识别web应用框架

1、概述 Web框架指纹识别是信息收集过程中的一个重要任务。获悉目标框架的类型必然为测试人员带来极大的优势,如果该框架在之前就被测试过。测试人员不仅可以获得未修补版本中存在的漏洞,还可以了解此框架中特有的错误配置以及已知的文件结构。从而使指纹识别过程显得格外重要。

武天旭的博客 5101

Java最全【面试题】JVM篇-10道常见面试题p1,Java编程方法论pdf

终极手撕架构师的学习笔记:分布式+微服务+开源框架+性能优化本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录需要这份系统化的资料的朋友,可以点击这里获取终极手撕架构师的学习笔记:分布式+微服务+开源框架+性能优化[外链图片转存中…(img-9elizCJg-1715333552645)]本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录需要这份系统化的资料的朋友,可以点击这里获取。

2301_82231215的博客 707

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

最全面试必问 Redis 数据结构底层原理String、List,分享复习经验和后台开发面经

还有更多的Redis、MySQL、JVM、Kafka、微服务、Spring全家桶等学习笔记这里就不一一列举出来。

2301_82242014的博客 946

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

分享两道阿里P7究极难度算法题,一篇文章帮你解答

一,鸿蒙核心内容掌握程度 看看下面这些鸿蒙知识点你掌握了多少: 基础环境和开发工具 开发工具安装 运行开发工具完成基础配置DevEco Studio 运行第一个hello world 运行第一个页面 通过代码创建页面 Feature Ability 编程实现页面跳转 市面上的鸿蒙教程大多仅限于理论知识讲解,很少有具体的实现方案案例.在这里小编给大家分享 一份《全面最全最系统的鸿蒙学习笔记》 笔记带你2个礼拜吃透鸿蒙技术开发里的核心原理问题及解决方案,有需要这份鸿蒙学习笔记的

m0_56259669的博客 149

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

java 一千万数字排序_千万级的数据,每条记录如何能够实时准确的知道自己的排名?[转]...

需求:一个千万级数据量的服务,不停的插入和删除记录,每条记录需要知道自己的排名,比如SNS中的抢车位,如何让每个uid能够知道自己在所有人中的车总价排名?致命伤(cache无用论)有1000万个用户,试想排名第500万的用户突然发飙了,把他的车全卖了,那么他之后的500万个用户的排名都提高了,也就是cache全部瞬间失效了。。。pity,此时加再多的cache只能是浮云解决方法:1,划分子空间,比...

weixin_30345333的博客 730

java 实时排行榜_Java游戏服务器-百万规模实时排行榜实现

有人的地方就有对比,游戏中自然也少不了排行榜。当前项目设计目标是,每个服务器玩家数量为百万左右。每个玩家都有战力、经验等属性,战力最大值在50万以内。现在期望能有战力排行榜,有以下几点需求:全部角色参与排行,能实时知道某个角色的排名排行榜显示前100名玩家详情排名规则是战力越高排名越前,战力相同则比较经验,经验再相同则比较创建时间。排行榜算法并不少见,这篇文章介绍的就不错。根据上述需求分析,最...

weixin_31854867的博客 1269

高效构建百万用户排行榜

一种有效的解决方案是使用分段排名(Percentile Ranking)技术。分段排名将用户分成多个等级(例如,前 1%、前 10%、前 25% 等),并对每个等级内的用户进行排序。这种方法大大降低了排序的复杂度,同时还能提供有意义的排名信息。在拥有百万用户的大型系统中,构建一个实时更新的排行榜是一项具有挑战性的任务。此外,用户数据可能随时发生变化,这使得排行榜需要不断更新,进一步增加了系统的复杂性。通过使用分段排名技术,我们可以在百万级用户规模下高效地构建实时更新的排行榜,同时还能提供有意义的排名信息。

D0126_的博客 634

java需会(转载)

一、基础篇 1.1、Java基础 面向对象的特征:继承、封装和多态 final, finally, finalize 的区别 Exception、Error、运行时异常与一般异常有何异同 请写出5种常见到的runtime exception int 和 Integer 有什么区别,Integer的值缓存范围 包装类,装箱和拆箱 String、StringBuilder...

weixin_30421809的博客 394

java千万用户实现实时排名_想知道谁是你的最佳用户?基于Redis实现排行榜周期榜与最近N期榜...

本文由云+社区发表前言业务已基于Redis实现了一个高可用的排行榜服务,长期以来相安无事。有一天,产品说:我要一个按周排名的排行榜,以反映本周内用户的活跃情况。于是周榜(按周重置更新的榜单)诞生了。为了满足产品多变的需求,我们一并实现了小时榜、日榜、周榜、月榜几种周期榜。本以为可长治久安了,又有一天,产品体验业务后说:我想要一个最近7天榜,反映最近一段时间的用户活跃情况,不想让历史的高分用户长期占...

weixin_34083972的博客 1143

排行榜的5种实现方案!

数据规模:数据量大小直接决定了我们选择哪种方案实时性要求:是否需要秒级更新,还是分钟级甚至小时级都可以接受并发量:系统的预期访问量是多少开发资源:团队是否有足够的技术能力维护复杂方案业务需求:排行榜的计算逻辑是否复杂对于大多数中小型应用,方案二(缓存+定时任务)或方案三(Redis有序集合)已经足够。如果业务增长迅速,可以逐步演进到方案四(分片+Redis集群)。而对于社交平台等需要实时更新的场景,则需要考虑方案五(预计算+分层缓存)或方案六(实时计算+流处理),但要做好技术储备和架构设计。

1300

Java中级面试常见题目+答案

目录一.基础知识1.集合类:List和Set比较,各自的子类比较(ArrayList,Vector,LinkedList;HashSet,TreeSet);2.HashMap的底层实现,之后会问ConcurrentHashMap的底层实现;3.如何实现HashMap顺序存储:可以参考LinkedHashMap的底层实现;4.HashTable和ConcurrentHashMap的区别;5.String,StringBuffer和StringBuilder的区别;6.Object的方法有哪些:比如有wait方

vampire_Violet的博客 1万+

2017.03 JAVA 面试题 中高级

一.基础知识: 1)集合类:List和Set比较,各自的子类比较(ArrayList,Vector,LinkedList;HashSet,TreeSet); 2)HashMap的底层实现,之后会问ConcurrentHashMap的底层实现; 3)如何实现HashMap顺序存储:可以参考LinkedHashMap的底层实现; 4)HashTable和ConcurrentHashMap的区别

Cyan Queen的专栏 1万+

1分种5万阿里抢票技术揭秘

一、背景介绍 先简单分析一下电影节的抢票业务,典型特征是在大流量抢购、高并发的场景下,让用户极快的锁定座位然后出票,特别是热门的影片,会异常的火爆。第一道压力是查询已售座位列表和锁座,需要能快速的支撑用户的锁座请求,且实时查询到已售卖的座位列表,避免发起无效的锁座请求;第二道压力是出票,如果锁座成功,但一直出票失败,会给用户带来很不好的体验。 二、架构设计思考的方向 1....

ailiandeziwei的专栏 1007
上一篇: redis系列(三)-Redis集群
下一篇: springboot redis类型转换异常
GraceJava
博客等级 码龄10年 131粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值