![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
文章平均质量分 86
菜鸟琪
下了决心要做的事
要保持不动声色却满心澎湃
展开
-
2021春招Java面试题大全(精华六)
返回首页81.Redis是单线程的,为什么这么快redis是将所有的数据全部放在内存中的,所以说使用单线程去操作效率就是最高的,多线程(CPU上下文切换是一个耗时操作),对于内存系统来说,如果没有上下文切换效率就是最高的!多次读写都是在一个CPU上的,所以说,在内存情况下,这个就是最佳的方案!使用多路 I/O 复用模型,非阻塞 IO;多路复用就是一个监视的效果,当有多个请求访问redis时,Redis会用多路复用器来监视这个请求是否准备完毕,如果准备完毕(准备完毕意思就是建立链接以后,需原创 2021-03-06 17:32:18 · 1437 阅读 · 1 评论 -
2021春招Java面试题大全(精华五)
返回首页66.Mysql的锁机制在Mysql中的锁可以分为共享锁/读锁(Shared Locks)、排他锁/写锁(Exclusive Locks) 、行锁(Record Locks)、表锁。共享锁是针对同一份数据,多个读操作可以同时进行,但不能进行写操作。排他锁针对写操作,假如当前写操作没有完成,那么它会阻断其它的写锁和读锁。而行锁和表锁,是从锁的粒度上进行划分的,行锁锁定当前数据行:锁的粒度小,发生锁冲突的概率小,并发度高加锁慢,容易产生死锁而表锁则锁的整个表:粒度大,加锁快原创 2021-03-05 11:32:57 · 1270 阅读 · 3 评论 -
2021春招Java面试题大全(精华四)
返回首页35.几种锁乐观锁 VS 悲观锁乐观锁:而乐观锁认为自己在使用数据时不会有别的线程修改数据,所以不会添加锁,只是在更新数据的时候去判断之前有没有别的线程更新了这个数据。如果这个数据没有被更新,当前线程将自己修改的数据成功写入。如果数据已经被其他线程更新,则根据不同的实现方式执行不同的操作(例如报错或者自动重试)。悲观锁认为自己在使用数据的时候一定有别的线程来修改数据,因此在获取数据的时候会先加锁,确保数据不会被别的线程修改。Java中,synchronized关键字和Lock的实现类都是悲原创 2021-03-03 10:48:15 · 1235 阅读 · 0 评论 -
2021春招Java面试题大全(精华三)
返回首页21.什么情况下会出现死锁?如何解除死锁?当多个线程在执行过程中,进行资源抢占或者线程间通讯时产生的阻塞现象,线程不能向下执行。然后只有在外力作用下才能向下推进的过程就是死锁。比如A线程拿着B线程想要的资源不释放,同时B线程拿着A线程的资源不释放,然后他们互相等待。产生死锁的原因:系统资源不足,资源分配不当。产生死锁的四个条件是:互斥条件:线程(进程)对于所分配到的资源具有排它性,即一个资源只能被一个线程(进程)占用,直到被该线程(进程)释放请求与保持条件:一个线程(进程)因请求被占原创 2021-03-02 16:17:22 · 1612 阅读 · 0 评论 -
2021春招Java面试题大全(精华二)
11.JVM的三大垃圾回收算法引用计数法:给每一个对象设置一个引用计数器,每当有一个地方引用这个对象时,就将计数器加一,引用失效时,计数器就减一。当一个对象的引用计数器为零时,说明此对象没有被引用,也就是“死对象”,将会被垃圾回收.缺陷不能解决循环引用维护一个计数器有一定的消耗可达性分析:从GCRoots对象开始作为起点进行链路扫描,如果可以到达某个对象,那么这个对象就是存活的,还不能被回收,如果不可达,那这个对象就是死亡的。Java中可以作为GCRoots的对象虚拟机栈(栈帧中原创 2021-03-02 12:43:52 · 2252 阅读 · 0 评论 -
2021春招Java面试题大全(精华)
前言本人也刚刚参加完秋招,一直打算把在秋招中遇到的面试常考点做一个总结,但是一直都没着手????。近期,好多朋友都在问我关于秋招春招的事,我也刚好闲来没事,就收集了网上各大博客的精华,并且结合自己所学和理解做了一些简单的整理,希望可以帮助到现在正在春招的朋友们。(大多数知识点是建立在已经学习过大致了解的基础上才能看懂,如果没有学习过可能不太好理解) 根据个人理解总结!仅供参考!欢迎纠错!2021春招Java面试题大全(精华一)持续更新中>>>...原创 2021-03-02 12:05:58 · 8092 阅读 · 2 评论 -
2021春招Java面试题大全(精华一)
前言本人也刚刚参加完秋招,一直打算把在秋招中遇到的面试常考点做一个总结,但是一直都没着手????。近期,好多朋友都在问我关于秋招春招的事,我也刚好闲来没事,就收集了网上各大博客的精华,并且结合自己所学和理解做了一些简单的整理,希望可以帮助到现在正在春招的朋友们。(大多数知识点是建立在已经学习过大致了解的基础上才能看懂,如果没有学习过可能不太好理解) 根据个人理解总结!仅供参考!欢迎纠错!1.JVM类加载过程加载—链接—初始化—使用—卸载由于Java的跨平台性,经过编译的Java源程序并不是一个可执原创 2021-03-02 12:01:47 · 6571 阅读 · 0 评论