自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java中特殊符号“.“的深入理解及protected的访问权限分歧

Java中特殊符号"."的深入理解及protected的访问权限分歧在深入理解前让我们看一段代码Q : 为什么会报错?A : 因为你在A的类中声明clone方法Q : 真的是因为这个原因吗?众所周知,所有的class类都是默认继承object类虽然clone()在Object中被protected修饰但根据protected的原理(同包同类子类中都能调用)这里的clone()应...

2020-09-09 11:54:05 2213

原创 浅谈byte型常量池

浅谈byte型常量池二话不说,先来看三个代码Integer i1 = 127 ;Integer i2 = 127 ;println(i1 = i2);trueInteger i1 = 128 ;Integer i2 = 128 ;println(i1 = i2);falseInteger i1 = -1;Integer i2 = -1 ;println(i1 ...

2019-10-19 19:40:27 633

原创 Java中特殊符号"."的深入理解及protected的访问权限分歧

Java中特殊符号"."的深入理解及protected的访问权限分歧在深入理解前让我们看一段代码Q : 为什么会报错?A : 因为你在A的类中声明clone方法Q : 真的是因为这个原因吗?众所周知,所有的class类都是默认继承object类虽然clone()在Object中被protected修饰但根据protected的原理(同包同类子类中都能调用)这里的clone()应...

2019-10-18 20:19:40 3678

原创 Scala中apply的用法

Scala中apply的用法Scala正常创建的对象object Scala08_Method { def main(args: Array[String]): Unit = { val user = new User08() }}class User08 { //类中的方法其实就是函数,所以声明方式和函数完全一样 def test(obj: Object...

2019-10-18 19:46:10 234

原创 Scala--包

Scala--包包的命名1)命名规则2)命名规范包说明(包语句)导包访问权限包对象包的命名1)命名规则只能包含数字、字母、下划线、小圆点.,但不能用数字开头,也不要使用关键字。2)命名规范一般是小写字母+小圆点com.公司名.项目名.业务模块名包说明(包语句)Scala有两种包的管理风格,一种方式和Java的包管理风格相同,每个源文件一个包(包名和源文件所在路径不要求必须一致),包...

2019-10-18 18:54:01 259

原创 Scala--惰性函数

