在Java编程的世界里,字符串操作是一项基础而重要的技能。尤其是字符串替换,它在数据处理、文本处理等领域中扮演着关键角色。作为一名高级Java架构师面试官,我经...
生成全局唯一ID在分布式系统中是一项很核心的技术。全局唯一ID保证了分布式系统下数据的唯一性,避免了很多问题。
当前项目是实现一个高并发的内存池,他的原型是google的一个开源项目tcmalloc,tcmalloc全称Thread-Caching Malloc,即线程缓...
相信很多小伙伴都在大厂的秒杀大促中抢购过商品,那大家有没有想过这样一个问题:在秒杀这种高并发大流量的场景下,商品的库存是如何设计呢?怎么才能抗住瞬时高并发的流量...
同样今天的分享,我们不纸上谈兵,也不空谈八股文。以实际面经、工作实战经验进行开题,然后再剖析核心源码原理。
理论上来说,需求陈述阶段就应该明确相关指标,然后再开展性能测试的执行监控和分析优化工作。但实际工作场景中,一句话需求或者没有明确指标的技术需求很常见。
精通更多底层原理,背诵更多的jdk源码实现方式,对aqs更加熟练了,对线程池参数有了更深刻的理解,熟悉了更多的jvm参数,有了更多的调优经验,对线程同步的底层原...
其实,面对这样的面试要求,现实中的头部大厂,甚至一些普通大厂都是设计了很多编程题考查大家的基础功底。但是都不会很复杂,毕竟时间有限,往往都是经典题目,涉及一个或...
现在有一个博客系统, 主要功能分为三块, 发布博客, 获取博客, 关注好友, 发布博客也就是可以发布文字, 视频, 图片,
曾几何时,面试官问:java都有哪些锁?小白,一脸无辜:用过的有synchronized,其他不清楚。面试官:回去等通知!
根据我们书写的代码,线程缓存中最大挂载的内存块大小是256KB,当我们申请大于256KB的内存时,显然现场缓存是不能满足要求的,而由于中心缓存的映射关系和线程缓...
根据这两个成员变量我们就可以确定span管理的空间范围,然后就可以在中心缓存中将他们按照对应内存块的大小插入到 _freelist自由链表中!
实现中心缓存之前,我们先理解中心缓存需要做那些事情,具有哪些特性?我们把中心缓存的功能特性理解清楚了自然而然的就可以写出代码来!
现代很多的开发环境都是多核多线程,在申请内存的场景下,必然会存在激烈的锁竞争问题,锁竞争会有一部分的性能损耗(因为需要阻塞等待)。malloc本身其实已经很优秀...
这个项目是把tcmalloc最核心的框架简化后拿出来,模拟实现出一个自己的高并发内存池,目的是为了学习tcamlloc项目的精华,谷歌大厂的项目那必是含金量十足...
首先我们来看页缓存的设计思路,明白思路,代码就可以更加舒畅的写出来,并且这个项目的调试比较困难,一定一定要仔细明白设计思路,把代码仔细写好才能保证我们的开发效率...
我们需要实现的是一个这样的效果:线程缓存(256KB)中每个空间位置映射到在哈希表上,对应一个自由链表,申请空间时从自由链表中取出一个对象,没有就去中心缓存进行...
上文说到synchronized,JAVA并发编程synchronized全能王的原理,虽然被评为并发全能王,不过用起来也是格外注意,不能搞大力出奇迹那一套,容...
说到JAVA并发,相信很多人第一印象想到的就是synchronized,然后就是volatile、JUC、CAS、线程池、AQS、阻塞队列等等这些关键字工具类、...