【领导优点分析-黄总】教程文章相关的互联网学习教程文章

AbstractQueuedSynchronizer(AQS)源码分析【代码】【图】

学习是一个循序渐进的过程,在学习现场池相关知识的时候,注意到线程池使用了阻塞队列,阻塞队列LinkedBlockingQueue中又使用到了ReentrantLock可重入锁,因此先对ReentrantLock展开学习。ReentrantLock中很重要的一部分是Sync,他继承了AQS(AbstractQueuedSynchronizer),AQS提供一个框架,用于实现依赖于先进先出(FIFO)等待队列的阻塞锁和相关的同步器(信号量,事件等)。此类被设计为*是大多数类型的同步器的有用基础,这些同...

spark 源码分析之十九 -- Stage的提交【图】

引言 上篇 spark 源码分析之十九 -- DAG的生成和Stage的划分 中,主要介绍了下图中的前两个阶段DAG的构建和Stage的划分。 本篇文章主要剖析,Stage是如何提交的。 rdd的依赖关系构成了DAG,DAGScheduler根据shuffle依赖关系将DAG图划分为一个一个小的stage。具体可以看 spark 源码分析之十九 -- DAG的生成和Stage的划分 做进一步了解。紧接上篇文章 上篇文章中,DAGScheduler的handleJobSubmitted方法我们只剖析了stage的生成部分,...

SparkRPC源码分析之RPC管道与消息类型

SparkRPC源码分析之RPC管道与消息类型我们前面看过了netty基础知识扫盲,那我们应该明白,ChannelHandler这个组件内为channel的各种事件提供了处理逻辑,也就是主要业务逻辑写在该组建内。Spark的RPC也不会例外,因此我们看一下Spark的Handler怎么调用的。在TransPortClientFactory初始化客户端之前有一条代码为TransportChannelHandler clientHandler = context.initializePipeline(ch);这里的context定义的地方为private final T...

《jdk8u源码分析》2.JLI_Launch【代码】

src/share/bin/java.c::JLI_Launch /** Entry point.*/ int JLI_Launch(int argc, char ** argv, /* main argc, argc */int jargc, const char** jargv, /* java args */int appclassc, const char** appclassv, /* app classpath */const char* fullversion, /* full version defined */const char* dotversion, /* dot version defined */const char* pname, ...

《jdk8u源码分析》5.3.LocateJRE【代码】

src/windows/bin/java_md.c::LocateJRE /** This is the global entry point. It examines the host for the optimal* JRE to be used by scanning a set of registry entries. This set of entries* is hardwired on Windows as "Software\JavaSoft\Java Runtime Environment"* under the set of roots "{ HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE }".** This routine simply opens each of these registry directories before pa...

ffplay源码分析3-代码框架【代码】【图】

本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10301831.html ffplay是FFmpeg工程自带的简单播放器,使用FFmpeg提供的解码器和SDL库进行视频播放。本文基于FFmpeg工程4.1版本进行分析,其中ffplay源码清单如下: https://github.com/FFmpeg/FFmpeg/blob/n4.1/fftools/ffplay.c 在尝试分析源码前,可先阅读如下参考文章作为铺垫: [1]. 雷霄骅,视音频编解码技术零基础学习方法 [2]. 视频编解码基础概念 ...

Spring事务源码分析总结

Spring事务是我们日常工作中经常使用的一项技术,Spring提供了编程、注解、aop切面三种方式供我们使用Spring事务,其中编程式事务因为对代码入侵较大所以不被推荐使用,注解和aop切面的方式可以基于需求自行选择,我们以注解的方式为例来分析Spring事务的原理和源码实现。 //配置事务管理器<tx:annotation-driven transaction-manager="transactionManager"/> <bean id="transactionManager" class="org.springframework...

ffplay源码分析3-代码框架【图】

“ffplay源码分析”系列文章如下: [1]. ffplay源码分析1-概述 [2]. ffplay源码分析2-数据结构 [3]. ffplay源码分析3-代码框架 [4]. ffplay源码分析4-音视频同步 [5]. ffplay源码分析5-图像格式转换 [6]. ffplay源码分析6-音频重采样 [7]. ffplay源码分析7-播放控制 在尝试分析源码前,建议先阅读如下参考文章作为铺垫: [1]. 雷霄骅,视音频编解码技术零基础学习方法 [2]. 视频编解码基础概念 [3]. 色彩空间与像素格式 [4]. 音频参...

Spark2.0.2模式匹配源码分析【代码】【图】

1.在SparkContext启动的时候初始化DAGSchedule调度器_taskScheduler在_dagsheduler初始化之前初始化,是因为DAGScheduler的构造器需要一个SparkContext的实例对象和一个TaskScheduler的实例对象2. 在createTaskScheduler方法里进行模式匹配我这里是yarn模式,它在源码中是这样匹配的:接下来是重点:ServiceLoader.load(classOf[ExternalClusterManager], loader).asScala.filter(_.canCreate(url))这行代码起什么作用呢: 先加载所...

springcloud feign源码分析(2)——牛刀小试:跑起来服务环境然后打断点初步调试一下feign的入口源码【图】

FeignClientsRegistrar.registerBeanDefinitions()方法,打个断点 启动ServiceB服务,debug模式进去,直接就可以进去feign去扫描@FeignClient注解的入口的源码,可以初步的简单调试一下 本篇博客,就以registerDefaultConfiguration()方法为例,来先初步调试一下feign的源码 大概猜测一下,metadata(AnnotationMetadata)可能是注解相关的一些元数据,BeanDefinitionRetistry(bean实例的注册器) Map<String, Object> defaul...

HashMap实现原理及源码分析【代码】【图】

转载自http://www.cnblogs.com/chengxiao/p/6059914.html#t1 哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出现在各类的面试题中,重要性可见一斑。本文会对java集合框架中的对应实现HashMap的实现原理进行讲解,然后会对JDK7的HashMap源码进行分析。 一、什么是哈希表在讨论哈希表之前,我...

robotframework源码分析【代码】

# Copyright 2008-2015 Nokia Networks # Copyright 2016- Robot Framework Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # dist...

Mybatis 解析 SQL 源码分析二【代码】【图】

Mybatis 解析 SQL 源码分析二 TSMYK Java技术编程 Mybatis Mapper.xml 配置文件中 resultMap 节点的源码解析Mybatis 解析 SQL 源码分析一Mybatis Mapper 接口源码解析Mybatis 数据库连接池源码解析Mybatis 类型转换源码分析Mybatis 解析配置文件的源码解析 前言 在上两篇文章 Mybatis 解析 SQL 源码分析一 和 Mybatis Mapper.xml 配置文件中 resultMap 节点的源码解析 中分析了 Mybatis 是如何解析 Mapper.xml 配置文件的,配置...

MyBatis源码分析(四):SQL执行过程分析【代码】

一、获取Mapper接口的代理 根据上一节,Mybatis初始化之后,利用sqlSession(defaultSqlSession)的getMapper方法获取Mapper接口1 @Override 2 public <T> T getMapper(Class<T> type) { 3 return configuration.<T>getMapper(type, this); 4 }而调用configuration对象的getMapper方法1 public <T> T getMapper(Class<T> type, SqlSession sqlSession) { 2 return mapperRegistry.getMapper(type, sqlSession); 3 }再次调...