Scala--惰性函数当函数返回值被声明为lazy时,函数的执行将被推迟,直到我们首次对此取值,该函数才会执行。这种函数我们称之为惰性函数。def main(args: Array[String]): Unit = { //惰性函数 //什么时候被调用,什么时候才执行 lazy val res = sum(10,30) println("-----------...

2019-10-18 18:36:18 419 1

原创 Scala--控制抽象

Scala--控制抽象控制抽象的基本原理:将函数的逻辑传给另一个函数的参数列表def foo(a : =>Unit):Unit={ a}foo(println("aaa"))好处在于自由在参数列表中写逻辑,给其他函数使用 def try1(a : =>Unit):Unit={ a } try1{ println("aaa...

2019-10-18 18:34:22 208

原创 Scala--递归

Scala--递归Java中递归需要注意的点:1.函数自己调用自己2.函数在调用自己时,应该有跳出的逻辑3.递归函数在调用时,应该有规律Scala也满足了这三点的同时,有增加了新特性要求递归函数必须显示声明返回值类型,如果不声明返回值类型,递归无法推断出类型def test(i: Int):Int = { if (i == 1) { 1 }else{ i * ...

2019-10-18 18:10:09 128

原创 浅谈-栈上分配和逃逸分析

浅谈-栈上分配和逃逸分析前体栈上分配逃逸分析情景一情景二前体分析结论前体让我们先来看一段代码String s = "a" + "b"请问这代码产生了几个对象?有的人可能会说3个有的人可能会说1个这里先不说答案,我们先回顾下什么是对象,对象放在哪里?一般情况下,我们把放在堆里面的称之为对象也就意味着对象只能放在堆里面其实并不是这样,对象其实并不是只能放在堆里面它也能放在栈里面...

2019-10-18 17:19:34 406

原创 Scala函数--函数式练习及柯里化函数的概念

Scala函数--函数式练习及柯里化函数的概念题目一: 用一个for写出一个三角形图案题目二:逆推 f(10)(20)() 公式 结果为200第一种写法第二种写法第三种写法柯里化函数举例疑问为什么f2可以使用x的值?闭包柯里化函数题目一: 用一个for写出一个三角形图案 def main(args: Array[String]): Unit = { for ( i <- 1 t...

2019-10-18 13:57:53 342

原创 Scala函数--高级函数式

Scala函数--高级函数式函数可以作为参数传递举例一举例二匿名函数Scala对匿名函数也遵循了至简原则如果不关心匿名名字,可以使用匿名函数简化参数的传递如果函数只有一行代码,可以省略大括号如果函数的类型可以确定,可以省略参数类型如果参数列表只有一个参数,可以省略小括号如果参数只有在逻辑中使用一次,那么参数可以省略,然后用下划线代替但注意至简匿名函数是有前提的(以举例三为例)正常情况下如果参数被使...

2019-10-18 13:38:06 287

原创 Scala函数--中级函数式--Scala中参数个数最大值为22个

Scala函数--中级函数式--Scala中参数个数最大值为22个 def main(args: Array[String]): Unit = {至简原则中级版函数式编程原版1.如果函数逻辑中需要返回结果,那么return关键字可以省略 可以将函数体中最后一行代码作为函数的返回结果2.如果可以通过返回值推断出返回值类型,那么返回值类型可以省略3.如果函数的主体内容只有一行代...

2019-10-18 11:29:33 1123

原创 Scala函数-入门级函数式

Scala函数-入门级函数式def main(args: Array[String]): Unit = {函数 重要注意三点: 函数名,Input(传入参数),Output(返回值) 1.函数, 无参,无返回值 def f1(): Unit = { println("f1....") } f1()2.函数, 无参,有返回值 def ...

2019-10-18 11:23:58 209

原创 Java中"++"自增赋号运算符深入理解

Java中"="自增赋号运算符深入理解第一种理解方式第二种更加深入的理解方式让我们先来看一段代码:int i = 0 ;int j = i++;System.out.println(i);这个结果大家都知道是:0那么我们换一种写法:int i =0;i = i++;System.out.println(i);大家第一反应是不是以为运算结果还是 1 ?其实答案是:0...

2019-10-18 11:19:39 255

原创 如何修改String类型的字符串

如何修改String类型的字符串众所周知,String类型的字符串往往被写入常量池中,我们无法对其进行直接的修改,只能对其另外赋值比如:String s = " a b ";s.trim();System.out.println("!" + s + "!");得出的结论是! a b !这时,可能有人问当中不是有trim()对前后空格进行了剔除么,怎么回事?其实这个问题,不难...

2019-10-16 20:53:39 2683 2

原创 Scala打印字符串

Scala打印字符串基本语法正常打印换行打印基本语法(1)字符串,通过+号连接(2)printf用法:字符串,通过%传值。(3)字符串模板:通过$获取变量值正常打印打印字符串val username = "zhangdan"val userage = 20println("用户名称:"+username+",用户年龄:"+userage)Scala中简化了关于json的...

2019-10-16 20:16:46 774

原创 Scala的标识符命名规则

Scala的标识符命名规则Scala对各种变量、方法、函数等命名时使用的字符序列称为标识符。即:凡是自己可以起名字的地方都叫标识符。标识符(和java相同点)val name = "zhangsan"val name1 = "lisi"val na_me = "wangwu"val name$ = "zhangliu"val _name = ""val $name = ""标识...

2019-10-16 20:10:20 485

原创 Scala变量声明及至简原则

Scala变量声明及至简原则变量声明变量常量至简原则(能省就省,快乐编码)变量声明变量var i : Int = 10Scala声明变量需要使用关键字声明var 变量名称 : 变量类型 = 初始值Scala中要求变量声明后必须初始化var 声明变量,表示变量的值可以发生改变常量val j : String = "abd"val 变量名称:变量类型=初始值val声明变量,表...

2019-10-16 20:06:00 517

原创 Scala的main语法解析及伴生对象机制

Scala的main语法解析及伴生对象机制main语法: def main(args: Array[String]): Unit = {}解析:Scala main语法 : 方法名(参数列表):返回值类型 = {方法}main --> 方法名小括号 --> 参数列表参数声明方式:–>Java --> 类型 参数名–>Scala --> 参数...

2019-10-16 19:55:15 341

原创 Scala反编译

Scala反编译1)在项目的target目录Hello文件上点击右键->Show in Explorer->看到object底层生成Hello$.class和Hello.class两个文件2)采用Java反编译工具jd-gui.exe反编译代码,将Hello.class拖到jd-gui.exe页面...

2019-10-16 19:43:25 5847 1

原创 Scala的环境搭建及Idea的框架引入

Scala的环境搭建及Idea的框架引入安装步骤测试Idea中Scala插件安装插件离线安装步骤插件在线安装(可选)Maven中引入Scala框架安装步骤(1)首先确保JDK1.8安装成功(2)下载对应的Scala安装文件scala-2.11.8.zip(3)解压scala-2.11.8.zip,我这里解压到E:\02_software(4)配置Scala的环境变量注意1:解压路径不...

2019-10-16 19:39:47 741

原创 HashMap如何计算每个元素该放入的索引位置及kafka分区算法

HashMap如何计算每个元素该放入的索引位置及kafka分区算法HashMap底层的运用算法索引算法算法解析举例一举例二结论大数据衍生HashMap底层的运用算法索引算法int index = Hash(key.Hashcode) & (table.length - 1)算法解析Hash --> Java的Hash算法(固定算法)key.Hashcode -->...

2019-10-16 19:30:17 1195 1

原创 在极限状态下,HashMap放多少数组会变成红黑二叉树?

在极限状态下,HashMap放多少数组会变成红黑二叉树?回答问起前,我们先回顾下HashMapHashMap底层是数组+链表的方式HashMap具有唯一性每个链条默认情况下在放入第九个元素后,该链条就会自动从Node变成TreeNode但情况真的是这样吗?我们可以使用java来进行验证public class TextMap { public static void mai...

2019-10-16 19:05:28 3353 4

原创 Kylin个人笔记

Kylin个人笔记Kylin是什么Kylin特点Kylin架构运作流程Kylin工作原理维度和度量Cube和Cuboid核心算法逐层构建算法(layer)快速构建算法(inmem)Kylin环境搭建安装地址安装部署快速入门创建项目登录系统创建工程选择数据源创建Model创建CubeKylin查询可视化ZeppelinZeppelin安装与启动配置Zepplin支持KylinZeppelin查询Cu...

2019-09-26 20:11:55 665

原创 Sqoop个人笔记

Sqoop个人笔记Sqoop是什么为什么不用Sqoop2.XSqoop原理简述Sqoop安装下载并解压修改配置文件拷贝JDBC驱动验证Sqoop测试Sqoop是否能够成功连接数据库Sqoop的简单使用案例导入数据RDBMS到HDFSRDBMS到HiveRDBMS到Hbase导出数据HIVE/HDFS到RDBMS脚本打包Sqoop一些常用命令及参数常用命令列举命令&参数详解公用参数:数据库连...

2019-09-26 16:26:53 197

原创 Oozie个人笔记

Oozie个人笔记Oozie是什么Oozie功能模块模块常用节点Oozie的部署部署Hadoop(CDH版本的)修改Hadoop配置启动Hadoop集群部署Oozie解压Oozie在oozie根目录下解压oozie-hadooplibs-4.0.0-cdh5.3.6.tar.gz在Oozie目录下创建libext目录拷贝依赖的Jar包将ext-2.2.zip拷贝到libext/目录下修改Oozie...

2019-09-26 14:43:39 129

原创 HBase调优

HBase调优高可用预分区RowKey设计内存优化基础优化高可用在HBase中HMaster负责监控HRegionServer的生命周期,均衡RegionServer的负载,如果HMaster挂掉了,那么整个HBase集群将陷入不健康的状态,并且此时的工作状态并不会维持太久。所以HBase支持对HMaster的高可用配置。1.关闭HBase集群(如果没有开启则跳过此步)@hadoop120...

2019-09-24 08:37:41 182

原创 Hbase个人笔记中篇

Hbase个人笔记中篇Kafka架构原理写流程重点:_root_表(了解)MemStore Flush(内存刷写)MemStore刷写时机读流程HBase读磁盘慢的原因官方解决HBase读磁盘慢的方法StoreFile Compaction解读参数HBase删除清理过期数据的机制Region Split解析不推荐使用的原因解读公式解决方案HBase API环境准备查看表是否存在创建命名空间创建表删...

2019-09-20 21:27:10 224

原创 Kafka调优

Kafka调优Swap机制调整vm.swappiness以避免不需要的磁盘I / O.简单设置持久设置推荐设置脏文件关于脏文件的两个参数推荐设置网络JVM虚拟机GC调优与CMS比较G1适合的场景Swap机制当物理内存使用达到一定的比例后,Linux就会使用进行swap,使用磁盘作为虚拟内存。通过cat /proc/sys/vm/swappiness可以看到swap参数。这个参数表示虚...

2019-09-20 13:07:11 605

原创 Flume对接Kafka之KafkaSink

Flume对接Kafka之KafkaSink默认配置对接配置flume创建并配置file-flume-kafka.conf启动kafka消费者启动flume追加数据查看消费情况自定义Flume的Kafka拦截器创建自定义拦截配置flume(和默认有所不同)注意:不要配置成flume的自定义拦截器配置开启kakfa的两个消费者分别获取first和second分区信息追加数据查看消费情况默认配置对接...

2019-09-19 21:19:28 3878 1

原创 HBase安装及基本操作

HBase安装及基本操作HBase安装部署Zookeeper正常部署Hadoop正常部署HBase的解压HBase的配置文件HBase远程发送到其他集群HBase服务的启动1.启动方式2.启动方式2查看HBase页面HBase Shell操作基本操作表的操作创建表插入数据到表扫描查看表数据查看表结构更新指定字段的数据查看“指定行”或“指定列族:列”的数据统计表数据行数删除数据清空表数据删除表变更表...

2019-09-18 18:54:09 651

原创 Hbase个人笔记前篇

Hbase个人解读第一章HBase是什么Hbase定义HBase数据模型HBase数据模型HBase物理存储结构数据模型HBase基本架构HBase是什么Hbase定义HBase是一种分布式、可扩展、支持海量数据存储的NoSQL数据库。HBase数据模型逻辑上,HBase的数据模型同关系型数据库很类似,数据存储在一张表中,有行有列。但从HBase的底层物理存储结构(K-V)来看,HBas...

2019-09-18 18:30:09 303

原创 Kafka个人笔记后篇(自定义拦截器及监控,与flume对接)

Kafka个人解读后篇自定义interceptorinterceptore原理interceptor实现第一个时间戳interceptor第二个计数器interceptor创建producerinterceptor结果Kafka监控Kafka EagleFlume对接Kafka自定义interceptorinterceptore原理Producer拦截器(interceptor)是在Kafk...

2019-09-18 18:16:24 556

原创 Java常见注释规范

Java注释规范Java 文档注释版权注释类注释构造函数注释(Constructor)方法注释(Methods)代码块注释(Block)单句注释字段名注释Java 文档注释Java 支持三种注释方式。前两种分别是 // 和 /* /,第三种被称作说明注释,它以 /* 开始,以 */结束。说明注释允许你在程序中嵌入关于程序的信息。你可以使用 javadoc 工具软件来生成信息,并输出到HTML...

2019-09-18 09:14:37 367

原创 Kafka自定义分区

Kafka自定义分区继承partitioner的类主方法中配置该类继承partitioner的类package com.alibaba.partition;import org.apache.kafka.clients.producer.Partitioner;import org.apache.kafka.common.Cluster;import java.util.Map;/...

2019-09-17 20:26:15 253

原创 Kafka个人笔记中篇

Kafka个人解读中篇Kafka高效读写数据1.顺序写磁盘注意2.Zero拷贝Zookeeper在Kafka中的作用Kafka事务Producer事务Consumer事务Kafka APIProducer API消息发送流程相关参数异步发送API同步发送APIConsumer API自动提交offset手动提交offset同步提交offset异步提交offset自定义存储offsetKafka高...

2019-09-17 19:52:16 605

原创 Kafka常见面试题(附个人解读答案+持续更新)

Kafka常见面试题题库1.Kafka中的ISR(InSyncRepli)、OSR(OutSyncRepli)、AR(AllRepli)代表什么?2.Kafka中的HW、LEO等分别代表什么?3.Kafka的用途有哪些?使用场景如何?4.Kafka中是怎么体现消息顺序性的?5.“消费组中的消费者个数如果超过topic的分区,那么就会有消费者消费不到数据”这句话是否正确?6. 有哪些情形会造成重复消...

2019-09-17 19:16:31 11817 3

原创 大数据端口整理(持续更新)

大数据常用端口HadoopZookeeperHiveKafkaHadoop50070 : HDFS namenode 端口50090 : HDFS SecondaryNameNode 端口50010 : HDFS datanode 端口8088 : Yarn resourcemanager 端口8020 或 9000 : HDFS RPC 端口19888 : jobhistory ...

2019-09-16 20:50:55 372

原创 Kafka构建及命令行操作

Kafka构建及操作安装部署集群规划jar包下载集群部署安装部署集群规划hadoop120hadoop121zkzkkafkakafkajar包下载kafka官网下载集群部署1)解压安装包[DiAo@hadoop120 software]$ tar -zxvf kafka_2.11-0.11.0.0.tgz -C /opt/module/2)...

2019-09-16 20:10:29 140

原创 Kafka个人笔记前篇

Kafka个人总结一Kafka的概述消息队列的回顾消息队列消息队列的好处消息队列的两种模式Kafka的基础架构Kafka架构深入Kafka工作流程及文件存储机制Kafka生产者分区策略数据可靠性保证acks参数配置:故障处理细节Exactly Once语义(精确一次)Kafka消费者消费模式分区分配策略offset维护消费者组测试Kafka的概述kafka是一个分布式的消息队列,基于发布/订阅...

2019-09-16 19:41:01 604

kafka监控安装包

kafka-eagle监控安装包 操作步骤详见kafka个人解读后篇

2019-09-18

空空如也

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

TA关注的人

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