4 universe_ant

尚未进行身份认证

暂无相关描述

等级
TA的排名 1w+

Bully Algorithm(霸道选举算法)

霸道选举算法是一种分布式选举算法,每次都会选出存活的进程中ID最大的候选者。霸道选举算法的假设霸道选举算法的假设:通信通道是可靠的,更进一步的假设是系统中任何两个进程之间都可以通信 进程之间相互知道各自的进程编号,也就是说算法依赖一个全局的数据 假设进程能够明确地判断出一个正常运行的进程和一个已经崩溃的进程霸道选举算法的选举流程选举过程中会发送以下三种消息类型:Elect...

2019-08-22 16:50:12

《最优化导论》读书笔记一:证明方法与相关记法

证明方法考虑两个命题,A和B,它们为真或假。A表示命题:约翰是一名工科生;B表示命题:约翰正在学习最优化课程。可以通过“且”、“或”、“非”等关系进行命题组合,比如:“A且B”、“A或B”、“非A”、“非B”、“非(A且B)”等。“A且B”表示:约翰是一名工科生,并且正在学习最优化课程;“非A”表示:约翰不是一名工科生。组合命题的真假取决于原始命题A和B的真假。这里引入...

2019-08-22 15:27:10

脱离JVM?Hadoop生态圈的挣扎与演化

目录背景JVM存在的问题1.Java对象开销2.对象存储结构引发的cachemiss3.大数据的垃圾回收4.OOM问题解决方案定制的序列化工具Spark的序列化框架Flink的序列化框架显式的内存管理Flink的内存管理Spark的内存管理缓存友好的计算Flink中的数据结构Spark的数据结构总结参考新世纪以来...

2019-06-20 10:52:40

最近在读的书(持续更新)

工作之余,及时充电!书名 开始时间 结束时间 Spark快速大数据分析 20190605 20190801 统计学习方法 20190628 最优化导论 20190628 MySQL技术内幕InnoDB存储引擎 20190802 解密搜索引擎技术实战LUCENE&am...

2019-06-13 18:00:45

Checkpointing

一、Checkpointing下图主要是描述wordcount的Job逻辑: barrier由source节点发出; barrier会将流上event切分到不同的checkpoint中; 汇聚到当前节点的多流的barrier要对齐; barrier对齐之后会进行checkpointing,生成snapshot; 完成snapshot之后向下游...

2019-06-04 18:42:57

State

一、State想要回答这个问题,先来看看一段描述:假设我们以Kafka作为数据源,利用Flink做wordcount计算。考虑下面几个问题:为了精准地计算最终各个单词的出现次数,当由于某种原因导致故障时怎么确保恢复后已计算过的单词不会再次被计入次数? 单词的计数过程是在已计算得到的中间结果的基础上,将正在处理的单词对应的个数加一,那么中间结果保存在哪里?针对第一个问题,可以将Ka...

2019-06-02 18:19:12

Watermark

一、Time谈及Watermark之前,需要先了解一下Flink中的三种Time,分别是EventTime(事件时间)、摄入时间(IngestionTime)和ProcessingTime(处理时间):(图片来自Flink官网)如上图,可以很清晰的了解这三种时间的概念:事件时间:事件发生的时间,数据本身一般会携带的时间,可以从每个事件中获取到事件时间戳; 摄入时间:事...

2019-05-31 23:52:15

新开始,新征程

走了很久,带着很多包裹,怀着很多梦想,却发现止步不前,甚至落后于从前的自己,尽管从前也曾犯下很多错。真是应了那句话:“你只有不停奔跑,才能留在原地”,否则等待你的只有别人的背影。2019年5月13日,是本人“流浪计划”的开始,之所以起这么个名字,当然是因为《流浪地球》这部电影了,其漫长的流浪过程,寻找新家园的计划,正相符于目前的自己想要逃离出旧束缚,开启新征程,而这个过程会一直持续下去。2...

2019-05-30 12:03:59

Java动态生成类以及动态添加属性

有个技术实现需求:动态生成类,其中类中的属性来自参数对象中的全部属性以及来自参数对象properties文件。那么技术实现支持:使用CGLib代理。具体的实现步骤:1.配置Maven文件:<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XML

2017-11-18 16:14:20

【剑指Offer】树的子结构

