自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (2)
  • 收藏
  • 关注

原创 Spring解决循环依赖的个人理解

首先将Spring如何解决Bean的循环依赖之前得先搞明白,SpringBean的生命周期是怎样的 bean的生命周期简单可以理解为三大步 第一步是进行bean的实例化,要实现bean的实例化,大前提是要先启动上下文,去加载注解orXML或者其他地方写的配置,将配置加载进beanfactory中,那么就需要去初始化beanfactory了,这就引申到了abstractApplicationContext中的refresh 方法了。在这个方法里由12个关键的方法,其实这些个关键的方法也是分为几个大类,第

2020-12-21 00:07:04 170

原创 Hadoop的资源调度器-Yarn的资源调度器的探索(二)

接着上文继续说; Yarn资源管理器实际上是一个事件处理器,它需要处理来自外部的6中Scheduler-EventType类型的事件,并根据事件的具体含义进行相应的处理, NODE_REMOVED 表示集群移除了一个计算节点(也可能是节点故障或者管理员主动移除),资源调度器收到该事件时需要从可分配的资源总量中移除相应的资源量 NODE_ADDED 表示集群中增加一个计算节点,资源调度...

2018-12-01 22:21:23 311

原创 Hadoop的资源调度器-Yarn的资源调度器的探索(一)

要去阐述Yarn的任务调度的机制,其实就该先从Yarn的架构,以及基本组成结构开始说; Yarn是Hadoop-2.x之后出现的,实在MRv1的基础上演化而来的,它克服了MRv1中的各种局限性,在正式介绍Yarn之前就需要我们先了解以下MRv1的局限性,可以概括为以下几个方面; 1;扩展性差;在MRv1中JobTracker同时兼备了资源管理和作业控制的两个功能,这成为系统的一个最大瓶颈,严重...

2018-12-01 21:34:10 429

原创 Hadoop整个MR的过程源码解析(三)-reduce端任务的执行

刚刚又从头到尾的看了一下reduce的源码,个人感觉有几个重点,shuffle、sort、以及reduce,其中shuffle和sort阶段是并行发生的,当内存中的数据到达默认的内存峰值时,会自动触发文件的落地操作。相对于前两个阶段,reduce就更为直接,重要的东西由这几个,底层迭代器,封装的二次迭代器,nextKeyValue的方法,nextKeyIsSame的用处以及赋值。接下来仔细看代码 ...

2018-11-29 00:35:45 811

原创 spark中RDD,DataSet,DataFrame的区别

接触到spark不可避免的会接触spark的Api;           rdd,DataFrame,DataSet, 接下来就大致说一下他们的有点以及各自的区别; 首先DataFrame,DataSet是基于RDD之上的,而且可以通过简单的api调用进行无缝切换。 RDD的优点; 1;相对比与传统的MapReduce框架,spark的RDD中内置了很多函数操作,map,flatMap,...

2018-11-28 13:38:52 325

原创 Hadoop整个MR的过程源码解析(二)-map端任务的执行-map输出的过程源码解析

接着上文所说的map的输入以及通过调用读取器的nextKeyValue判断是否还有下一条数据,读取数据,重新赋值偏移量,以及给key赋值偏移量pos(当前行相对于整个文件的一个位置),value(当前行的数据),完成了map阶段的输入以及重新定义,接下来该聊的就是map的输出阶段,该阶段是比较复杂的,分为两个分支;第一分支是没有reduce的阶段,在日常的MR的过程中最简单的优化手段就是在尽量的避...

2018-11-28 00:21:32 548

原创 Hadoop整个MR的过程源码解析(二)-map端任务的执行

