并发
文章平均质量分 91
怎能止步于此
一个创业者,一个希望能够在人生中有不断尝试的人,不断对未来有梦想的人,猜测、谣言、苦难、挫折,一定会伴随着你。
展开
-
Kafka高性能核心——pageCache与zeroCopy
PageCache与ZeroCopyPageCache即页面缓存,它是操作系统实现的一种主要的磁盘缓存,它的目的就是减少对磁盘IO的操作。具体来说,就是把磁盘中的数据缓存到内存里,然后把对磁盘的访问变成对内存的访问。目前很多一些主流的框架或者架构设计,为了弥补性能上的差异,基本上都是用“磁盘”做缓存的,也就是说可以把所有内存当做磁盘用。相信很多做过高并发项目的一些小伙伴们都会知道,我们一开始最早期可能会读关系型数据库,关系型数据库一旦压力大了,大家可能就会想到的策略是分库分表,分库分表也可能不满足我原创 2021-12-15 23:18:58 · 3309 阅读 · 0 评论 -
深入研究池化技术——线程池
线程池线程池顾名思义就是一个放线程的池子,使用线程池的好处有很多:重用已存在的线程控制并发功能强大从某种意义上来讲,线程池是一种特殊的对象池,因此你也可以使用对象池来自己实现一个线程池,当然一般情况下我们是不需要自己实现线程池的,使用JDK自带的线程池就可以了。话不多少,我们直接开干!首先我们用ThreadPoolExecutor创建一个线程池玩一玩:可以看到,它的构造方法里最多可以传入七个构造参数,我们就直接玩这个构造参数最多的吧。 ThreadPoolExecutor execu原创 2021-11-07 21:41:32 · 441 阅读 · 0 评论 -
Java并发之彻底搞懂读写锁
ReentrantReadWriteLock我们来探讨一下java.concurrent.util包下的另一个锁,叫做ReentrantReadWriteLock,也叫读写锁。实际项目中常常有这样一种场景:比如原创 2021-11-06 19:20:38 · 688 阅读 · 1 评论 -
java并发之彻底搞懂ReentrantLock
ReentrantLock在Java5之前synchronized是仅有的同步手段,从Java5开始便提供了ReentrantLock,即再入锁的实现。它的语义和synchronized基本相同,通过代码直接调用lock方法获取,代码编写也更加灵活。与此同时,位于java.util.concurrent.locks包下的ReentrantLock提供了很多使用方法,java.util.concurrent这个package即业界有名的J.U.C包,里面比较有名的工具类几乎都是基于Doug Lea大神写的原创 2021-11-06 13:09:58 · 568 阅读 · 0 评论 -
Java并发之彻底搞懂synchronized
前言我们开始向Java多线程模块发起进攻。由于Java线程这部分知识点非常多,并且网上也有相关的一些教程,如果要求小编把内容全部梳理完并不现实,我们重点介绍一些面试常考知识点,此外,还要给大家打个预防针,就是关于那种高大上的如何支撑千万级并发架构设计咱也不会说,毕竟没有在实际的系统中接触过这类知识的话,光靠在面试里面背概念不仅没有任何帮助,反而会给自己带来不少麻烦,做过就是做过,没做过就是没做过,并不是人人都有处理这种量级高并发的机会。希望大家不要被这类噱头唬住,毕竟万变不离其宗还是学习原理为主,所谓高并原创 2021-11-06 01:23:41 · 435 阅读 · 0 评论