自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Vtamins的博客

这是Vtamins的博客

  • 博客(54)
  • 资源 (1)
  • 收藏
  • 关注

原创 如何进行实时任务优化-《阿里巴巴大数据之路》

如何进行实时任务优化独占资源和共享资源的策 略在一台机器中, 共享资源池可以被多个实时 任务抢占, 如果一个任 务在运行时 80% 以上的时间都需要去抢资源 ,这时候就需要考虑给它分 配更多的独占资源, 避免抢不到 CPU 资源导致吞吐量急剧下降。合理选择缓存机制, 尽量降低读写库次数内存读写性能是最好的, 根据业务的特性选择不同的 缓存机制, 让 最热和最可能使用的数据留 在内存中, 读写库次数降低后, 吞吐量自 然就上升了。计算单元合并, 降低拓扑层级拓扑结构层级越深 ,

2021-03-19 10:19:51 295

原创 阿里一面回忆

第一步,自我介绍,名字,学校,研究方向,做的哪些项目,目前在做哪些项目第二步,介绍自己做的项目,我主要介绍自己做的大数据基础平台的项目第三步,介绍项目中遇到的难点与问题,我主要讲了两个问题,1,大数据平台跨数据中心传输的过程中遇到的无法传输问题(如何跨网络(softehter),Kafka的Host绑定机制造成的无法传输,化问题为用) 2,真实场景下传输效率很低,主要由于SSL效率低下造成(采用多线

2018-03-08 12:41:58 419

原创 计算机网络面试总结

TCP/IPTCP的流量控制与拥塞控制机制利用滑动窗口实现流量控制 设A向B发送数据。在连接建立时,B告诉了A:“我的接收窗口是 rwnd = 400 ”(这里的 rwnd 表示 receiver window) 。因此,发送方的发送窗口不能超过接收方给出的接收窗口的数值。请注意,TCP的窗口单位是字节,不是报文段。TCP连接建立时的窗口协商过程在图中没有显示出来。再设每一...

2018-03-08 12:41:01 582

原创 设计模式面试总结

1.策略模式定义了算法簇,进行封装,他们之间可以相互替换实现:接口类来实现算法簇;可以用类的继承或者抽象类的继承来实现个体2.观察者模式手动实现:两个接口 subject:registerObserver(),removeOberver(),notifyOberver()Oberver:update()采用 List来保存observer,通过迭代来调用每一个List里面的Observer的u

2018-03-08 12:40:26 1552

原创 数据结构面试总结

B树和B+树的区别http://www.cnblogs.com/vincently/p/4526560.htmlB和B+树的区别在于,B+树的非叶子结点只包含导航信息,不包含实际的值,所有的叶子结点和相连的节点使用链表相连,便于区间查找和遍历。B+ 树的优点在于: •由于B+树在内部节点上不包含数据信息,因此在内存页中能够存放更多的key。 数据存放的更加紧密,具有更好的空间局部性。因此访问叶子节

2018-03-08 12:40:00 4304

原创 Java多线程面试总结

线程池线程池原理介绍 http://www.cnblogs.com/exe19/p/5359885.html四种线程池比较 http://blog.csdn.net/nk_tf/article/details/51959276阻塞队列的put,add,offer方法的区别take,poll,poll的区别 http://blog.csdn.net/z69183787/article/detai

2018-03-08 12:39:34 310

原创 Java语言知识与Java源码面试总结

HashMap与ConcurrentHashMap还有HashTable见链接HashMaphttp://zhangshixi.iteye.com/blog/672697HashMap判断key是否相等用到了什么?e.hash == hash && ((k = e.key) == key || key.equals(k)) ==与equal的区别: “=...

2018-03-08 12:38:43 381

原创 JVM与垃圾回收面试总结

1. JVM垃圾回收机制与实现堆:所有的对象实例与数组,GC堆,分为新生代与老年代栈:栈帧包含局部变量表(基本数据类型 8种、对象引用类型)、操作数栈、动态链接、方法出口方法区:类信息、常量、静态变量、即时编译器编译后的代码等数据,也成为永久代一般说栈指的是 虚拟机栈,或者说是虚拟机栈中的局部变量表TLAB:本地线程分配缓冲,线程分配内存,现用TLAB分配,用完重新分配新的TL...

2018-03-08 12:37:04 2755 1

原创 JAVA面试宝典

[本文为作者原创,作者享有权利,转载请注明出处]又到了一年校招实习的季节,决定拿出去年找实习的笔记出来,跟大家分享。资料大部分来自于各个面经和自己的面试经历。目前来说,依靠这份资料,斩获了网易游戏、阿里、腾讯、华为的实习offer。分享给大家。主要内容:分节内容:(待补充) 1. JVM与垃圾回收 http://blog.csdn.net/u014762921/articl...

2018-03-08 12:35:48 659

原创 Python一行代码实现一个文件服务器

简述Python有很多简单的工具库可用,其中有一个非常实用的工具库:SimpleHTTPServer一行代码建立一个简单的python HTTP文件服务器使用方法$python -m SimpleHTTPServerServing HTTP on 0.0.0.0 port 8000 ...# 访问地址 http://ip:8000# 指定端口$python -m SimpleHTTPServ

2018-01-15 15:06:31 11134 2

原创 Avro 多reocrds(multi-records)

需求描述最近有一个需求,要在同一个filed下放下可选的数据,需要用到Avro的Union和多个record。。但是在网上搜索的时候并没有找到好的解决方案。。。解决方案好吧,不多说,直接上代码,如果有avro基础就能看懂不同的record{"type": "record", "name": "Ethernet", "fie

2018-01-12 15:53:48 375

原创 Go语言用GoPacket抓包分析

前言离线pcap包解析离线数据包分析源码分析新建packetSource读取数据包注意点前言最近有了一个抓取网络数据包来分析的需求,最近在使用go语言,于是乎,决定是用go语言来进行抓包分析。使用的Google的gopacket包来进行。基于的是libcap包。github地址:https://github.com/google/gopacket我并不喜欢GoDoc的行文风格,对于dem

2017-10-18 17:29:53 12284 1

原创 centos服务器安装kvm虚拟机

使用centos服务器,安装kvm虚拟机

2017-10-12 11:37:12 695 1

原创 Zookeeper踩坑记

还记得上一次配置Zookeeper是半年以前的事了,这半年一直没有改动Zookeeper的配置文件,直到实习回校,自己的集群没有,重新下载搭一个Zookeeper集群,使用的最新的Zookeeper 3.4.10,结果立马踩到了坑里面,搞了一两个小时才弄好。一配置Zookeeper二解决办法三分析原因一、配置Zookeeper我采用的是常见的配置。数据目录:/home/lee/data/zoo

2017-09-14 10:30:48 1020

原创 Python Excel数据查找

Python Excel数据查找今天突然被老师叫去帮她统计成绩,然后发现是一个大坑。为什么这么说呢:因为她英语成绩竟然 分了20个excel文件来存。我们要查找出数学50以上,并且英语90以上的人。这就很尴尬了,我们本来打算都打开来查,但是我的mac打开excel表格的速度实在不敢恭维。怎么办,一个一个查太慢了,有70个人呢。于是乎晚上搜索一下,决定快速写一个脚本来进行查询。Python Excel

2017-09-13 16:44:29 34814

原创 MapReduce原理总结

做大数据已经有一年了,在这一年中始终没有去好好看看Google的三驾马车,现在回校学习,好好的看看论文,同时也自己做做笔记,记录一下自己的学习过程。MapReduce作为Google的曾经三驾马车之一,广为大家所知,但是很多人都只知道他能做一些数据处理的工作,并不清楚他其中的原理。这次就让我们来总结一下MapReduce的原理,进行学习。问题描述我是一个新闻客户端的负责人,我有一个一大堆的访问日志,

2017-09-12 11:42:01 646

原创 Gin源码分析(一)官方demo分析

目录:目录简介官方demo1 ginDefault11 看到New函数12 debugPrintWARNINGNew13 新建engine14 分配Context2 engineUse21 Logger22 recovery23 engineUse3 ginGET3 routerrun简介Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确。最近一

2017-09-11 16:02:22 3556

原创 debian8安装mysql(MariaDB)

debian8安装mysql(MariaDB)debian8安装mysqlMariaDB安装配置本地登陆解决办法允许外网登陆简介曾经做过centos 6的 MariaDB的安装,最近改用debian,但是发现以前的那一套行不通了。还出现了一些诡异的问题,在这里记录一下安装使用apt进行安装,这里无问题sudo apt-get install mariadb-server配置主要配置sud

2017-09-05 17:01:00 1009

原创 Java面试之垃圾回收总结

1. JVM垃圾回收机制与实现堆:所有的对象实例与数组,GC堆,分为新生代与老年代栈:栈帧包含局部变量表(基本数据类型 8种、对象引用类型)、操作数栈、动态链接、方法出口方法区:类信息、常量、静态变量、即时编译器编译后的代码等数据,也成为永久代一般说栈指的是 虚拟机栈,或者说是虚拟机栈中的局部变量表TLAB:本地线程分配缓冲,线程分配内存,现用TLAB分配,用完重新分配新的TLAB 可以设

2017-03-09 15:54:51 11457 1

原创 LintCode之最长公共子串(Longest Common Substring)

1、 首先区别最长公共子串和最长公共子序列 找两个字符串的最长公共子串,这个子串要求在原字符串中是连续的。而最长公共子序列则并不要求连续。 2、 最长公共子串 其实这是一个序贯决策问题,可以用动态规划来求解。使用一个二维矩阵来记录中间结果。 eg: abcd和bca 列 a b c d b 0 1 0 0 c 0 0 2 0 a

2017-02-19 19:54:07 2420 1

原创 Java之Comparable与Comparator的区别

一、概述 Comparable和Comparator都是用来实现集合中元素的比较、排序的。 Comparable是在集合内部定义的方法实现的排序,位于java.lang下。 Comparator是在集合外部实现的排序,位于java.util下。Comparable是一个对象本身就已经支持自比较所需要实现的接口,如String、Integer自己就实现了Comparable接口,可完成比较大小操

2017-02-18 16:14:30 296

转载 Linux文件目录详解

了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统只管重要,下面我们就开始了解一下linux目录结构的相关知识。当在使用Linux的时候,如果您通过ls –l / 就会发现,在/下包涵很多的目录,比如etc、usr、var、bin … … 等目录,而在这些目录中,我们进去看看,发现也有很多的目录或

2017-02-14 14:09:23 495

转载 一个强大的linux命令——find之xargs

使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行。但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。这就是xargs命令的用处所在,特别是与find命令一起使用。 find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分

2017-01-09 11:29:37 595

转载 一个强大的linux命令——find之exec

exec解释:-exec 参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。 {} 花括号代表前面find查找出来的文件名。 使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的。在有些操作系统中只允许-exec选项执行诸如l s或ls -l这样的命

2017-01-09 11:23:20 15740 1

转载 一个功能强大的linux命令——find

Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文

2017-01-09 11:16:41 440

转载 一个简单的linux命令——locate

locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。在一般的 distribution 之中,数据库的建立都被放在 crontab 中自动执行。命令格式Locate [选择参数] [样式]命令功能locate命令可以在搜寻数据库时快速找到档案,数据库由updatedb

2017-01-04 11:16:56 320

转载 一个简单的linux命令——whereis

whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通 过遍历硬盘来查找,效率自

2017-01-03 10:47:43 390

转载 一个简单的linux命令——which

which 查看可执行文件的位置。 whereis 查看文件的位置。 locate 配合数据库查看文件位置。 find 实际搜寻硬盘查询文件名称。 which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命

2017-01-03 10:38:37 240

转载 一个简单的linux命令——tail

tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容. 命令格式tail[必要参数][选择参数][文件] 命令参数-f 循环读取 -q 不显示处理信息 -v 显示详细的处理信息 -c<数目> 显示的字节数 -n<行数>

2016-12-30 11:57:28 297

转载 一个简单linux命令——head

head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。 命令格式head [参数]… [文件]… 命令参数-q 隐藏文件名 -v 显示文件名 -c<字节> 显示字节数 -n<行数> 显示的行数使用实例实例1:显示文件的前n行命令: head -n 5 log2014.l

2016-12-30 11:34:35 363

转载 一个简单的linux命令——less

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜

2016-12-29 11:15:27 282

转载 一个简单的linux命令——more

more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。命令格式more [-dlfpcsu ] [-num ] [+/ pattern] [+ l

2016-12-29 11:08:24 222

转载 一个简单的linux命令——nl

nl命令在linux系统中用来计算文件中行号。nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等等的功能。 命令格式nl [选项]… [文件]…命令参数-b :指定行号指定的方式,主要有两种: -b a :表示不论是否为空行,也同样列出行号(类似 cat -n); -b t :如果有空行,

2016-12-28 10:55:47 304

转载 一个简单的linux命令——cat

cat命令的用途是连接文件或标准输入并打印。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。 命令格式cat [选项] [文件]…命令功能cat主要有三大功能: 1.一次显示整个文件:cat filename 2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件. 3.将几个文件合并为一个文件:c

2016-12-28 10:45:35 290

转载 一个简单的linux命令——touch

linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件。命令格式touch [选项]… 文件…命令参数-a 或–time=atime或–time=access或–time=use  只更改存取时间。-c 或–no-create  不建立任何文档。-d  使用指定的日期时间,而非现在的时间。-f  此参数将忽略不予处理,仅负责解决BS

2016-12-27 10:40:57 257

转载 一个简单的linux命令——cp

cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一。一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数。但是如果是在shell脚本中执行cp时,没有-i参数时不会询问是否覆盖。这说明命令行和shell脚本的执行方式有些不同。 命令格式cp [选项]… [-T] 源 目的命令参数-a, –archive 等于-

2016-12-26 17:14:54 286

转载 一个简单的linux命令——mv

mv命令是用于移动文件或者将文件改名一.命令格式:mv [选项] 源文件或目录 目标文件或目录二.命令参数:-b :若需覆盖文件,则覆盖前先行备份。 -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!-u :若目标文件已经存在,且 source 比较新,才会更新(update)

2016-12-23 12:03:09 286

转载 一个简单的linux命令——rm

rm命令用于删除文件或者目录。对于链接文件,只是删除链接。一、命令格式rm [option] file…二、命令参数 -f, --force 忽略不存在的文件,从不给出提示。 -i, --interactive 进行交互式删除 -r, -R, --recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。 -v, --verbose 详细显示进

2016-12-23 11:18:55 671

转载 一个简单的linux命令——mkdir

mkdir 命令用于创建指定名称的目录,要求用户具有要创建的目录下的读写权限。一、命令格式mkdir [option] Dir…二、命令参数-m, --mode=模式,设定权限<模式> (类似 chmod),而不是 rwxrwxrwx 减 umask -p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立

2016-12-22 11:44:42 299

转载 一个简单的linux命令——pwd

pwd命令主要用于查看当前工作目录的完整路径。主要用法:pwd [option]常用范例:1.查看当前完整路径命令:pwd输出:[root@localhost ~]# pwd/root[root@localhost ~]#2.查看链接路径命令:pwd -P输出:[root@localhost soft]# cd /etc/init.d [root@localhost init.d]#

2016-12-22 11:08:26 313

Hadoop集群配置文件备份

Hadoop集群配置文件备份

2016-11-08

空空如也

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

TA关注的人

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