题目:输入两棵二叉树A和B,判断B是不是A的子结构。代码:classTreeNode{ intdata; TreeNodeleft; TreeNoderight;}publicclassSubTree{ /** *第一步:在树A中找到和B的根节点的值一样的节点R *第二步:再判断树A中以R为根节点的子树是不是包含和树B一样的结构 */

2017-09-13 21:20:42

什么是死锁及死锁的必要条件和解决方法

进程死锁及解决方法一、要点提示:掌握死锁的概念和产生死锁的原因。理解产生死锁的必要条件——以下四个条件同时具备:互斥条件、不可抢占条件、占有且申请条件、循环等待条件。记住解决死锁的一般方法,掌握死锁的预防和死锁的避免二者的基本思想。掌握死锁的预防策略中资源有序分配策略。理解进程安全序列的概念,理解死锁与安全序列的关系。了解银行家算法。了解资源分配图。了解死锁的检测及恢复的思想。

2017-09-06 12:28:52

【腾讯笔试】满二叉排序树中查找三个节点的最小子树的根节点

题目:一个满二叉排序树深度为k,结点数为2^k-1;节点值为1至(2^k-1),给出k和任意三个节点的值,输出包含该三个节点的最小子树的根节点。样例输入:4101513样例输出:12首先,我们来理解一下满二叉排序数,如下就是一个4层的满二叉排序树:*8*/\*412*/\/\*

2017-08-29 23:19:34

【剑指Offer】最小的k个数

题目:输入n个整数,找出其中最小的k个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。这道题最简单的思路莫过于把输入的n个整数排序,排序之后位于最前面的k个数就是最小的k个数。这种思路的时间复杂度是O(nlogn),面试官会提示我们该有更快的算法。 解法一:O(n)的算法,只有当我们可以修改输入的数组时可用我们可以基于Partition函数来

2017-08-28 17:35:29

【剑指Offer】连续子数组的最大和

题目:输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为{1,-2,3,10,-4,7,2,-5}。看到题目,很多人都能想到最直观的方法,即枚举出数组的所有子数组并求出它们的和。一个长度为n的数组,总共有(n*(n+1))/2个子数组。计算出所有的子数组的和,最快也要O(n^2

2017-08-28 13:07:20

RPC原理

一旦踏入公司尤其是大型互联网公司就会发现,公司的系统都由成千上万大大小小的服务组成,各服务部署在不同的机器上,有不同的团队负责。这时就会遇到两个问题:1)要搭建一个新服务,免不了需要依赖他人的服务,而现在他人的服务都在远端,怎么调用?2)其他团队要使用我们的服务,我们的服务该怎么发布以便他人调用?如何调用他人的远程服务?由于各服务器部署在不同机器,服务间的调用免不了网络通信过程,服

2017-08-21 19:04:24

浏览器地址栏中输入一个URL后回车,将会发生什么事情

1.首先你得在浏览器里输入网址2.浏览器查找域名的IP地址导航的第一步是通过访问的域名找出其IP地址。DNS查找过程如下:浏览器缓存——浏览器会缓存DNS记录一段时间。有趣的是,操作系统没有告诉浏览器储存DNS记录的时间,这样不同浏览器会储存各自固定的一个时间(2分钟到30分钟不等)。系统缓存——如果在浏览器缓存里没有找到需要的记录,浏览器会做一个系统调用(windows里是get

2017-08-21 17:25:39

C程序的执行过程

1.hello程序的生命周期是从一个高级C语言程序开始的,然后为了在系统上运行hello.c程序,每条C语句都必须被其他程序转化为一系列的低级机器语言指令。 2.预处理阶段。预处理器(cpp)根据以字符#开头的命令,修改原始的C程序。#include命令告诉预处理器读取系统头文件stdio.h的内容,并将它直接插入到程序文本中。结果就得到另一个C程序,通常以.i作为文件扩展名。

2017-08-20 14:08:11

最长公共子序列以及最长公共子字符串

问题描述:子串应该比较好理解,至于什么是子序列,这里给出一个例子:有两个母串:cnblogsbelong比如序列bo、bg、lg在母串cnblogs与belong中都出现过并且出现顺序与母串保持一致,我们将其称为公共子序列。最长公共子序列(LongestCommonSubsequence,LCS),故名思义,是指在所有的子序列中最长的一个。子串是要求更严格的一种子序列,要求在母

2017-08-16 23:39:58

Java实现的生产者和消费者

工厂类:importjava.util.concurrent.locks.Condition;importjava.util.concurrent.locks.Lock;importjava.util.concurrent.locks.ReentrantLock;publicclassDepot{ privateintdepotSize;//仓库大小 pri

2017-08-13 22:59:07

Worm(毛毛虫)HDU2151

问题描述:自从见识了平安夜苹果的涨价后,Lele就在他家门口水平种了一排苹果树,共有N棵。突然Lele发现在左起第P棵树上(从1开始)有一条毛毛虫。为了看到毛毛虫变蝴蝶的过程,Lele在苹果树旁观察了很久。虽然没有看到蝴蝶,但Lele发现了一个规律:每过一分钟,毛毛虫便会随机从一棵树爬到相邻的一棵树上。比如刚开始毛毛虫在第2棵树上,过一分钟后,毛毛虫可能会在第1棵树上或者第3棵树上,如

2017-08-13 11:54:23

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。