![](https://img-blog.csdnimg.cn/2a41ab379497423f93c2a7a12e351864.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java面试
文章平均质量分 94
以实际面试为基础,发掘最优质最核心的面试问题,打造完整的面试体系。
武昌库里写JAVA
一个喜欢打篮球的程序员!
展开
-
synchronized详解
JDK早期,synchronized 叫做重量级锁, 因为申请锁资源必须通过kernel, 系统调用。原创 2023-10-10 20:53:07 · 27 阅读 · 0 评论 -
JVM之GC
JVM垃圾收集(Java Garbage Collection )GC采用分代收集算法:次数上频繁收集Young区次数上较少收集Old区基本不动Perm区原创 2023-09-21 20:51:48 · 183 阅读 · 0 评论 -
阻塞队里总结与重要源码解析
LinkedBlockingQueue是一个基于链表实现的阻塞队列,默认情况下,该阻塞队列的大小为Integer.MAX_VALUE,由于这个数值特别大,所以 LinkedBlockingQueue 也被称作无界队列,代表它几乎没有界限,队列可以随着元素的添加而动态增长,但是如果没有剩余内存,则队列将抛出OOM错误。所以为了避免队列过大造成机器负载或者内存爆满的情况出现,我们在使用的时候建议手动传一个队列的大小LinkedBlockingQueue内部由单链表。原创 2023-09-16 20:49:42 · 149 阅读 · 0 评论 -
2023年JAVA实际面试题汇总
2023实际面试题汇总,实际场景高频常见面试题!!!原创 2023-09-14 21:29:54 · 226 阅读 · 0 评论 -
MySql大厂面试总结大全
mysql面试题最全总结,搞透这些题目吊打大厂面试官,不信点进来看看!原创 2023-09-13 22:04:11 · 108 阅读 · 0 评论 -
ThreadLocal源码详细解读
ThreadLocal的作用是提供线程内的局部变量,这种变量在多线程环境下访问时能够保证各个线程里变量的独立性。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是Java中一种较为特殊的线程绑定机制,是每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。开放地址法的基本思想就是:一旦发生了冲突,那么就去寻找下一个空的地址;那么只要表足够大,空的地址总能找到,并将记录插入进去。原创 2023-09-11 19:55:08 · 258 阅读 · 1 评论 -
AQS源码详细解读
AQS源码解读,带你逐行逐句解读AQS源码,最全面的解析,看完这篇文章吊打面试官!!!原创 2023-08-21 20:18:07 · 377 阅读 · 0 评论 -
线程池核心源码详细解读
线程池源码详细解析,清晰易懂!!!原创 2023-08-21 20:36:27 · 31 阅读 · 0 评论 -
Java面试之线程池核心源码详细解读
多线程在java后端开发中的重要程度不言而喻,线程池作为多线程的核心内容,在面试过程中,绝对是必备的内容,今天就来把源码以及问题总结一下,方便日后复习原创 2023-08-19 18:15:57 · 53 阅读 · 0 评论 -
多线程与高并发面试核心
Java语言规范JVM线程内部维持顺序化语义,即只要程序的最终结果与它顺序化情况的结果相等,那么指令的执行顺序可以与代码逻辑顺序不一致,这个过程就叫做指令的重排序。指令重排序的意义:使指令更加符合CPU的执行特性,最大限度的发挥机器的性能,提高程序的执行效率。as-if-serial语义的意思是:不管怎么进行指令重排序,单线程内程序的执行结果不能被改变。编译器,处理器进行指令重排序都必须要遵守as-if-serial语义规则。多线程中指令重新排序可能会改变程序的执行结果。原创 2023-08-17 20:54:21 · 156 阅读 · 0 评论