自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Milkcoffeezhu的博客

机会只会留给那些有准备的人

  • 博客(12)
  • 收藏
  • 关注

原创 Atlas获取HBase变化数据源码分析

一、HBase的数据变化的流程图如下:在下面的图片展示了HBase的数据变化之后在Atlas里面的流程:二、在整个过程中每一个小流程分析使用java编写的代码需要运行。首先会被编程成字节码文件,然后把字节码加载到内存中才可以运行。Atlas的hook也一样,想要运行首先肯定需要被加载到内存。把.Class文件加载到内存需要对应的内加载器。下面是加载Atlas的HBaseAtlasHook的类,如下所示:/** * 在这个类中实现对HBaseAtlasHook这个类的加载 */public

2020-07-01 21:39:42 1150

原创 Apache Atlas源码编译以及本地调试环境搭建

一、Apache Atlas源码的编码内置HBase、solrgit把Atlas的源码拉下来,使用git clone https://github.com/apache/atlas.git假如是为了本地测试我们可以直接编译内嵌HBase solr的atlas。在执行mvn clean -DskipTests package -Pdist,embedded-hbase-solr之前需要首先修改打包的pom文件不然有的包下载不下来。将Atlas源码中distro中的pom文件修改如下将hbase.tar

2020-06-29 21:06:52 2601

原创 算法基础之数组

算法基础之数组一、数组定义数组是一种线性数据结构,每一个元素至多只有一个前驱和一个一个后继。说到线性数据结构除了数组还有链表、栈、队列。既然有线性数据结构与之相反也有非线性结构,常见的非线形结构有树、图。在创建数组的时候会为数组分配一块连续的内存空间用于存储数组中的元素。二、在数组上操作时间复杂度分析在数组上的随机访问的时间复杂度分析,由于数组的元素是存储在一块连续内存空间上。那么对于数组中的任意元素只要知道的相对首地址的偏移量,就可以从内存中获取到这个元素。计算方法如下num[i]_add =b

2020-05-23 02:20:50 215

原创 算法基础之算法分析

算法基础之算法分析一、时间复杂度时间复杂度:是一个用于描述算法运行时间的函数。在估算的时候通常忽略常数项和底阶项以及高阶项系数只保留高阶项,这样的估算叫做渐近时间复杂度使用O表示如O(n) = T(N^2),这样的估算也可以考察在输入接近无穷时算法的性能。在描述一个算法的时候通常有如下几种描述算法复杂度:最好时间复杂度、平均时间复杂度、最坏时间复杂度、均摊时间复杂度。至于为何只保留高阶项原因计算方法求累加和时间复杂度分析代码 public Long sum(Long n){

2020-05-20 20:42:20 281

原创 拜占庭将军问题

拜占庭将军问题一、拜占庭将军问题​ 这个问题提示计算机大神 莱斯利·兰波特在1982年在他论文中描述的一个问题。问题的大概的描述是这样,一组拜占庭的将军去攻打一个城堡。由于条件限制这些将军不能集合在一起攻打城堡,但是为了能攻下城堡,他们通过信使来传递相互之间的关系。他们规定当指定进攻决策的时候只有半数以上的将军同意这个进攻方案,那么这个方案就可以通过。当他们之间可能存在内奸发出错误消息误导其他将军的判断。二、拜占庭将军需要解决的问题理想情况:假如是三只军队去攻打这个城堡,分别是A、B、C。在计算

2020-05-12 01:45:52 738

原创 java基础之多态

java基础之多态一、定义根据运行时的实例对象决定调用对应的方法的功能称之为多态。同时也成为动态绑定根据运行期间判断所引用的实例类型,在根据实例类型调用对应的方法。多态可以分为编译时多态和运行时多态,其中编译时多态主要是指方法的重载,是通过参数列表来区分不同的方法,通过编译之后就变成了两个函数,就谈不上运行时多态。而运行时多态是动态的,它是通过动态绑定来实现的,也就是我们所说的多态性。二、样列public class Teacher { private String subject;

2020-05-09 23:42:04 194

原创 java基础之继承

java基础之继承一、定义就如上一篇文章所属,在二维平面中所有的图形都可以抽象为形状。对于这个抽象也有自己基本的属性,每一种图形都有自己面积与周长的计算方式。可以把共有的属性提取出来放在一个类中,在这里我们称之为基类、父类。后面有其他的二维图形如三角形、正方形等,只要使用关键字extends即可复用我们抽象出来的方法,通过这个关键字产生的类称之为子类。上述方式称之为继承。所以继承表述的是一种i...

2020-05-01 01:27:47 218

原创 java基础之封装

java基础之封装一、定义封装就如其表面意思一样把东西包装起来,看不见里面的具体的细节只能看到外面一个大概的轮廓。在面向对象的编程语言中都支持封装的实现。在Java中的封装就是把现实世界的物体抽象出共有的属性,然后在把这些属性封装起来,只是使用有限的方法对这些数据进行操作。二、样列在二维平面中的图形,长方形通常都有一些共有的属性如:长、宽、面积、周长其具体的抽象如下:public cla...

2020-04-30 00:32:19 328

原创 观察者模式初探

一、背景哎呀时间过得真快已经2020,但是依然是单身但是你并不想继续单身下去于是你就去到了啥百合网啥的。注册了一个账号,并且把你心中理想女友的要求,这时你不需要一直等着,只要百合网有符合你要求的女生他自然就会通知你。二、百合网这时百合网就可以看作一个主题,他提供了注册、通知等方法。那百合网可以抽象为如下的接口public interface MarriageAgency { /**...

2020-03-09 23:10:56 129

原创 第三题

无重复字符的最长子串题目描述示例数据题解及注释题目描述给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例数据示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwke...

2019-04-10 16:12:33 156

原创 第二题

两数相加题目描述实例数据题解及注释题目描述给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。实例数据示例:输入:(2 -> 4 -> 3) + (5 -> 6 ...

2019-04-10 15:18:32 171

原创 第一题

两数之和题目描述实例数据题解及注释题目描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。实例数据给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9...

2019-04-10 15:08:20 154

空空如也

空空如也

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

TA关注的人

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