这是个比较基础但是面试常考的一个问题,用两道经典面试题来close这个话题吧。在Java中实现线程协作一般就是用wait/notify模式。 一.两个线程交替打印0~100的...
![240](https://upload.jianshu.io/users/upload_avatars/24328709/e15a3d34-84c6-44d9-b572-e842435dd65d.jpeg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
这是个比较基础但是面试常考的一个问题,用两道经典面试题来close这个话题吧。在Java中实现线程协作一般就是用wait/notify模式。 一.两个线程交替打印0~100的...
适用场景:无状态的工具类,很多工具类我们只需要一个实例,节省内存。但是大家的写法非常多,正确的写法却很少看见,希望看完这篇文章能够帮你梳理清楚。饿汉式:不管你用的用不上,一开...
网上对于intern方法的讨论很多是不对或者不严谨的,于是我参考了大量官方资料总结了该知识点,希望可以讲清楚。这个面试考点主要考察JVM的内存模型、对String类理解的深度...
前天在看mysql相关文章的时候,突然有个疑问,mysql的联合索引的b+树到底张什么样子啊?于是google搜了下,搜索条件是“mysql 联合索引 b+树”,结果引擎返回...
最近我准备开始写Java并发编程相关系列的文章了,网上的博客五花八门,有些还是错的。所以本人查阅了大量并发编程领域的核心书籍及官方资料,目的就是要保证内容都具有一定“权威...
首先,需要先搞清楚两个问题。1.什么是垃圾?垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾。2.为什么要进行垃圾收集?如果不即使对内存中的垃圾进行清...
类的加载过程主要分为三个阶段:加载、链接(验证,准备,解析)、初始化。 网上有很多关于这一块的介绍和概念,但是要么不准确,要么就不够具体。如果单从概念上看是很难理解的,...
“即时是单核处理器也支持多线程执行代码,CPU通过给每个线程分配CPU时间片来实现这个机制。”——摘自《Java并发编程的艺术》
单核CPU如何执行多线程1.(单核CPU)同一时间,cpu只能处理1个线程,只有1个线程在执行 2.多线程同时执行:是CPU快速的在多个线程之间的切换 3.cpu调度线程的时间足够快,就造成了多线程...
跳跃表是一种基于有序链表的拓展,简称跳表。下面正式开始了哦,跟着思路来,非常简单理解: 一.基本思想 给定一个有序链表:1->2->3->5->6->7->8跳表的思想就是利...
为了降低难度方便理解,概念先不用管,后面会总结,直接看例子:下图是B+树的结构,特点是:节点之间含有重复数据,叶子节点还用指针连在一起。 其次,每个父节点的元素都出现在子节点...