小东升职记
实时分享java与大数据知识,项目开发经验,帮助更多的初学者,写出更加优雅,更加高效的代码,当一个合格的程序员。
小东升职记
人生陆远只有忘的甘静才会有江莱。
展开
-
手写实现hashTable,put+get,带你领略底层原理
hashTable与hashmap最大不同是,hashtable实现了方法级别的synchronized,hashmap 非synchronizedhashtablesynchronized代码实现了:1:方法级别的线程安全问题2:hashmap 为啥会key相同value覆盖3:相同槽位新数据为啥永远保存在链表头部4:代码只是即兴发挥的,如有不当地方请指教import java.util.ArrayList;/** * ClassName: customHashM.原创 2020-08-24 16:33:38 · 327 阅读 · 0 评论 -
Flume+Sqoop
Flumeflume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。flume可以采集文件,socket数据包等各种形式源数据。有可以将采集到的数据传输到HDFS、hbase、hive、kafka等众多外部存储系统中一般的采集需求,通过对flume的简单配置即可实现。flume针对特殊场景也具备良好的自定义扩展能力,因此,flume可以使用于大部分的日常数据采集场景。...原创 2018-11-29 19:35:54 · 1158 阅读 · 0 评论 -
多态-final-static
多态类的三大特性之一1重载和重写2:子类对象作为父类的引用,使用父类的引用,同时调用类子类的对象,子类对象作为父类的引用向上转型 (隐式类型转换)向下转型 (强制类型转换) 不提倡不转型 string final进行修饰,都不存在子类。多态的核心在于向上转型,保持参数一致(父类的引用)开发中使用的都是向上转型,为了保持参数的一致性,所以使用的都是父类的引用...原创 2018-07-31 17:12:52 · 103 阅读 · 0 评论 -
类
类 class定义:具有 相同特性 和行为 的一类事物 抽象 的总称例如人类,动物类,车类,屌丝类 一种类别2:属性(相同特性) 成员变量 2.1:定义 类{} 2.2实质 成员变量 与普通变量有区别 1作用域(生命周期) 全局变量 在类中任何方法里面都可以使用 ...原创 2018-07-30 21:39:45 · 124 阅读 · 0 评论 -
标示符
1:标示符 identifier 1.1跟名字有关 类名 文件名 变量名 方法名 1.2关键字public class 1.3命名规则 工程名MySecondPro 包名com.zhiyou.xxx反域名 文件名SecondClass 类名(同文件名)SecondClass ...原创 2018-07-30 21:40:47 · 163 阅读 · 0 评论 -
计算机语言java
2.1 计算机语言:计算机能识别的语言 编程:编写程序 使用计算机语言编写一段计算机可以执行的代码。 2.2java能做什么? (1)pc端软件 qq 迅雷等 (2)lol PC端游戏类软件 (3)大型网站 百度 淘宝 (Java作为服务器端提供数据) (4)嵌入式程序 比如手机上软件 PDA 机顶盒...原创 2018-07-30 21:42:30 · 302 阅读 · 0 评论 -
JDK环境配置
java1.1编程语言 1.2可以实现跨平台 eg:{平台包括 pc端的: (linux操作系统 苹果mac windows微软 ) 移动设备端(Android ios)1.3面向对象的语言 oop(c语言是面向过程的语言)类1.4安全性 配置环境变量,为啥要这样做?(要求大家面前只有一个裸奔的电脑一样可以写项目)2.1下载JDK 安装JDK和...原创 2018-07-30 21:44:03 · 128 阅读 · 0 评论 -
命名规则-类型转换-数组-jvm内存划分-抽象类
jre system library2:包名都习惯用公司的反域名 Com.zhiyou.demo Com.baidu.map.demo 反域名为了排序3:scanner 扫描器,主要用于键盘的输入 Nextint :是scanner扫描到输入的是数字的时候,获取到这个数字。Nextline:总是以enter为结束。next()一定要读取到有效字符后才可...原创 2018-07-30 21:47:25 · 176 阅读 · 0 评论 -
重载-重写-权限
重载(overload)1:重载建立继承之上的2:只跟重载方法参数有关系。 无参和有参的构造就是属于重载 参数个数不同 参数类型不同3:属于多态中的一种4:子类可以对父类继承过来的方法的重载。重写(override)1:建立在继承基础上2:子类存在与父类一模一样的方法,那么这样的方法就是重写方法。3:子类对象执行这个重写方法时,不在执行...原创 2018-07-31 11:21:08 · 278 阅读 · 0 评论 -
Stream Grouping详解
Storm里面有7种类型的stream groupingshuffle Grouping :随机分组,随机派发stream里面的tuple,保证每个bolt接收到的tuple数目大致相同。 Fields Grouping:按字段分组,比如按userID来分组,具有同样userID的tuple会被分到相同的bolts里的一个task,而不同的userID则会被分配到不同的bolts里面的tas...原创 2018-12-17 20:14:55 · 972 阅读 · 0 评论 -
Storm
Stormflume实时采集,低延迟 kafka消息队列,低延迟 storm实时计算,低延迟 Redis实时存储,低延迟storm用来实时处理数据,特点:低延迟、高可用、分布式、可扩展、数据不丢失。storm与Hadoop区别?storm用于实时计算,hadoop用于离线计算 storm处理的数据保存在内存中,源源不断;hadoop处理的数据保存在文件系统中,一批一批 st...原创 2018-12-17 19:55:01 · 405 阅读 · 0 评论 -
离线计算与实时计算
离线计算?离线计算:批量(batch)获取数据、批量传输数据、周期性批量计算数据、数据展示代表技术:sqoop批量导入数据、HDFS批量存储数据、MapReduce批量计算数据、hive批量计算数据hivesql 调度平台 hadoop集群运维 数据清洗(脚本语言) 元数据管理 数据稽查 数据仓库模型架构流式计算?流式计算:数据实时产生、数据实时传输、数据实时计算、实...原创 2018-12-17 19:10:09 · 6712 阅读 · 0 评论 -
jQuery(购物Demo)
jQueryjQuery是一个优秀的JavaScript框架,一个轻量级的JS库。他封装了JS,CSS,DOM,提供了一致的,简洁的API。兼容CSS3,以及各种浏览器使用户更方便地处理HTML,Events、实现动画效果,并且方便地为网站提供AJAX交互使用户的HTML页面保持代码和HTML内容分离注意:jQuery2.x开始不再支持Internet Explorer6,...原创 2018-12-14 21:34:49 · 517 阅读 · 0 评论 -
Mybatis(快速开发):generatorSqlMapCustom
mybatis提供一种反向生成工具,在实际的项目开发中能够快速的开发,后端人员只要知道数据库表的情况下,就可以反向生成DAO层与之对应的mapper映射代码文件。1:反向生成所需架包核心架包:mybatis-generator-core-1.3.2.jar,依靠此架包进行反向生成2.编写log4j-properties,只要是用在控制台可以查看到具体的过程信息log4j.ro...原创 2018-12-19 12:53:29 · 925 阅读 · 0 评论 -
JavaScript(购物Demo)
JavaScript是嵌入HTML中在浏览器中的脚本语言,具有与java和C语言类似的语法一种网页编程技术,用来向HTML页面添加交互式行为 直接嵌入HTML页面 由浏览器解释执行代码,不进行预编译数据类型转换函数toString:所有数据类型均可转换为String类型; parseInt:强制转换成整数,如果不能转换,则返回NaN(not a number); parseFlo...原创 2018-12-14 20:47:18 · 1258 阅读 · 0 评论 -
基本数据类型与包装类区别
java中八大基本数据类型:Byte,short,int,long,char,double,float,boolean二者之间也存在一些区别:声明方式不同,基本类型不适合new关键字,而包装类型需要使用new关键字来在堆中分配存储空间; 存储方式及位置不同,基本类型是直接将变量存储在堆栈中,而包装类型是将对象放在堆里面,然后通过引用来使用; 初始值不同,基本类型的初始化入int为0...原创 2018-12-14 17:46:52 · 531 阅读 · 0 评论 -
Hbase的系统架构
Hbase的物理存储 HRegion1table中所有的行都是按照row key的字典序排序; table在行的方向上分割为多个HRegion; HRegion按大小分割的,每个表开始只有一个HRegion,随着数据增多,HRegion不断增大,当增大到一个阈值时候,HRegion就会等分为两个新的HRegion,之后会有越来越多的Region; HRegion是Hbase中分布式存储和...原创 2018-12-13 20:05:37 · 393 阅读 · 0 评论 -
IO与NIO的区别
NIO同步和异步的区别:同步和异步都是基于应用程序和操作系统。同步:应用程序直接参与IO读写,所以是阻塞的,需要等待IO完成。异步:IO读写交给操作系统。非阻塞。NIO(同步非阻塞):面向缓冲区,IO:面向流,(阻塞的 浪费性能)NIO:主要是通过selector选择器管理所有的IO事件,服务端为例:首先需要serverSoketChannel.open();获得一个cha...原创 2018-12-07 20:13:21 · 293 阅读 · 0 评论 -
MR计算模型四
YARN是hadoop2.0中的资源管理系统,他的基本设计思想是将MRv1中的JobTracker的拆分成了两个独立的服务:一个全局的资源管理器的ResourceManager和每个应用程序特有的ApplicationMaster。--ResourceManager负责整个系统的资源管理和分配。 --ApplicationMaster负责单个应用程序的管理。Yarn总体上仍然是Master...原创 2018-12-05 20:48:00 · 252 阅读 · 0 评论 -
MR计算模型三
MapReduce的作业执行涉及的4个独立实体客户端:(client) 编写mapreduce程序,配置作业,提交作业,这就是程序员完成的工作。 JobTracker: 初始化作业,分配作业,与TaskTracker通信,协调整个作业的执行。 TaskTracker: 保持与JobTracker的通信,在分配的数据片段上执行Map或Reduce任务,TaskTracker和JobTr...原创 2018-12-03 20:39:14 · 329 阅读 · 0 评论 -
shuffle(partitioner+combiner+sort)
shuffle(partitioner+combiner+sort)每一个map有一个环形内存缓冲区,用于存储任务的输出。默认大小100MB(io.sort.mb属性),一旦达到阀值0.8(io.sort.spill.percent),一个后台线程把内容写到(spill)磁盘的指定目录(mapred.local.dir)下的新建的一个溢出写文件 写磁盘前,要partition,sort。如果...原创 2018-11-30 21:04:18 · 310 阅读 · 0 评论 -
Hive(二)--分区分桶,内部表外部表
1.简述Hive是hadoop生态圈中实现数据仓库的一项技术。虽然hadoop和hdfs的设计局限了Hive所能胜任的工作,但是hive仍然是目前互联网中最适合数据苍鹭的应用技术。不论从“品相还是举止”,hive都像一个关系型数据库。用户对数据库、表和列这类术语比较熟悉的话,那么掌握hive的查询语言HQL也轻而易举。不过,hive的实现和使用方式与传统的关系数据库相比,有很多不同的地方。...原创 2018-11-28 20:27:26 · 384 阅读 · 0 评论 -
Hive(一)
1.Hive的特点可扩展性:Hive可以自由的扩展集群的规模,一般情况下不需要重启服务。延展性:Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数容错性:良好的容错性,节点出现问题SQL仍可完成执行。2.Hive与传统数据库对比查询语言。由于 SQL 被广泛的应用在数据仓库中,因此,专门针对 Hive 的特性设计了类 SQL 的查询语言 HQL。熟悉 SQL 开...原创 2018-11-27 20:01:28 · 403 阅读 · 0 评论 -
自定义MapReduce业务逻辑
1.我们刚一开始的时候,在HDFS上面处理文件时候,我们并没有自己写MapReduce,而是用的是镜像架包下面的/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.4.jar,同样的也将运行出来结果(hadoop jar hadoop-mapreduce-examples-2.6.4.jar wordcount 文件的在Linux上的源路径 ...原创 2018-11-26 20:13:08 · 473 阅读 · 0 评论 -
NameNode工作机制
NameNode是整个文件系统的管理节点。他维护这整个文件系统的文件目录树,文件/目录的元信息和每个文件对应的数据块列表。接受用户的操作请求。文件包扣:fsimage:元数据镜像文件。存储某一时段NameNode内存元数据信息。edits:操作日志文件fstime:保存最近一次checkpoint的时间NameNode的工作特点NameNode始终在内存中保存meted...原创 2018-11-23 21:30:28 · 271 阅读 · 0 评论 -
HDFS写数据详解
HDFS写数据详解hadoop模块每一部分都是分布式的,所以他们之间的通信都是建立在RPC基础上的,这点要明白HDFS写数据(上传数据时,DataNode的选择策略:1.第一个副本先考虑跟client最近的(同机架)2.第二个副本在考虑跨机架选择一个DataNode,3.第三个副本就在第一个副本同机架例外挑选一个DataNode存放)怎样知道呢个机器在呢个机架上呢?可以配置机架感知...原创 2018-11-23 20:32:08 · 281 阅读 · 0 评论 -
HDFS读取文件详解
HDFS读取文件客户端向namenode发出请求下载文件(呢个路径下的呢个文件); namenode经过查找源数据信息,哦,发现有请求需要的信息,然后将目标文件的元数据返回给client,元数据包扣文件储存在呢些DataNode下的,呢些block,都会发给client; client根据元数据开始请求读取数据,默认是先读取路由距离最近的节点内容,建立请求连接,我要读取呢个DataNo...原创 2018-11-23 19:58:39 · 201 阅读 · 0 评论 -
MR计算模型二
mapreduce函数的编写 1map函数继承Mapper<Object, Object, Object, Object>重写public void map(Object key, Object value, Context context) throws IOException, InterruptedException 方法map函数主要用于数据的清洗和原始处理...原创 2018-11-23 19:37:19 · 217 阅读 · 0 评论 -
MR计算模型一
MapReduce最早是由Google公司研究提出的一种面向大规模数据处理的并行计算模型和方法。Google公司设计MapReduce的初衷,主要是为了解决其搜索引擎中大规模网页数据的并行化处理。 Google公司发明了MapReduce之后,首先用其重新改写了其搜索引擎中的Web文档索引处理系统。但由于MapReduce可以普遍应用于很多大规模数据的计算问题,因此自发...原创 2018-11-23 19:27:48 · 2845 阅读 · 0 评论 -
HADOOP集群搭建
1.集群简介HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起HDFS集群:负责海量数据的存储,集群中的角色主要有 NameNode / DataNodeYARN集群:负责海量数据运算时的资源调度,集群中的角色主要有 ResourceManager /NodeManager2.服务器准备本案例使用虚拟机服务器来大家HADO...原创 2018-11-20 17:45:27 · 236 阅读 · 0 评论 -
基于shell脚本下的一对多SSH免密
1.上传所需要的压缩包到你的Linux主目录下链接: https://pan.baidu.com/s/1exWYm0FsqlKSW8Ur94SZlQ提取码: u6f2 2.配置脚本文件#!/bin/bashSERVERS="这里是你的Linux主机ip或者ip对应的主机名,多个主机名之间以空格隔开即可"PASSWORD=这是你当前主机的root下的登录密码BASE_SER...原创 2018-11-20 17:19:52 · 272 阅读 · 0 评论 -
synchronized和lock的使用分析(优缺点对比详解)
1.synchronized加同步格式:synchronized(需要一个任意的对象(锁)){ 代码块中放操作共享数据的代码。}synchromized缺陷synchronized是java中的一个关键字,也就是说是java语言的内置的特性。如果一个代码块被synchronized修饰,当一个线程获取了对应的锁,并执行代码块时,其他线程只能一直等待,等待获取锁的...原创 2018-11-17 15:38:59 · 5284 阅读 · 0 评论 -
动态代理模式(实例化详解)
简介代理模式通常用于达到对原有系统功能进行扩充的目的,比如:你刚接手一个别人没有完成的项目,这时你不想动别人原来的代码,还需要添加新功能。这时代理模式,这时代理模式会很好的帮我们解决问题代理模式一般分为静态代理,动态代理两种静态代理静态代理一般是由一个接口、若干实现类、若干代理类构成静态代理模式,代理类聚合了被代理类,且代理类及被代理类都实现了同一个接口,可实现灵活多变。继承式...原创 2018-11-15 20:59:13 · 775 阅读 · 0 评论 -
zookeeper结构
zookeeper的特性zookeeper:一个leader,多个follower组成的集群 全局数据一致:每个server保存一份相同的数据副本,client无论连接到呢个server,数据都是一致的 分布式读写,更新请求转发,由leader实施 更新请求顺序进行,来自同一个client的更新请求按其发送顺序依次执行 数据更新原子性,一次数据更新要么成功,要么失败 实时性,在一定时...原创 2018-11-15 19:33:32 · 926 阅读 · 0 评论 -
淘宝技术这十年
淘宝现状高并发已经成为当前互联网企业面临的巨大挑战!例如2015年“双十一”全球狂欢节正式落下帷幕,天猫最终交易额也达到了创纪录的912.17亿元!参与交易国家和地区达到232个,双十一支付宝最高峰每秒处理的交易笔数是8.59万笔,在线人数峰值达到4500万。淘宝的核心技术(国内乃至国际的Top,这还是2011年的数据)拥有全国最大的分布式Hadoop集群(云梯,2000左右节点,24...原创 2018-11-15 18:54:47 · 214 阅读 · 0 评论 -
基于Linux--mini版下的MySQL安装
1.我们可以通过如下命令来查看我们的操作系统上是否已经安装了mysql数据库[root@xiaoluo ~]# rpm -qa | grep mysql // 这个命令就会查看该操作系统上是否已经安装了mysql数据库2.有的话,我们就通过 rpm -e 命令 或者 rpm -e --nodeps 命令来卸载掉[root@xiaoluo ~]# rpm -e mysql // 普通...原创 2018-11-15 18:49:27 · 382 阅读 · 0 评论 -
基于Linux--mini版下的Tomcat安装
上传apache-tomcat-7.0.68.tar.gz到Linux上 解压tomcat tar -zxvf apache-tomcat-7.0.68.tar.gz -C /usr/local/ 3.启动tomcat /usr/local/apache-tomcat-7.0.68/bin/startup.sh 4.查看tomcat进程...原创 2018-11-15 17:22:41 · 125 阅读 · 0 评论 -
基于Linux--mini版下的JDK安装
1.上传jdk-7u45-linux-x64.tar.gz到Linux上2.解压jdk到/usr/local目录tar -zxvf jdk-7u45-linux-x64.tar.gz -C /usr/local/3.设置环境变量,在/etc/profile文件最后追加相关内容vi /etc/profile export JAVA_HOME=/usr/local/jdk1....原创 2018-11-15 17:19:40 · 257 阅读 · 0 评论 -
SSH免密登录原理
1.进入home目录下 cd ~2.SSH是标准的协议,可用于大多数UNIX操作系统,能够实现字符界面的远程登录管理,采用密文的形式在网络中传输数据,相对于通过明文传输的Telnet,具有更高的安全性。SSH提供了账号和密码两种登录方式。不同的是口令用户验证方式传输的是用户账号密码。而SSH用密钥登录更安全。查看scp两边有没有协议,没有请安装:运行yum install openssh...原创 2018-11-15 17:12:02 · 246 阅读 · 0 评论 -
NAT模式联网配置
1.将任意一台虚拟机设置为VMnet8(Nat模式)2.点击编辑--》虚拟网络编辑器3.操作如下4.C:\Windows\System32\drivers\etc\hosts打开编辑192.168.12.1将代表的是我们用虚拟机可以访问到我们的window网络192.168.12.77代表的是我们的当前虚拟机将使用这个虚拟的ip进行上网,其实就是在蹭...原创 2018-11-14 21:09:53 · 409 阅读 · 0 评论