万字详解 Java 线程安全,面试必备!

来源:blog.csdn.net/u014454538/article/details/98515807 1. Java中的线程安全 Java线程安全:狭义地认为是多线程之间共享数据的访问。 Java语言中各种操作共享的数据有5种类型:不可变、绝对线程安全、相对线程安全、线程兼容、线程独立 ① 不可 ...

Kafka消费者调优

kafka消费速度慢可以尝试以下方法进行调优 1. 根据topic分区数来调整消费者实例数 众所周知,kafka为了保证消息消费顺序topic的每个分区只能被消费者组中一个实例消费。 如果你的topic分区数为36,则可以尝试调整消费者实例数为36,当然这个是消费者ConsumerFactory.c ...

day03-实现02

实现02 3.实现任务阶段3-处理Servlet02 3.3Servlet规范设计 3.3.1MyServlet 该类模仿Servlet接口,为了简化,只声明了三个方法:init(),service(),destroy() package com.li.MyTomcat.servlet; impor ...

Java 同步锁ReentrantLock与抽象同步队列AQS

AbstractQueuedSynchronizer 抽象同步队列,它是个模板类提供了许多以锁相关的操作,常说的AQS指的就是它。AQS继承了AbstractOwnableSynchronizer类,AOS用于保存线程对象,保存什么线程对象呢?保存锁被独占的线程对象。 抽象同步队列AQS除了实现序列 ...

Tomcat 线程池学习总结

前提 Tomcat 10.1.x Tomcat线程池介绍 Tomcat线程池,源于JAVA JDK自带线程池。由于JAVA JDK线程池策略,比较适合处理 CPU 密集型任务,但是对于 I/O 密集型任务,如数据库查询,rpc 请求调用等,不是很友好,所以Tomcat在其基础上进行了扩展。 任务处理 ...

【深入浅出 Yarn 架构与实现】2-4 Yarn 基础库 - 状态机库

当一个服务拥有太多处理逻辑时,会导致代码结构异常的混乱,很难分辨一段逻辑是在哪个阶段发挥作用的。 这时就可以引入状态机模型,帮助代码结构变得清晰。 一、状态机库概述 一)简介 状态机由一组状态组成: 【初始状态 -> 中间状态 -> 最终状态】。 在一个状态机中,每个状态会接收一组特定的事件,根据事 ...

jdk线程池ThreadPoolExecutor工作原理解析(自己动手实现线程池)(一)

jdk线程池ThreadPoolExecutor工作原理解析(自己动手实现线程池)(一) 线程池介绍 在日常开发中经常会遇到需要使用其它线程将大量任务异步处理的场景(异步化以及提升系统的吞吐量),而在使用线程的过程中却存在着两个痛点。 在java等很多主流语言中每个逻辑上的线程底层都对应着一个系统线 ...