• 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注解),将耗时的操作异步执行,不阻塞主线程,从而提高系统的并发处理能力。例如,对于一些数据处理、文件上传等操作,可以在后台异步进
  • 2024-08-22python——concurrent.futures
    concurrent.futures是Python标准库中用于并行编程的高级模块,它提供了一种高级别的接口来管理线程和进程。通过这个模块,你可以轻松地利用多线程和多进程来并行执行任务,进而提高程序的执行效率。1.concurrent.futures概述concurrent.futures提供了两种执行器类型:Thre
  • 2024-08-22JUC-Executor
    1,Executor框架相关内容Executor框架主要包括三部分内容任务相关的:包含被执行的任务要实现的接口:Runnable接口或Callable接口任务的执行相关的:包含任务执行机制的核心接口Executor,以及继承自Executor的ExecutorService接口。Executor框架中有两个关键的类实现了ExecutorS
  • 2024-08-21Spring Mybatis拦截器配合logback打印完整sql语句
    在项目开发与维护过程中,常常需要对程序执行的sql语句,进行观察和分析。但是项目通常默认会使用org.apache.ibatis.logging.stdout.StdOutImpl日志配置,该配置是用System.out.println打印的日志,导致只能将执行语句打印到控制台,却没办法打印到日志文件中。如果放开logback日志等
  • 2024-08-21异步编程CompletableFuture的一些使用demo
      publicstaticThreadPoolExecutorexecutor=newThreadPoolExecutor(5,5,5L,TimeUnit.SECONDS,newLinkedBlockingQueue<>(1000),newThreadPoolExecutor.CallerRunsPolicy());publicstaticvoidmain(String[]args)throwsException{Complet
  • 2024-08-19@Async使用ThreadPoolTaskExecutor 多线程
    SpringBoot中的线程池ThreadPoolTaskExecutor,@Async的使用线程池@Configuration@EnableAsyncpublicclassExcutorConfig{@Bean(name="ThreadPoolTaskExecutor")publicThreadPoolTaskExecutorThreadPoolTaskExecutor(){ThreadPoolTaskExecutorex
  • 2024-08-15你要了解的2种AI思维链
    我们使用的AI助手,一般是经过了预训练和微调这2个步骤,尽管训练出的模型能回答许多通用类问题,但是在遇到复杂问题时还是束手无策。直到有人提出了思维链方式,才解决了模型在面对复杂问题时的推理能力。1、什么是思维链思维链(ChainofThought,CoT)是用于提高AI模型推理能力的方式
  • 2024-08-14SpringBoot 整合线程池
    分为三步启动类加@EnableAsync注解在方法上加@Async注解创建线程池配置类1.启动类加@EnableAsync注解@SpringBootApplication@EnableAsyncpublicclassFacadeH5Application{publicstaticvoidmain(String[]args){SpringApplication.run(Fac
  • 2024-08-13Java线程池学习
    Java线程池学习一、线程池基础1定义2优点3基本组件二、Java线程池实现1Executor接口2ExecutorService接口3ThreadPoolExecutor类3.1创建线程池实例三、执行策略1直接提交策略(DirectSubmissionExecutor)2固定线程数策略(FixedThreadPool)3缓存线程池策略
  • 2024-08-12Java线程池和执行流程
    在Java中,常见的四种线程池包括:1.newFixedThreadPool(固定大小线程池)应用场景:适用于需要限制线程数量,并且任务执行时间比较均匀的场景,例如服务器端的连接处理。优点:线程数量固定,能够有效地控制并发线程数,避免过多的线程竞争资源。缺点:如果线程在执行任务过程中出现异常
  • 2024-08-08Docker && Microros && PlatformIO 配置经验留存
    1.背景:无意中看到了小鱼(鱼香ROS)的文章硬件环境:Ubuntu22.04 &&ESP32-WROOM-32想在ESP32WROOM32上实现microros的功能:实现上位机(跑ROS2)通过topic直接控制CAN报文的功能;目前进度:实现了环境的配置(PlatformIO&&docker&&Microros);初步跑通了Microros的订阅与发送(24
  • 2024-08-02Mybatis-Plus源码-自增主键填充到实体
     #mybatis-3.5.10+mybatisPlus-3.5.2#mybatis-plus自增id策略下何时填充id到实体com.baomidou.mybatisplus.extension.service.impl.ServiceImpl#saveOrUpdatecom.baomidou.mybatisplus.extension.service.IService#savecom.baomidou.mybatisplus.core.override.M
  • 2024-07-31结合拦截器描述mybatis启动流程
    简介mybatis的启动入口一般有两个,在结合spring框架后由spring整合包下的SqlSessionFactoryBean启动如果没有整合spring,则有XMLConfigBuilder启动这两个启动入口都会初始化Configuration对象,该对象是mybatis配置文件的对象形式,我们实现的mybatis拦截器在此时被装载到configurati