自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 收藏
  • 关注

原创 scala模式匹配 match case

(1)如果所有 case 都不匹配,那么会执行 case _ 分支,类似于 Java default 语句,若此时没有 case _ 分支,那么会抛出 MatchError。(4)=> 后面的代码块,直到下一个 case 语句之前的代码是作为一个整体执行,可以使用{}括起来,也可以不括。(2)每个 case 中,不需要使用 break 语句,自动中断 case。(3)match case 语句可以匹配任何类型,而不只是字面量。如果想要表达匹配某个范围的数据,就需要在模式匹配中增加条件守卫。

2023-04-25 15:45:08 191

原创 scala数组创建、访问、遍历与元素追加

不推荐使用二维以上的数组

2023-04-24 21:30:28 470

原创 scala枚举类和应用类

枚举类:需要继承 Enumeration应用类:需要继承 App定义新类型:使用 type

2023-04-24 20:18:31 172

原创 scala特质自身类型

自身类型可实现依赖注入的功能

2023-04-24 18:56:37 131

原创 scala特征叠加

如果要指定super指定的是那个特质、父类,简单如下操作就行了。从右向左叠加,最后的特征最先输出。

2023-04-24 18:12:10 66

原创 scala特质trait

Scala 语言中,采用特质 trait(特征)来代替接口的概念,也就是说,多个类具有相同的特质(特征)时,就可以将这个特质(特征)独立出来,采用关键字 trait 声明。

2023-04-24 16:31:57 75

原创 scala实现单例设计模式

通过类的构造方法私有化,再在其伴生对象中定义获取对象实例的唯一方法来实现

2023-04-24 13:13:14 107

原创 scala单例对象(伴生对象)使用场景

我们都知道,静态成员在 Java 中有很大的作用,因为 Java 没有全局变量,也不存在包级函数,一切属性和方法都是在类里面,所以在写一些工具函数和全局变量时,都需要用到 static 关键字修饰的静态成员。由于scala移除了static关键字,有时候我们又需要实现类似的功能,这个时候可以使用类的伴生对象来实现,使得一些属性、方法能够在更大的作用域生效

2023-04-24 11:16:14 81

原创 scala匿名子类

当业务需要实现一个抽象类的属性、方法并调用,但不关心其名字的时候,可以使用匿名子类。和 Java 一样,可以通过包含带有定义或重写的代码块的方式创建一个匿名的子类。

2023-04-24 10:47:20 59

原创 scala抽象属性和方法

(1)如果父类为抽象类,那么子类需要将抽象的属性和方法实现,否则子类也需声明为抽象类(2)重写非抽象方法需要用 override 修饰,重写抽象方法则可以不加 override。(3)子类中调用父类的方法使用 super 关键字(4)子类对抽象属性进行实现,父类抽象属性可以用 var 修饰;

2023-04-24 10:31:21 153

原创 scala主构造方法与辅助构造方法的使用

(1)辅助构造器,函数的名称 this,可以有多个,编译器通过参数的个数及类型来区分。(2)辅助构造方法不能直接构建对象,必须直接或者间接调用主构造方法。

2023-04-22 18:59:57 253

原创 scala访问权限

在 Java 中,访问权限分为:public,private,protected 和默认。在 Scala 中,你可以通过类似的修饰符达到同样的效果。但是使用上有区别。

2023-04-22 18:05:47 273

原创 scala的类与对象

Scala 中的 public 属性,底层实际为 private,并通过 get 方法(obj.field())和 set 方法(obj.field_=(value))对其进行操作。所以 Scala 并不推荐将属性设为 private,再为其设置public 的 get 和 set 方法的做法。

2023-04-22 16:30:15 53

原创 scala 柯里化+传名参数+递归 实现while关键字功能

首先我们定义一个myWhile函数,它的两个参数分别是返回值为Boolean类型、Unit类型(无返回值)的代码块,该函数没有返回值如果传入的第一个代码块condition的返回值为true则执行传入的第二个代码块op,接着再次以参数condition、op执行myWhile函数(递归),直到多次op操作后condition不再为true,终止循环,否则死循环

2023-04-21 21:48:45 77

原创 scala控制抽象之传名参数(名调用)

直接将一个Int类型的数字作为代码块传入当然也是可以的,但注意上面作为参数传入f1的不是f2(2)(3)的int类型结果,而是传入了完整的代码块。因为这里f2的执行已经被f1给控制了,a在f1中出现多少次,f2就会被调用多少次,执行的时机也被f1控制了。等同于将f2调用的控制权限抽象出来,交给了f1中的a,这就是控制抽象。

2023-04-21 20:56:17 101

原创 scala递归与优化

这样处理虽然可以实现,但显然会出现一个问题,如我计算1024的阶乘,即fact(1024),在完成最后一步前,fact1024-fact1所占用的资源和其入栈的局部变量、上下文等都不会被释放,等于我同时启动了1024个进程,它们都在等待其它进程的结束以给它们需要的结果,这还是比较简单的递归程序,如果要实现比较复杂的逻辑和功能,可以预见后果是非常可怕的。那么该如何解决呢?

2023-04-21 20:09:03 81

原创 scala闭包与柯里化

闭包:如果一个函数,访问到了它的外部(局部)变量的值,那么这个函数和他所处的环境,称为闭包。

2023-04-21 16:56:47 103

原创 Scala对数组数据进行map(数据转换)操作

