【线程之Callable、Future 和FutureTask使用及源码分析】教程文章相关的互联网学习教程文章

Virtualbox源码分析17 APIC虚拟化2.APIC设备模拟md【代码】

17.1 APIC设备模拟 VirtualBox里,把APIC作为一个R0的PNP设备来模拟: const PDMDEVREG g_DeviceAPIC = {/* .u32Version = */ PDM_DEVREG_VERSION,/* .uReserved0 = */ 0,/* .szName = */ "apic",/* .fFlags = */ PDM_DEVREG_FLAGS_DEFAULT_BITS | PDM_DEVREG_FLAGS_RZ | PDM_DEVREG_FLAGS_NEW_STYLE| PDM_DEVREG_FLAGS_REQUIRE_R0 | PDM_DEVREG_FLAGS_REQUIRE_RC,/* .fC...

[Abp vNext 源码分析] - 14. EntityFramework Core 的集成【图】

一、简要介绍 在以前的文章里面,我们介绍了 ABP vNext 在 DDD 模块定义了仓储的接口定义和基本实现。本章将会介绍,ABP vNext 是如何将 EntityFramework Core 框架跟仓储进行深度集成。 ABP vNext 在集成 EF Core 的时候,不只是简单地实现了仓储模式,除开仓储以外,还提供了一系列的基础设施,如领域事件的发布,数据过滤器的实现。 二、源码分析 EntityFrameworkCore 相关的模块基本就下面几个,除了第一个是核心 EntityFramew...

Mybatis工作流程源码分析【代码】【图】

1.简介   MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录《摘自mybatis官网》。mybatis在我们开发中经常使用,所以搞清楚mybatis的工作流程还是比较重要的,下面就开始我们的分析。 ...

分布式调度平台XXL-JOB源码分析【图】

XxlJobExecutorApplication为我们执行器的启动项,其中有个XxlJobConfig的配置项,发现其中有个属性为adminAddresses,这个就是我们调度中心的地址。 我们发现一个执行器端的关键Bean,XxlJobSpringExecutor,声明了init方法为start,点进来,它又实现了ApplicationContextAware接口,用来保存spring的上下文信息。 它还有个父类XxlJobExecutor,没有其他实现子类。 程序开始执行start方法,? 第一步,调用了本类的私有方法,这个方...

HashMap源码分析(史上最详细的源码分析)【代码】

HashMap简介 HashMap是开发中使用频率最高的用于映射(键值对 key value)处理的数据结构,我们经常把hashMap数据结构叫做散列链表; ObjectI entry<Key,Value>,entry<Key,Value>] 可以将数据通过键值对形式存起来 特点HashMap根据键的hashcode值存储数据,大多数情况可以直接定位到它的值,因而具有很快的访问速度,但遍历顺序是不确定的 想要使得遍历的顺序就是插入的顺序,可以使用LinkedHashMap,LinkedHashMap是HashMap的一...

Spring-BeanFactory源码分析【代码】【图】

正式进入Spring 源码分析这个模块了,对于spring这个庞大的工程,如果要一点点的完全分析是非常困难的,对于应用型框架,我还是偏向于掌握思想或者设计,而不是记住代码,对于初次看spring源码,相信大家都很头大,而且看懂并不一定就是理解了,想要更好的效果,就要记录下来,扯个题外话,LZ觉得写博客真的挺有瘾的,一旦开始写了,就很想继续写,每写完一篇文章,感觉自己有产出,感觉很舒适,但是一旦歇菜,就又不想继续写了,这...

[ipsec][strongswan] strongswan源码分析--总体架构图【图】

history: 2019-06-05, 增加配置文件解析部分。 2019-06-05,增加plugin优先级排序部分。 charon进程初始化阶段的流程图 约定: 实线代表流程图。 虚线代表调用栈,箭头方向代表自上而下。 黄线是辅助线,请自己理解。 图:netlink模块的类图 图:从Task到内核xfrm模块的调用关系图说明:该图以kernel-netlink plugin为例分析了strongswan 5.7.1的主要代码架构。 该图的后续演进维护将留着这个地方,2中的文档将不会被该图触发更新。...

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...