会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
小兵要进步
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
下一页
2022年4月24日
postgreSql锁与相关操作的冲突
摘要: 参考来源:官方文档 序号表级锁的方式获取该锁所执行的sql操作相冲突的模式相冲突的操作说明 1 ACCESS SHARE select操作 EXCLUSIVE和ACCESS EXCLUSIVE锁模式 阻塞执行: 1 REFRESH MATERIALIZED VIEW CONCURRENTLY 2 A
阅读全文
posted @ 2022-04-24 21:50 小兵要进步
阅读(208)
评论(0)
推荐(0)
2022年3月29日
(三)kafka log
摘要: Kafka中的消息以主题为基本单位进行归类。一个主题对应多个分区。在不考虑多副本时,一个分区对应一个日志Log,每个Log又切分为许多个LogSegMent, 这样方便消息的维护和清理。Log在物理上以文件夹的形式存储,而LogSegment对应于磁盘上的一个日志文件和两个索引文件,以及其它可能的文
阅读全文
posted @ 2022-03-29 17:00 小兵要进步
阅读(291)
评论(0)
推荐(0)
2022年3月24日
线程同步器
摘要: 在执行线程任务时,时常会遇到需要多个线程执行完成之后,才进行下一步操作。线程中有三个工具可以实现此功能,下面进行一一介绍: (一) CountDownLatch CountDownLatch依赖于抽象同步队列实现,当new 一个countDownLatch对象时传入计数器参数,执行await方法时进
阅读全文
posted @ 2022-03-24 16:07 小兵要进步
阅读(172)
评论(0)
推荐(0)
2022年3月21日
虚拟机类加载与字节码执行
摘要: 类加载: 类从被加载到虚拟机内存,到卸载出内存,整个生命周期分为了七个阶段,如下图所示。 类的生命周期 其中的验证,准备,解析也被称为连接。 加载、验证、准备、初始化、卸载这五个阶段的顺序是确定的。 类的加载过程按这种顺序进行,而解析阶段有可能在初始化之后进行,这主要是为了满足java语言运行时的动
阅读全文
posted @ 2022-03-21 10:52 小兵要进步
阅读(93)
评论(0)
推荐(0)
2022年3月11日
创建线程和获取线程结果的几种方式
摘要: 创建一个线程的方式: 创建线程的方式总体可以分为两大类:一个是依赖于Thread类, 一个是依赖于线程池。 依赖于Thread类的创建方式: package concurrent.newThread; import java.util.concurrent.*; public class NewTh
阅读全文
posted @ 2022-03-11 21:46 小兵要进步
阅读(803)
评论(0)
推荐(0)
2022年3月9日
(二)Kafka生产者与消费者
摘要: (一) 生产者Producer 生产者客户端由两个线程协调运行。其中主线程创建消息,并经过拦截器、序列化器、分区器作用后缓存到消息累加器; 消息累加器中的ProducerBatch是一个双端队列,消息添加时从尾部进入,Sender读取消息时从头部取出。ProducerBatch包含链多个Produc
阅读全文
posted @ 2022-03-09 17:35 小兵要进步
阅读(275)
评论(0)
推荐(0)
(一)Kafka基本概念
摘要: 为什么有消息系统: 削峰:用于承接超出业务系统处理能力的请求,使业务平稳运行而不至于崩溃。 缓冲:在服务层和落地层之间作为缓冲层存在,有助于控制和优化数据流过系统的速度,可以解决生产消息和消费消息速度不一致的情况。 异步:使用异步的方式,快读响应用户的操作,减少服务请求的响应时间。 解耦:消息队列可
阅读全文
posted @ 2022-03-09 17:32 小兵要进步
阅读(151)
评论(0)
推荐(0)
2022年1月29日
4 Atomic
摘要: AtomIcLong介绍: 递增操作代码: public final long incrementAndGet() { return unsafe.getAndAddLong(this, valueOffset, 1L) + 1L; } 递减操作代码: public final long decre
阅读全文
posted @ 2022-01-29 15:58 小兵要进步
阅读(55)
评论(0)
推荐(0)
3 ThreadLocalRandom与ThreadLocal
摘要: Random介绍: Random: 随机数的生成需要一个默认的种子,这个种子其实是一个long类型的数字,你可以在创建Random对象时通过构造函数指定,如果不指定则在默认构造函数内部生成一个默认的值。 新的随机数的生成需要两个步骤:● 首先根据老的种子生成新的种子。● 然后根据新的种子来计算新的随
阅读全文
posted @ 2022-01-29 15:53 小兵要进步
阅读(82)
评论(0)
推荐(0)
2 Lock
摘要: 悲观锁:对数据被外界修改持保守态度,任务数据很容易被其他线程修改,所以在数据被处理以前先对数据进行加锁,并在整个数据处理过程中,使数据处于锁定状态,其它线程就无法访问。悲观锁是排它锁。 乐观锁:总认为资源和数据不会被别人所修改,所以读取不会上锁,但是乐观锁在进行写入操作的时候会判断当前数据是否被修改
阅读全文
posted @ 2022-01-29 15:51 小兵要进步
阅读(139)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
下一页
公告