- 2024-11-02spark-on-k8s 介绍
spark-on-k8s介绍摘要最近一段时间都在做与spark相关的项目,主要是与最近今年比较火的隐私计算相结合,主要是在机密计算领域使用spark做大数据分析、SQL等业务,从中也了解到了一些spark的知识,现在做一个简单的总结,主要关注sparkonk8s模式。需要先从大数据开始讲起,大数据
- 2024-10-23线程池
线程池配置importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;importorg.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;importjava.util.concurrent.ThreadPoolExecutor;@Configura
- 2024-10-23Future和CompletableFuture的理解
使用CompletableFuture的方法直接使用CompletableFuture提交任务使用CompletableFuture.runAsync()或CompletableFuture.supplyAsync(),这些方法会使用默认线程池来执行异步任务。适合快速启动简单的异步操作,不需要额外的线程池管理。使用CompletableFuture并指
- 2024-10-22线程池实现原理及实践
线程池的总体设计ThreadPoolExecutor实现的顶层接口是Executor,顶层接口Executor提供了一种思想:将任务提交和任务执行进行解耦。用户无需关注如何创建线程,如何调度线程来执行任务,用户只需提供Runnable对象,将任务的运行逻辑提交到执行器(Executor)中,由Executor框架完成线程的调配
- 2024-10-21java线程异步方法
异步的八种实现方式:线程异步Thread/RunnableFuture+Callable异步框架CompletableFutureSpring注解@AsyncSpringApplicationEvent事件第三方异步框架,比如Hutool的ThreadUtilGuava异步消息队列1、线程异步publicclassThreadTestimplementsRunnable{
- 2024-10-21spark调优-背压
在处理SparkStreaming中的背压(Backpressure)问题时,综合考虑提升数据消费速度与应对下游消费能力上限是至关重要的。以下内容将详细介绍背压的原理、应对策略以及具体的调优参数配置,帮助您有效缓解背压问题,提升SparkStreaming应用的性能和稳定性。一、背压(Backpressure)原理背压
- 2024-10-15java程池状态
在Java中,线程池的状态是由java.util.concurrent.ThreadPoolExecutor类管理的。ThreadPoolExecutor是ExecutorService的一个实现,提供了对线程池的详细控制。线程池的状态可以通过getPoolSize、getActiveCount、getTaskCount、getCompletedTaskCount等方法来获取。线程池的
- 2024-10-15自定义线程池的使用
现在有一个使用多线程进行调优的案例:模拟使用多线程并发处理数据。1.自定义一个线程池//自定义一个线程池classThreadPoolManger{privatefinalThreadPoolExecutorexecutor;privatefinalAtomicBooleanisShutdown;/***构造方法,用于初始化线程
- 2024-10-11Spark - [03] 资源调度模式
题记部分 一、Local模式1.1、概述Local模式就是运行在一台计算机上的模式,通常就是用于在本机上练手和测试的。可以通过以下几种方式设置Master(1)local:所欲计算都运行在一个线程当中,没有任何并行计算,通常我们在本机执行一些测试代码,或者练手,就用这种模式。(2)local[K]:指定使
- 2024-10-10通用线程池2
1publicenumCommonThreadPoolEnum{23TAKE_PHONE_NUMBER_THREAD_POOL;45privateThreadPoolExecutorexecutor;67CommonThreadPoolEnum(){8intcorePoolSize=6;9intmaximumPoolSize=6;10intworkQue
- 2024-10-10通用线程池1
1publicclassCommonThreadPool{2privatestaticfinalCommonThreadPoolpool=newCommonThreadPool();3privateThreadPoolExecutorexecutor;4privateCommonThreadPool(){5intcorePoolSize=4;6intmaximumPoolSize
- 2024-10-08Spring Boot 项目中如何使用异步任务
前置知识:同步任务:同步任务是在单线程中按顺序执行,每次只有一个任务在执行,不会引发线程安全和数据一致性等并发问题同步任务需要等待任务执行完成后才能执行下一个任务,无法同时处理多个任务,响应慢,影响用户体验异步任务:异步任务是在多线程中同时执行,多个任务可以并发执
- 2024-09-30MyBatis拦截器
一.JDBC的执行流程(面试题一)JBDC的底层主要是三个接口对象,Connection、Statement、ResultSet。Connection用于建立与数据库的连接,Statement用于向数据库发送sql语句,ResultSet用于封装sql查询语句的结果。原始的JDBC操作数据库主要有以下几个步骤:1.注册驱动使用Class.f
- 2024-09-19springboot中如何使用线程池
springboot中如何使用线程池在SpringBoot中使用线程池,你可以定义一个ThreadPoolTaskExecutor的Bean,然后在需要的地方使用@Autowired注入这个Bean。以下是一个配置线程池的例子:importorg.springframework.context.annotation.Bean;importorg.springframew
- 2024-09-15 AbortPolicy(默认策略)
1.AbortPolicy(默认策略)特点:当任务无法被线程池执行时,会抛出一个RejectedExecutionException异常。使用场景:适用于对任务丢失敏感的场景,当线程池无法接受新任务时,希望立即知道并处理该异常。示例代码:importjava.util.concurrent.*;publicclassAbortPolicyDemo{ publicsta
- 2024-09-15DiscardOldestPolicy
特点:当任务无法被线程池执行时,线程池会丢弃队列中最旧的未处理任务,然后尝试重新提交当前任务。使用场景:适用于对新任务优先级较高的场景,当线程池无法接受新任务时,会丢弃一些等待时间较长的旧任务,以便接受新任务。示例代码:importjava.util.concurrent.*;publicclassDiscardOldest
- 2024-09-15什么是ExecutorService
ExecutorService是Java中用来管理和执行多线程任务的一种高级工具。可以有效地管理线程的生命周期和任务的执行过程,特别是在需要处理大量并发任务时尤为有用。生动形象的比喻,ExecutorService就像是一个管理者,你可以把任务交给它,它会根据需要创建线程,并且确保任务按照你的要求执
- 2024-09-13线程池的拒绝策略
线程池的拒绝策略是在任务无法被接受执行时,线程池采取的一种处理方式。Java中的ThreadPoolExecutor提供了几种内置的拒绝策略,可以通过构造函数或setRejectedExecutionHandler方法进行设置。以下是常见的拒绝策略:AbortPolicy(默认策略):AbortPolicy是默认的拒绝策略,当任务无法被接受
- 2024-09-13Azkaban、oozie、airflow、dolphinschduler 对比分析
好的,我们可以进一步深入分析Azkaban、Oozie、Airflow和DolphinScheduler的更多技术细节、架构、优缺点,以及在实际场景中的应用情况。1.Azkaban1.1架构组件:WebServer:负责处理用户请求、提交工作流、查看任务状态和管理任务调度。ExecutorServer:负责实际执行
- 2024-09-12Python的进程池和线程池
线程池都在一个进程内GIL不适合密集型计算共享进程资源,存在不安全的线程fromconcurrent.futuresimportThreadPoolExecutordeftask(n):returnn*2if__name__=='__main__':withThreadPoolExecutor(max_workers=4)asexecutor:results=
- 2024-09-06Java 线程池:参数、配置和常见问题以及案例示范
Java线程池:参数、配置和常见问题以及案例示范线程池是提高系统性能和资源利用率的关键组件之一。通过合理配置线程池,可以有效地管理线程资源,避免系统过载,提升并发处理能力。本文将以电商交易系统为案例,详细讲解Java线程池的参数、配置、以及常见问题和解决方案以及在spr
- 2024-09-06安装了跑神经网络的环境,所遇到的问题及解惑1
cuda:12.2cudnn:8.9.7tensorflow库:2.17.0(python310_test){9:37}/home/code/python➭pythonmnist_test.py2024-09-0609:39:29.473128:Eexternal/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:9261]UnabletoregistercuDNNfactory:Attemptingtoregister
- 2024-09-04买药秒送 JADE动态线程池实践及原理浅析
一、背景及JADE介绍买药秒送是健康即时零售业务新的核心流量场域,面对京东首页高流量曝光,我们对频道页整个技术架构方案进行升级,保障接口高性能、系统高可用。动态线程池是买药频道应用的技术之一,我们通过3轮高保真压测最终初步确定了线程池的核心参数。但我们仍面临一些保障系统稳
- 2024-08-28java增加注解实现异步执行任务
1.首先启动类增加注解@EnableAsync2.增加configpackagecom.xxx.config;importorg.springframework.aop.interceptor.AsyncUncaughtExceptionHandler;importorg.springframework.context.annotation.Configuration;importorg.springframework.scheduling.annotation.A
- 2024-08-24spring如何实现高可用高性能高并发
在SpringBoot和SpringCloud中,可以通过以下方式实现高并发、高可用和高性能: 一、高并发 1. 异步处理-使用Spring的异步方法执行(@Async注解),将耗时的操作异步执行,不阻塞主线程,从而提高系统的并发处理能力。例如,对于一些数据处理、文件上传等操作,可以在后台异步进