Java高并发
文章平均质量分 63
高并发
来老铁干了这碗代码
算法爱好者 终生学习践行者 雨雪刀霜阻不住 不成大神誓不休
展开
-
别翻了,成员变量和局部变量在多线程中的使用,看这篇就够了
别翻了,成员变量和局部变量在多线程中使用的区别,看这篇就够了原创 2021-12-16 14:55:01 · 6679 阅读 · 3 评论 -
线程池应该设置多少核心线程数——Java多线程系列学习笔记
前言本章主要讨论线程池合适的线程数量是多少,以及 CPU 核心数和线程数的关系。我们调整线程池中的线程数量的最主要的目的是为了充分并合理地使用 CPU 和内存等资源,从而最大限度地提高程序的性能。在实际工作中,我们需要根据任务类型的不同选择对应的策略。1. CPU密集型第一种是 CPU 密集型任务,比如加密、解密、压缩、计算等一系列需要大量耗费 CPU 资源的任务。最佳线程数 = CPU 核心数的 1~2 倍如果设置过多的线程,实际上并不会起到很好的效果。此时假设我们设置的线程数是 CPU 核心数原创 2021-12-01 11:31:53 · 1851 阅读 · 0 评论 -
深入浅出理解 Variable used in lambda expression should be final or effectively final
翻译:lambda 表达式中使用的变量应该是 final 或者有效的 final原因解析:lambda表达式(多用在线程领域),是由匿名内部类演变来的。匿名内部类产生的对象一般存放在JVM的堆区域,而局部变量会存放在JVM的栈区域,随着方法调用结束,局部变量就会出栈,被当做垃圾回收掉。而此时,内部类对象可能还存在,如果内部类对象这时直接去访问局部变量的话就会出问题,因为外部局部变量已经被回收了。一个解决问题的思路是:将用到的变量在内部类中复制一份。但这样会造成数据不一致的问题:即使我们在内部类中复原创 2021-11-30 19:10:57 · 2421 阅读 · 1 评论 -
通俗易懂两种常用的多线程实现方式——Java并发系列学习笔记
如果我们想执行多线程操作,通常有两种方法一. 继承Thread类方式步骤:自定义类继承Thread覆盖Thread中的run()方法创建该类的对象,调用start()方法,开启线程并调用run方法class MyThread extends Thread{ private int ticket=10; public void run(){ for(int i=0;i<20;i++){ if(this.ticket>0){ System原创 2021-11-30 17:29:38 · 374 阅读 · 0 评论 -
分布式CAP理论:为什么CAP理论中的三个指标不能同时满足呢?
文章目录 前言 分布式系统的特点分布式系统技术是用来解决什么问题的呢? CAP代表什么含义一致性(Consistency)可用性(Availability)分区容错性(Partition Tolerance) CAP理论的证明CAP理论的应用CP和AP架构的取舍CP架构:放弃可用性,追求一致性和分区容错性AP架构:放弃强一致性,追求分区容错性和可用性 结语 前言 为什么CAP理论中的三个指标不能同时满足呢?春暖花开、鸟语花香,莫要虚度这明媚的春天,一..翻译 2021-11-13 21:42:47 · 1082 阅读 · 1 评论 -
万字图文 | 聊一聊 ReentrantLock 和 AQS 那点事(看完不会你找我)
前言AbstractQueuedSynchronizer(AQS)是 Java 并发编程中绕不过去的一道坎,JUC 并发包下的 Lock、Semaphore、ReentrantLock 等都是基于 AQS 实现的。AQS 是一个抽象的同步框架,提供了原子性管理同步状态,基于阻塞队列模型实现阻塞和唤醒等待线程的功能文章从 ReentrantLock 加锁、解锁应用 API 入手,逐步讲解 AQS 对应源码以及相关隐含流程列出本篇文章大纲以及相关知识点,方便大家更好的理解什么是 Reentrant.翻译 2021-10-09 11:22:47 · 276 阅读 · 0 评论 -
乐观锁和悲观锁的使用场景及应用——Java高并发系列学习笔记
一. 定义1、乐观锁:顾名思义,对每次的数据操作都保持乐观的态度,不担心数据会被修改,所以不会对数据进行上锁。由于数据没有上锁,这就存在数据会被多人读写的情况。所以每次修改数据的时候需要对数据进行判断是否被修改过。2、悲观锁:与乐观锁相反,对每次的数据操作都保存悲观的态度,总是担心数据会被修改,所以在自己操作的时候会对数据上锁,防止在自己操作的时候被他人同时操作导致更新丢失。二. 使用场景1、乐观锁:由于乐观锁的不上锁特性,所以在性能方面要比悲观锁好,比较适合用在DB的读大于写的业务场景。2、悲原创 2021-10-09 11:07:13 · 1084 阅读 · 0 评论