ICode9

精准搜索请尝试: 精确搜索
  • 并发编程八----Executor框架的作用2021-10-06 11:05:47

    Executor是一个多线程管理框架,创建线程的方式有三种Thread、Runnable、Callable。但是如果用这三种方式创建线程则存在线程的生命周期管理困难,无限创建线程的话还会存在资源消耗(内存消耗高)、线程生命周期的开销过高(cpu计算资源的消耗)、系统稳定性问题(不同系统创建线程的数量限制

  • 09 运行原理2021-10-05 18:02:50

    运行原理 1、获取sqlSessionFactory对象 通过加载mybatis全局配置文件以及mapper映射文件初始化configuration对象 和Executor对象(通过全局配置文件中的defaultExecutorType初始化); 把配置文件的信息解析并保存在Configuration对象中,返回包含了Configuration的DefaultSqlSession对

  • Java实现异步调用2021-10-04 19:32:16

    文章目录 一、创建线程二、Future三、CompletableFuture四、Spring的Async注解1-@Async2-AsyncResult 一、创建线程 @Test public void test0() throws Exception { System.out.println("main函数开始执行"); Thread thread=new Thread(new Runnable() { @Over

  • 线程池使用案例2021-10-04 16:57:56

    分析 定义核心线程corethread数为5,最大总线程数maxthreadsize不能超过10,在案例代码中我们用for循环创建了15个项目,前五个项目(编号0-4)顺利地作为核心线程运行,当第六个线程被execute时会被放入workqueue等待队列(这个不计入最大总线程数中),编号5-9的都放入这个队列,当第11个线程进

  • MyBatis笔记 三 源码2021-09-30 09:03:03

    Mapper代理的创建 MapperProxyFactory类用于创建Mapper的代理,只使用了Java提供的动态代理技术。 这个类中我们能发现,实际上Mapper接口的实际方法调用被创建出来MapperProxy接管。 public class MapperProxyFactory<T> { private final Class<T> mapperInterface; public Mapp

  • Mybatis分页插件PageHelper的原理2021-09-28 11:02:43

    Mybatis分页插件PageHelper的原理 Mybatis的查询流程Mybatis的查询接口ExecutorMybatis的拦截器插件分页插件的实现:PageInterceptor分页插件是如何获取我们的pageNum和pageSize参数的总结 Mybatis的查询流程 在原生的mybatis中我们是通过SqlSessionFactory.openSession(

  • SpringBoot中使用@Async异步并行执行任务2021-09-27 10:58:43

    在SpringBoot中使用@Async需要注意的是: 1. 方法名必须是public进行修饰的,且不能是static方法 2. 不能与调用的方法在同一个类中 3. 需要把该方法注入到Spring容器中,就是在一个类中添加异步方法,并在此类上使用@Component之类的注解加入到容器 一个项目需要统一管理项目中的线

  • Spring @Async异步方法中的线程隔离2021-09-24 09:33:51

    Spring @Async异步方法中的线程隔离 目录Spring @Async异步方法中的线程隔离内容摘要代码实例第一步:创建线程池第二步:编写异步方法第三步:测试观察 转载说明 https://www.cnblogs.com/didispace/p/15307355.html 内容摘要 上一篇分享中介绍了Spring中的异步方法的使用方法,文中提到,

  • Spark 常规性能调优-参数2021-09-21 11:00:46

            Spark 性能调优的第一步,就是为任务分配更多的资源,在一定范围内,增加资源的分配与性能的提升是成正比的,实现了最优的资源配置后。 bin/spark-submit \ --class com.xxx.xxx.Analysis \ --master yarn \ --deploy-mode cluster --num-executors 50 \ --executor-c

  • Spring Boot中有多个@Async异步任务时,记得做好线程池的隔离!2021-09-19 12:35:51

    为了控制异步任务的并发不影响到应用的正常运作,我们必须要对线程池做好相应的配置,防止资源的过渡使用。除了默认线程池的配置之外,还有一类场景,也是很常见的,那就是多任务情况下的线程池隔离。 什么是线程池的隔离,为什么要隔离 可能有的小伙伴还不太了解 什么是线程池的隔离,为什么要

  • spark解剖--master、worker、driver、executor2021-09-17 17:03:14

      master,worker是物理节点,守护进程; dirver,executor是执行进程; 

  • Spring线程池ThreadPoolTaskExecutor使用2021-09-17 16:04:35

    创建线程池 import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import java.util.concurre

  • 测试平台系列(37) 运用装饰器给用例加上执行日志2021-09-15 20:35:29

    测试平台系列(37) 运用装饰器给用例加上执行日志 大家好,这里是米洛,一个想和大家一起分享测试开发相关的技术,面试经验和成长经历的博主! 欢迎大家关注我的公众号: 测试开发坑货。 回顾 上一节成功把全局变量运用到了用例之中,后续我们的目标就是要完善执行用例的过程,暂时我们还是单

  • 异步执行Async2021-09-13 20:00:02

            异步调用就是不用等待结果的返回就执行后面的逻辑;同步调用则需要等待结果再执行后面的逻辑。         通常我们使用异步操作的时候都会创建一个线程执行一段逻辑,然后把这个线程丢到线程池中去执行 public void asyncDemo(){ ExecutorService executorS

  • 记录springboot监听redis过期key2021-09-12 22:31:43

    在一个需求中,需要当redis的key删除或过期的时候往日志表中插入一条对应的记录。那么如何监听redis的过期key呢? 1.首先需要设置redis配置文件 notify-keyspace-events Ex, 或者使用命令 CONFIG set notify-keyspace-events Ex。 那么notify-keyspace-events 后面都有哪些参数呢

  • 高龄白菜JAVA学习第七十一天(Mybatis(4)参数处理源码分析)2021-09-09 23:35:27

    一、mybatis运行原理: 1.通过加载mybatis全局配置文件以及mapper映射文件初始化configuration对象 和Executor对象(通过全局配置文件中的defaultExecutorType初始化); 2.创建一个defaultSqlSession对象,将configuration对象和Executor对象注入给 defaulSqlSession对象中; 3.defaulS

  • XXL-JOB分布式定时框架2021-09-06 20:03:03

    什么是xxl-job? 官网文档:https://www.xuxueli.com/xxl-job/ XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。 现已开放源代码并接入多家公司线上产品线,开箱即用。 该项目是开源的,直接使用gitee拉取下来即可 https://github.com/xuxuel

  • 线程池Executor2021-09-04 18:30:35

    1.两个线程交替输出1a2b3c4d......z //解法一:LockSupport.park,unpart char[] aI = "1234567".toCharArray(); char[] aC = "ABCDEFG".toCharArray(); t1 = new Thread(()->{ for(char c : aI){ System.out.print(c); LockSupport.unpark(t2

  • SpringBoot 异步任务-使用@Async注解2021-09-03 18:01:47

    常见的高并发方案 异步,削峰填谷缓存,缓存相对稳定高频热点数据并行,缩短业务响应时间优化你的业务代码限流和降级,保护你的核心服务在高并发下能正常工作 异步场景 关联业务的执行结果对主线程的返回结果没有直接影响或无影响。此时,能让主线程更顺畅的执行,并给客户带来好的客户体验

  • SpringBoot中 线程池2021-09-03 15:59:07

    前两天做项目的时候,想提高一下插入表的性能优化,因为是两张表,先插旧的表,紧接着插新的表,一万多条数据就有点慢了 后面就想到了线程池ThreadPoolExecutor,而用的是Spring Boot项目,可以用Spring提供的对ThreadPoolExecutor封装的线程池ThreadPoolTaskExecutor,直接使用注解启用 使用

  • Java并发38:Executor系列--ExecutorService接口学习笔记2021-09-02 20:34:11

    本章主要学习ExecutorService接口。 1.ExecutorService接口概述@since 1.5 ExecutorService接口是一个执行器,它可以终止任务。 ExecutorService接口还提供了返回Future接口的方法,这个方法可以用于追踪一个或多个异步任务的执行情况。 ExecutorService可以手动关闭,这种操作会导致它

  • Java并发34:Callable+Future系列--Callable接口学习笔记2021-09-02 19:31:38

    本章主要学习Callable接口。 1.Callable接口概述 Callable接口是一种能够返回计算结果并且可以抛出异常的任务。Callable接口的实现类需要定义一个无参数的方法:call()。 @FunctionalInterface public interface Callable<V> { /** * Computes a result, or throws an ex

  • selenium源码分析小结2021-08-28 12:02:23

    一.selenium 目录说明 selenium common --公用方法 webdriver --浏览器方法 __init__.py --将常用方法导入包 下面将详细介绍主要功能的实现 1.这里已初始化代码用例进行讲解 selenium 框架是一个B/S架构需要启动服务端,webdriver.common.service即是启动启动浏

  • CompletableFutures多线程阻塞获取结果2021-08-12 21:01:26

    voidCompletableFuture.get(); voidCompletableFuture.join(); 一样会阻塞当前线程,直到所有子任务都完成一起打印结果 package com.async; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.concurrent.*; /** * @author Allen

  • 《深入学习MyBatis系列之MyBatis应用分析和最佳实践12_SSM框架_集成MyBatis的插件使用和原理分析》2021-08-10 14:29:41

    《深入学习MyBatis系列之MyBatis应用分析和最佳实践12_SSM框架_集成MyBatis的插件使用和原理分析》 大龄程序猿的知识分享,边学边记录边分享. 望觉得本文对您有意义的一键三连,点赞、收藏、评论. 您的支持是对我的坚持最大的鼓励,可以交友互相学习交流心得. 坐标: 浙江杭州 Q Q

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有