map端相对于client端就会复杂很多,里面包含了map的读入,重新赋值,输出等过程, 入口为;mapTask的run方法,因为我自己使用的是2.6.5的版本所以是使用的newapi,此处需要注意的地方是,如果reduce的个数为0的话,就不会设置排序的过程,之后还会有根据reduce的个数进行双向选择的地方,此处需要注意 @Override public void run(f...

2018-11-27 20:24:47 649

原创 Hadoop整个MR的过程源码解析(一)-客户端任务的提交

MapReduce的整个过程包含了客户端提交任务,map端的输入输出,reduce的shuffle,sort,reduce的几个过程组成的,本篇从刚开始的客户端任务提交过程开始进行源码的解释; client的操作主要是集中在一下几个方法之中; 方法入口; 进入submitter的方法中; JobStatus submitJobInternal(Job job, Cluster clu...

2018-11-27 19:38:56 889

转载 B树相关

B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果查询关键字比结点关键字小,就进入左儿子;如果比结点关键字大,就进入右儿子;如果...

2018-04-26 14:27:38 995

原创 Collection源码解析

/* * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * ...

2018-03-01 16:06:07 538

原创 java技术面的基本知识储备

java基础Arrays.sort实现原理和Collection实现原理 foreach和while的区别(编译之后) 线程池的种类,区别和使用场景分析线程池的实现原理和线程的调度过程线程池如何调优线程池的最大线程数目根据什么确定动态代理的几种方式HashMap的并发问题 了解LinkedHashMap的应用吗反射的原理,反射创建类实例的三种方式是什么?cloneable接口实现原理,浅拷贝or深...

2018-02-28 21:15:57 644

原创 时间复杂度的概念

在看Arrays.sort()的源码的时候,看到了一个涉及到时间复杂度的问题,对于我这个渣渣来说,时间复杂度有点陌生,所以就写下来,搞明白,为了以后能够随时去看,这是初衷。    首先应该是为什么会有时间复杂度这个概念        算法是用来解决问题的,那么去衡量这个算法的适用性,可靠性的标准之一就是时间复杂度,当某个算法执行的语句明显果多,他的执行时间很显然要更长一点,也就是说,我们可以将使用...

2018-02-28 21:13:13 446

原创 keepalived的简介

keepalived是一个类似于layer3, 4 & 7交换机制的软件,也就是我们平时说的第3层、第4层和第7层交换。Keepalived是自动完成,不需人工干涉。 作用是;检测服务器的状态,keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障。 作用简介;Keepalived的作用是检测服务器的状态,如果有一台web

2017-12-26 15:23:41 459

原创 linux的环境变量

linux环境变量能版主提升linux shell的体验,很多程序和脚本都是通过环境变量来获取系统信息,存储临时数据和配置信息。 在linux系统上有很多地方可以设置环境变量,了解去哪里设置相应的环境变量很重要。 环境变量 -environment variable 1;什么是环境变量 全局变量 局部变量 全局环境变量对于shell绘画和所有生成的子shell都是可见的,局

2017-10-26 20:49:26 216

转载 Spring MVC 属性文件读取注入到静态字段

目录(?)[-] servlet-contextxmlconfigproperties 示例属性ConfigInfo 对应的配置bean使用   在项目中,有些参数需要配置到属性文件xxx.properties中,这样做是为了维护方便,如果需要变动只需修改属性文件,不需要重新编译项目就可以了,非常方便。 而为了使用起来方便,可以通过将属性值注入到类的静态字段中(stat

2017-06-15 17:25:14 384

原创 在svn-cleanUp是遇到问题的解决方法

今天在更新svn代码的时候出现了问题,就是更新的时候出现了问题,需要cleanup,但是当我cleanup的时候,也报错了  svn cleanup failed–previous operation has not finished; run cleanup if it was interrupted 然后我就蛋疼了,这咋整,后来查到的东西是说svn的工作原理好像是;使用工作队列来保存数

2017-06-01 09:48:11 792

wtl10的版本

Compiler/IDE/ATL support: Visual C++ 2005 (ATL 8.0) Visual C++ 2008 (ATL 9.0) Visual C++ 2010 (ATL 10.0) Visual C++ 2012 (ATL 11.0) Visual C++ 2013 (ATL 12.0) Visual C++ 2015 (ATL 14.0) Visual C++ 2017 (ATL 14.0) 对照版本

2017-10-27

sqlite.exe

对svn队列进行处理

2017-06-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除