ICode9

精准搜索请尝试: 精确搜索
  • Java面试总结,Java 小记 — RabbitMQ 的实践与思考2021-08-05 17:00:22

    上个示例中我提到的应用场景是解耦和通知,再接着扩展,因其具备良好的缓冲性质,所以还有一个非常适合的应用场景那就是削峰。对于突如其来的极高并发请求,我们可以先瞬速地将其加入队列并回复用户一个友好提示,然后服务器可在其能承受的范围内慢慢处理,以此来防止突发的 CPU 和内存 “爆

  • 主线程等待子线程,获取资源2021-08-05 15:34:51

    在写有的多线程业务时,可能需要收集子线程的数据,但是这时主线程已经跑完,如何阻塞是一个问题。 下面写一个 主线程和 线程池组合的阻塞; 1 主线程等待线程池 Java线程池java.util.concurrent.ExecutorService是很好用的多线程管理方式。ExecutorService的一个方法boolean awaitT

  • mybatis-插件的执行流程2021-08-05 02:01:32

    DefaultSqlSessionFactory final Executor executor = configuration.newExecutor(tx, execType); 通过Configuration创建一个executor Configuration executor = (Executor) interceptorChain.pluginAll(executor); 动态代理executor (target) InterceptorChain =pluginAll(Object

  • arthas命令技巧2021-07-30 08:35:55

    看某些可能发生异常的方法 RPC层 当其他域调用本系统的时候,需要看有可能的HSF调用 Mybatis层 看执行的SQL和对应参数 watch org.apache.ibatis.executor.SimpleExecutor doQuery '{params[4].sql,params[4].parameterObject}' -x 3 看执行的返回值 watch org.apache.ibatis.execu

  • 揭开Spring自身异步实现的秘密~@EnableAsync2021-07-27 19:04:15

    我们在开发过程中经常会碰到一些比较复杂的操作,这些操作可能不必及时相应结果,一般这个时候我们希望触发后,让其自己去慢慢执行,最后我们只需要查询到相关结果即可,这个时候一般就是采用异步操作的形式。通常大家为了并行操作,会选用创建一个线程去执行,这样就需要书写比较多的线

  • ExecutorCompletionService源码解析2021-07-25 14:04:56

    主要来看看FutureTask的done方法的运用。 public class ExecutorCompletionService<V> implements CompletionService<V> { //执行任务的线程池 private final Executor executor; //用于调用AbstractExecutorService的newTaskFor方法,来实例化一个实现了RunnableFut

  • Consider boosting spark.yarn.executor.memoryOverhead2021-07-24 20:30:10

    前言 本文隶属于专栏《Spark异常问题汇总》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见 Spark异常问题汇总 问题描述 spark submit 报错: org.apache.spark.SparkException: Job aborted due to stage failure: Task

  • python并发编程之进程池和线程池2021-07-23 20:32:44

    1、Python标准模块——concurrent.futures concurrent.futures模块提供了高度封装的异步调用接口 ThreadPoolExecutor:线程池,提供异步调用 ProcessPoolExecutor:进程池,提供异步调用 2、基本方法 submit(fn, *args, **kwargs):异步提交任务 map(func, *iterables, timeout=Non

  • 线程池之Executor2021-07-22 07:31:06

    使用线程池的好处 池化技术相比大家已经屡见不鲜了,线程池、数据库连接池、Http 连接池等等都是对这个思想的应用。池化技术的思想主要是为了减少每次获取资源的消耗,提高对资源的利用率。 线程池提供了一种限制和管理资源(包括执行一个任务)。 每个线程池还维护一些基本统计信息,例

  • Netty的ChannelPipline传播源码解析2021-07-21 15:35:40

    将Handler封装为包装对象 newCtx = newContext(group, filterName(name, handler), handler); 这里比较难理解的就是这个,我们进入到newContext方法里面: private AbstractChannelHandlerContext newContext(EventExecutorGroup group, String name, ChannelHandler ha

  • Netty的ChannelPipline传播源码解析2021-07-21 15:29:33

    将Handler封装为包装对象 newCtx = newContext(group, filterName(name, handler), handler); 这里比较难理解的就是这个,我们进入到newContext方法里面: private AbstractChannelHandlerContext newContext(EventExecutorGroup group, String name, ChannelHandler 

  • 一文看懂Concurrent面试常问类Executor,ExecutorService,AbstractExecutorService,ThreadPoolExecutor作用,关系与区别2021-07-20 18:58:43

    Concurrent包是jdk1.5所提供的一个针对高并发进行编程的包,也是多线程并发编程最喜欢问的,特别是从线程,线程池的使用做为最简单的切入点,先看个不太好理解的类图 接下来我们从头往下,一步步拆分开来研究: Executor:多线程框架的主要接口,它底层就是一个execute执行方法。它代表着

  • Mybatis笔记2021-07-14 21:03:43

    思考 https://www.zhihu.com/question/270387939/answer/360487647 https://blog.csdn.net/isea533/category_2092001.html Mybatis 客户端调用过程 // 加载配置 InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); // 构建核心工厂 SqlSessionFact

  • 第二部分:并发工具类22->Executor与线程池,如何创建正确的线程池2021-07-07 16:34:02

    1.创建线程 创建对象,仅仅在jvm堆里分配一块内存 创建线程,调用操作系统内核api,操作系统为线程分配一系列资源,线程是重量级对象,应该避免频繁创建和销毁 2.线程池 线程池和一版池化资源不同,一般池化资源是acquire申请资源,release释放资源 java提供的线程池里没有申请线程和释放线程的

  • XXL-JOB学习笔记2021-07-06 15:29:47

  • Spark-submit参数优化配置2021-07-04 17:29:46

    在开发完Spark作业之后,就该为作业配置合适的资源了。Spark的资源参数,基本都可以在spark-submit命令中作为参数设置。很多Spark初学者,通常不知道该设置哪些必要的参数,以及如何设置这些参数,最后就只能胡乱设置,甚至压根儿不设置。资源参数设置的不合理,可能会导致没有充分利用集群资

  • [源码解析] 深度学习分布式训练框架 horovod (8) --- on spark2021-06-30 08:31:29

    [源码解析] 深度学习分布式训练框架 horovod (8) --- on spark 目录[源码解析] 深度学习分布式训练框架 horovod (8) --- on spark0x00 摘要0x01 Spark相关知识1.1 为什么整合 Spark1.2 Spark 简单架构1.3 Pyspark 原理1.3.1 架构修改1.3.2 Driver端1.3.3 Executor端1.3.4 流程0x0

  • Java异步事务2021-06-27 21:01:52

    有一个数据分析的接口特别耗时,请求一次要大约半小时才能出结果。 于是,我对它这样处理:请求这个接口后,将其直接异步执行,并直接向前端返回true。当其执行完成后,自动向管理员邮箱发送一封邮件。 这时候我发现,常规添加@Transactional注解,异步事务无法生效。于是就有了下面的解决方法。

  • 亚马逊aws emr hadoop集群 调度工具azkaban安装2021-06-27 20:02:48

    解压后重命名 keytool -keystore keystore -alias jetty -genkey -keyalg RSA在 azkaban目录下生成keystore文件,然后mv到/lib/azkaban/azkaban-web /lib/azkaban/azkaban-web/conf/azkaban.properties #Azkaban Personalization Settings azkaban.name=Test azkaban.labe

  • 『转』Spark作业执行之JVM参数设置解析2021-06-21 16:07:08

    Spark作业提交后,在driver上运行init()方法时报错: java.lang.OutOfMemoryError: GC overhead limit exceeded 报错原因是代码中使用了HashMap而且数据量很大,所以导致GC overhead,调整JVM的启动参数-Xms和-Xmx,这个参数配置Java堆的大小,因为代码运行时hashmap对象存放在堆中,故需调大改

  • spark-submit提交程序遇到错误,纠正记录2021-06-21 16:04:29

    时间:2019年10月14日 spark程序按照如下提交任务后报错 ./spark-submit --class com.idengyun.HiveToEs2 \ --conf spark.yarn.executor.memoryOverhead=6144 \ --conf spark.shuffle.io.maxRetries=100 \ --conf spark.shuffle.io.retryWait=60 \ --conf spark.task.maxFailures=1

  • xxl-job学习记录2021-06-20 21:03:35

    目录 概述准备环境执行器编写step1step2 进入管理界面查看结果官网文档对配置的说明 概述 XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 准备环境 文档地址: https://www.xu

  • 【设计模式自习室】门面模式 Facade Pattern2021-06-16 21:02:31

      前言 《设计模式自习室》系列,顾名思义,本系列文章带你温习常见的设计模式。主要内容有: 该模式的介绍,包括: 引子、意图(大白话解释) 类图、时序图(理论规范) 该模式的代码示例:熟悉该模式的代码长什么样子 该模式的优缺点:模式不是万金油,不可以滥用模式 该模式的应用案例:了解它在哪些重

  • java之多线程--线程池2021-06-14 23:35:16

    感谢以下博文的作者,本文对下博文内容进行了参考 https://zhuanlan.zhihu.com/p/123328822 线程池的优势: 降低资源消耗:通过池化技术重复利用已创建的线程,降低线程创建和销毁造成的损耗。 提高响应速度:任务到达时,无需等待线程创建即可立即执行。 提高线程的可管理性:线程是稀缺资源

  • Spark核心编程系列(六)——共享变量2021-06-13 21:02:22

    目录 共享变量 累加器(分布式只写变量) 广播变量(分布式只读变量) 广播变量的一些原理 参考 共享变量     Spark提供的两种共享变量(广播变理和累加器)的一种。为什么要使用共享变量呢?通常情况下,当向Spark操作(如map,reduce)传递一个函数时,它会在一个远程集群节点上执行,它会使

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

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

ICode9版权所有