Java ZGC 深度剖析及其在构建低延迟流系统中的实践心得
可以看到,在一个GC周期中,STW的阶段和并发阶段交替执行,并且绝大多数操作均在并发阶段执行。示例为了更好地理解ZGC的工作原理,下面通过一个例子来展示ZGC工作各阶段执行的操作。1.GC开始初始状态上图中为GC开始前Java堆的状态:共有3个区域,9个对象。所有新创建的对象初始颜色...
夯实Java基础系列17:一文搞懂Java多线程使用方式、实现原理以及...
在java中要想实现多线程,有两种手段,一种是继续Thread类,另外一种是实现Runable接口.(其实准确来讲,应该有三种,还有一种是实现Callable接口,并与Future、线程池结合使用Java线程状态机Java给多线程编程提供了内置的支持。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不...
从机械自动化专业到百度腾讯拼多多Java工程师转行之路
6.Java集合类:HashMap的get、put、resize、JDK1.7和1.8、多线程下会发生什么问题、HashMap和HashTable/ConcurrentHashMap的区别、ArrayList和LinkedList的区别等等;7.Java并发编程:线程的状态转换、wait和sleep的区别、synchronized关键字、volatile关键字、锁:ReentranrLock、读写锁等、线程...
这些年背过的面试题——实战算法篇
假设100亿个数字保存在一个大文件中,依次读一部分文件到内存(不超过内存的限制),将每个数字用二进制表示,比较二进制的最高位(第32位,符号位,0是正,1是负),如果数字的最高位为0,则将这个数字写入file_0文件中;如果最高位为1,则将该数字写入file_1文件中。从而将100亿个数字分成了两个文件,假设file_0文...
四面阿里余额宝成功拿下offer,2020阿里面试真题
AOP和IOC的原理代码编写:两个线程,一个线程打印奇数,一个打印偶数,控制交替打印奇偶数。(有多种方法实现,最好能比较优劣)余额宝二面查询中哪些情况不会使用索引?数据库索引,底层是怎样实现的,为什么要用B树索引?Mysql主从同步的实现原理?MySQL是怎么用B+树?谈谈数据库乐观锁与悲观锁?有使用过哪些...
两万字 40 张图带你参透并发编程|应用程序|override|原子性|线程|...
当两个线程开始运行后,每个线程都会把i的值读入到CPU缓存中,然后执行+1操作,再把+1之后的值写入内存(www.e993.com)2024年11月11日。因为线程间都有各自的虚拟机栈和程序计数器,他们彼此之间没有数据交换,所以当aThread执行+1操作后,会把数据写入到内存,同时bThread执行+1操作后,也会把数据写入到内存,因为CPU...