首先,我们定义一个arrayOperation的函数,它的两个参数分别是需要传入的原数组和需要进行的数据操作函数arrayOperation函数采用for循环对传入的数组进行遍历,将其中的元素用传入的函数进行数据操作并 yeild 生成一个新数组接着,写一个带有数据的数组arr和一个数据操作函数addOne,将它们作为参数传给arrayOperation函数,完成对数据的map(数据转换)操作

2023-04-20 19:53:04 401

原创 将函数作为参数进行传递的方法

此时下划线不能被省略,因为无参的函数可以被 函数名 直接调用 ,不加下划线就会被视为调用。

2023-04-20 17:49:14 418

原创 scala中匿名函数的使用

【代码】scala中匿名函数的使用。

2023-04-20 17:03:41 181

原创 scala函数参数

调用function传入param时,如果想要无视传入参数的顺序,可以使用带名参数,但显然有点多此一举,一般正常按顺序传参就行了

2023-04-20 12:54:40 142

原创 Scala中函数、方法的简单定义与调用

注意:函数(function)是定义在方法内部的,只存在于该方法内部,而方法(method)是与其它方法(如main方法)平行的,函数只能在定义了它的方法内部被调用,而方法可以在在其它类中引入带有该方法的类,而后 类名 . 出来调用,且函数也不能被类名 . 出来

2023-04-20 11:16:13 423

原创 Scala循环中断

首先导入Breaks类,调用该类下的breakable方法(表示接下来的代码是可中断的),在需要中断的地方调用该类下的break方法即可跳出当前循环。在scala中无法直接使用break关键字跳出当前循环,但有其他方法。

2023-04-20 09:23:38 229

原创 Scala程序创建IDEA工程

在项目上,点击右键-> Add Framework Support…->选择 Scala->点击 OK。默认下,Maven 不支持 Scala 的开发,需要引入 Scala 框架。

2023-03-16 16:22:30 78

原创 Scala嵌套循环打印多维数组、九九乘法表

简单遍历打印并用制表符分隔,并加上换行条件判断。

2023-03-16 16:18:49 183

原创 Scala流程控制与返回值

String是一个AnyRef,Int是一个AnyVal,公共父类是Any。

2023-03-01 18:40:41 132

原创 scala从文件中读取数据、将数据写入文件

调用scala.io中Source包下的fromFile方法,参数给路径,直接读取打印。scalaIO中并没有相关方法,直接调javaIO中方法。在resources目录下新建一个test.txt文件。新建一个maven项目,添加scala支持,

2023-02-22 20:43:05 866

原创 scala中类、方法与伴生对象的简单使用

对alice和bob进行实例化,并调用printInfo方法打印其信息。

2023-02-16 19:19:19 125

原创 HelloScala

打开命令行,cd 进入文件存放路径(我这里放在Desktop目录)编译成功后Desktop目录下多出两个文件。写一个文本文件,改后缀为scala。.class 和 $.class。用scalac 命令进行编译。

2023-02-16 13:28:58 123

原创 Scala环境搭建

scala安装以及环境配置

2022-12-16 17:48:16 732

原创 Git基本操作

因为git在拉取或者提交项目时,中间会有git的http和https代理,但是我们本地环境本身就有SSL协议了,可以取消git本身的https代理,使用自己本机的代理。发生这样的问题其实是由于没有凭据,原本我们每次通过https克隆一个远程仓库的时候需要输入凭据,也就是登录到这个url所指的平台需要的用户名和密码

2022-12-16 16:27:21 560

原创 Git安装配置

git安装及配置

2022-12-15 17:09:21 83

原创 Phoenix 对 Hbase 中表的映射

默认情况下, HBase 中已存在的表,通过 Phoenix 是不可见的。如果要在 Phoenix 中操作 HBase 中已存在的表,可以在 Phoenix 中进行表的映射。映射方式有两种:视图映射和表映射。

2022-12-15 12:19:33 1145

原创 Phoenix Shell 操作

关于 Phoenix 的语法建议使用时直接查看官网: https://phoenix.apache.org/language/index.html

2022-12-14 10:06:05 642

原创 Phoenix安装部署

phoenix安装、部署、连接,问题解决

2022-12-08 12:06:18 686

原创 Hbase API

Hbase API 基本配置、创建连接与DDL、DML操作

2022-12-06 17:56:18 475

原创 HBase Shell 基本操作

hbase shell操作

2022-12-02 18:02:46 321

原创 HBase安装部署

解决 HBase 和 Hadoop 的 log4j 兼容性问题,修改 HBase 的 jar 包,使用 Hadoop 的 jar 包。关闭 HBase 集群,在 conf 目录下创建 backup-masters 文件。修改hbase\conf目录下hbase-env.sh 内容,可以添加到最后。更改hbase-env.sh 配置文件中的JAVA_HOME。注意路径和你配置的hbase安装路径相同,不要直接抄。

2022-11-27 21:11:20 661

原创 Kafka提高生产者吞吐量

• batch.size:批次大小,默认16k延迟为0时不生效等待时间到前生产数据累积了16k直接拉走等待时间到了生产数据没满16k也直接拉走• linger.ms:等待时间,修改为5-100ms以延迟代价换取效率• compression.type:压缩snappy• RecordAccumulator:缓冲区大小,修改为64m。

2022-11-18 18:11:42 611

原创 Kafka分区策略

1. 实现接口 Partitioner 2. 实现 3 个方法:partition,close,configure 3. 编写 partition 方法,返回分区号

2022-11-18 10:28:37 823

空空如也

空空如也

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

TA关注的人

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