随笔分类 -  JVM语言-java&scala&kotlin

灵活的胖子
摘要:偏函数 偏函数介绍 Scala的函数是基于Function家族,0-22,一共23个Function Trait可以被使用,数字代表了Funtcion的入参个数。 偏函数:f : X -> Y,该函数仅定义了输入参数X的子集1和3,没有包含2。 在Scala中的偏函数是通过特质PartialFunc 阅读全文
posted @ 2020-06-29 15:45 wqbin 阅读(224) 评论(0) 推荐(0) 编辑
摘要:数组 Array是定长数组,ArrayBuffer是变长数组 创建数组定长数组 1.new方式定义数组 中括号的类型就是数组的类型, val arr1 = new Array[Int](10) 赋值,集合元素采用小括号访问 arr1(1) = 7 反编译 2.apply方式定义数组 val arr1 阅读全文
posted @ 2020-06-17 19:54 wqbin 阅读(189) 评论(0) 推荐(0) 编辑
摘要:基本介绍 Scala中的模式匹配类似于Java中的switch语法,但是更加强大。 模式匹配语法中,采用match关键字声明,每个分支采用case关键字进行声明,当需要匹配时,会从第一个case分支开始,如果匹配成功,那么执行对应的逻辑代码,如果匹配不成功,继续执行下一个分支进行判断。 如果所有ca 阅读全文
posted @ 2020-06-15 17:30 wqbin 阅读(229) 评论(0) 推荐(0) 编辑
摘要:111 阅读全文
posted @ 2020-06-15 17:23 wqbin 阅读(112) 评论(0) 推荐(0) 编辑
摘要:scala集合基本介绍 Scala同时支持不可变集合和可变集合,不可变集合可以安全的并发访问。 在scala中集合主要在三个包里面:scala.collection, scala.collection.immutable和scala.collection.mutable。 两个主要的包: 不可变集合 阅读全文
posted @ 2020-06-08 15:11 wqbin 阅读(161) 评论(0) 推荐(0) 编辑
摘要:我们先解释一下显式转换,例如下面: implicit def ftoInt(d: Double): Int = { d.toInt } 引出隐式转换的实际需要=>指定某些数据类型的相互转化。 隐式函数基本介绍 隐式转换函数是以implicit关键字声明的带有单个参数的函数,函数将会自动应用,将值从一 阅读全文
posted @ 2020-06-08 10:57 wqbin 阅读(312) 评论(0) 推荐(0) 编辑
摘要:静态属性和静态方法 基本介绍 回顾下Java的静态概念 静态方法:public static 返回值类型 方法名(参数列表) {方法体} 静态属性:public static 属性名... 说明: Java中静态方法并不是通过对象调用的,而是通过类对象调用的,所以静态操作并不是面向对象的。 Scal 阅读全文
posted @ 2020-06-01 19:39 wqbin 阅读(241) 评论(0) 推荐(0) 编辑
摘要:Java方法调用过程中,Jvm是如何知道调用的是哪个类的方法?Jvm又是如何处理? 简介 当子类和父类(接口和实现类)存在同一个方法时,子类重写父类(接口)方法时,程序在运行时调用的方法时,是调用父类(接口)的方法呢?还是调用子类的方法呢?我们将确定这种调用何种方法的操作称之为绑定。 绑定又分为静态 阅读全文
posted @ 2020-06-01 10:11 wqbin 阅读(183) 评论(0) 推荐(0) 编辑
摘要:面向对象编程三大特征 面向对象编程有三大特征:封装、继承和多态。 封装介绍 封装(encapsulation)就是把抽象出的数据和对数据的操作封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作(成员方法),才能对数据进行操作。 面向对象编程三大特征 基本介绍 面向对象编程有三大特征:封 阅读全文
posted @ 2020-05-28 13:18 wqbin 阅读(275) 评论(0) 推荐(0) 编辑
摘要:scala包 回顾-Java包的三大作用 区分相同名字的类 当类很多时,可以管理类 控制访问范围 回顾-Java打包与导入包 打包基本语法 package com.公司名.项目名; 打包的本质分析 实际上就是创建不同的文件夹来保存类文件 语法: import 包; import java.awt.* 阅读全文
posted @ 2020-05-22 00:58 wqbin 阅读(169) 评论(0) 推荐(0) 编辑
摘要:面向对象的Scala Java是面向对象的编程语言,由于历史原因,Java中还存在着非面向对象的内容:基本类型 ,null,静态方法等。 Scala语言来自于Java,所以天生就是面向对象的语言,而且Scala是纯粹的面向对象的语言,即在Scala中,一切皆为对象。 如何定义类 基本语法 [修饰符] 阅读全文
posted @ 2020-05-21 16:40 wqbin 阅读(237) 评论(0) 推荐(0) 编辑
摘要:There seems to be a consensus in the Java community that the Scala programming language is already on the decline. I consider this a pity because I al 阅读全文
posted @ 2020-05-20 09:31 wqbin 阅读(217) 评论(0) 推荐(0) 编辑
摘要:英文原文: Five years ago, Scala seemed like the next big thing in programming languages because it elegantly enabled functional programming within an obje 阅读全文
posted @ 2020-05-20 01:10 wqbin 阅读(829) 评论(0) 推荐(0) 编辑
摘要:函数式编程基础 函数定义/声明 函数运行机制 递归//难点 [最短路径,邮差问题,迷宫问题, 回溯] 过程 惰性函数和异常 函数式编程高级 值函数(函数字面量) 高阶函数 闭包 应用函数 柯里化函数,抽象控制... 函数式编程定义 注释: 我想写函数点 一.什么是函数式编程? 函数式编程思想来源于伟 阅读全文
posted @ 2020-05-19 21:12 wqbin 阅读(169) 评论(0) 推荐(0) 编辑
摘要:在程序中,程序运行的流程控制决定程序是如何执行的,有三大流程控制语句。 顺序控制 分支控制 循环控制 顺序控制 顺序控制介绍 程序从上到下逐行地执行,中间没有任何判断和跳转。 顺序控制举例和注意事项 Scala中定义变量时采用合法的前向引用。如: def main(args : Array[Stri 阅读全文
posted @ 2020-05-19 17:36 wqbin 阅读(195) 评论(0) 推荐(0) 编辑
摘要:运算符介绍 运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。 算术运算符 比较运算符(关系运算符) 位运算符 逻辑运算符 赋值运算符 算术运算符 介绍 算术运算符(arithmetic)是对数值类型的变量进行运算的,在Scala程序中使用的非常多。 注意: 对于除号“/”,它的整数除和小数 阅读全文
posted @ 2020-05-16 13:34 wqbin 阅读(201) 评论(0) 推荐(0) 编辑
摘要:变量声明基本语法 var | val 变量名 [: 变量类型] = 变量值 注意事项: 声明变量时,类型可以省略(编译器自动推导,即类型推导) 类型确定后,就不能修改,说明Scala 是强数据类型语言. 在声明/定义一个变量时,可以使用var 或者 val 来修饰, var 修饰的变量可改变,val 阅读全文
posted @ 2020-05-15 23:53 wqbin 阅读(281) 评论(0) 推荐(0) 编辑
摘要:--我是在2018年第一次接触scala,之后再数仓过程中经常做Hbase与spark的etl。之后换了工作后有半年多没有再写过scala【现在基本都是写python】,重新拾起scala!! 我会在上课笔记为主,同时会借鉴scala犀牛书和scala机器学习等,加入一些自己的思考。感谢尚硅谷韩老师 阅读全文
posted @ 2020-05-13 00:30 wqbin 阅读(404) 评论(0) 推荐(0) 编辑
摘要:1、在java中编译JAR文件的时候我们都会用到,jar这个命令。 2、这样的问题是因为,jar包中的META-INF文件夹下的MANIFEST.MF文件缺少定义jar接口类。说白了就是没有指定class类。这里说明一下MANIFEST.MF就是一个清单文件, 通俗点将就相当于WINDOWS中ini 阅读全文
posted @ 2019-09-27 21:27 wqbin 阅读(855) 评论(0) 推荐(0) 编辑
摘要:-D<name>=<value> : set a system property 设置系统属性。 官方解释: 1.java -D参数简化加入多个jar java命令引入jar时可以-cp参数,但时-cp不能用通配符(多个jar时什么烦要一个个写,不能*.jar),面通常的jar都在同一目录,且多于1 阅读全文
posted @ 2019-09-27 20:36 wqbin 阅读(21472) 评论(0) 推荐(0) 编辑