上一页 1 2 3 4 5 6 7 8 ··· 14 下一页
摘要: why: 在单体应用程序中,我们想要保证一个变量的可见性及原子性,我们可以用volatile(对任意单个volatile变量的读/写具有原子性,但类似于volatile++这种复合操作不具有原子性)、synchronized、乐观锁、悲观锁等等来控制。并发情况下使用上面说的机制来保证变量的可见性及原 阅读全文
posted @ 2022-07-18 13:08 修心而结网 阅读(254) 评论(0) 推荐(0) 编辑
摘要: what: Kafka可以将主题划分为多个分区(Partition),会根据分区规则选择把消息存储到哪个具体分区中。 如果分区规则设置的合理,那么所有的消息将会被均匀的分布到不同的分区中,这样就实现了负载均衡 和水平扩展。 多个订阅者可以从一个或者多个主题中同时消费数据,以支撑海量数据处理能力。 C 阅读全文
posted @ 2022-07-12 20:23 修心而结网 阅读(1968) 评论(0) 推荐(0) 编辑
摘要: 对操作的影响: 对于select: 适当的索引的确能够提升查询速度 对于insert: 并不会用到索引,还会增加维护索引的时间 对于update: 如果更新索引列,不会提高,少量更新非索引列,会有适当的提高,并且更新索引列,索引还需要重新维护 对于delete: 如果删除的条件上用到了索引,会提高, 阅读全文
posted @ 2022-07-07 18:03 修心而结网 阅读(391) 评论(0) 推荐(0) 编辑
摘要: 从最终的结果来看,虽然使用TRUNCATE操作和使用DELETE操作都可以删除表中的全部记录,但是是不同的: (1)DELETE为数据操作语言DML;TRUNCATE为数据定义语言DDL。 (2) DELETE操作是将表中所有记录一条一条删除直到删除完;TRUNCATE操作则是保留了表的结构,重新创 阅读全文
posted @ 2022-07-07 16:53 修心而结网 阅读(282) 评论(0) 推荐(0) 编辑
摘要: why: 对于取模运算,大家最熟悉的是:N=M%L。但是在java的jdk库中经常见到:N=M&L。这二者有什么异同,使用有什么场景要求,以及&为何能代替%?在java的hashmap中具体是怎么使用的? what: 当L=2的n次幂时,M%L == M&L。长度L为2的n次幂时,模运算 % 可以变 阅读全文
posted @ 2022-06-14 14:37 修心而结网 阅读(412) 评论(0) 推荐(0) 编辑
摘要: what: flink的整体架构,如下: Flink运行时涉及到的进程主要有以下两个:jobManager和taskManager。 jobManager: 职责:主要负责task协调,和checkPoint的错误恢复等。 具体方式:当客户端将打包好的任务提交到JobManager之后,JobMan 阅读全文
posted @ 2022-06-07 11:52 修心而结网 阅读(132) 评论(0) 推荐(0) 编辑
摘要: what: reentrantlock参考文件:https://www.cnblogs.com/sfzlstudy/p/16337830.html where: 现在一般使用,建议:synchronize(隐式锁,自动释放锁); 如果是对并发要求特别高的情况下,建议:reentrantlock(显式 阅读全文
posted @ 2022-06-02 16:03 修心而结网 阅读(108) 评论(0) 推荐(0) 编辑
摘要: what: 线程的多种状态,如下: 第一种:初始(NEW)指新建一个线程对象如Thread thread = new Thread(()->{});还没有调用其start() 方法。 第二种:运行状态(RUNNABLE)java线程中将就绪状态(ready,满足条件但未获取时间片)和运行中(runn 阅读全文
posted @ 2022-06-02 15:11 修心而结网 阅读(717) 评论(0) 推荐(0) 编辑
摘要: what: AQS的全称是AbstractQueuedSynchronizer,即抽象队列同步器,其底层是volatile与CAS。而其上层则是基于该抽象类构建的许多并发组件,如ReentrantLock、Semaphore等。 AQS最核心的数据结构是一个volatile int state 和 阅读全文
posted @ 2022-06-01 18:09 修心而结网 阅读(38) 评论(0) 推荐(0) 编辑
摘要: what: CAS的全称是Compare and Swap,即比较并交换。比较的是当前内存中存储的值与预期原值,交换的是新值与内存中的值。这个操作是硬件层面的指令,因此能够保证原子性。Java通过JNI(本地方法调用)来使用这个原子操作,也是乐观锁最常用的机制。 CAS操作包含三个操作数——内存位置 阅读全文
posted @ 2022-06-01 18:08 修心而结网 阅读(421) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 14 下一页