2022年12月22日
摘要: val 是不可变, var 是可变对象 trait 相当于 interface(多继承)和abstract(变量、方法实现)的结合体 3.模式匹配:更灵活的Switch case(1 匹配值的时候,值类型可以不一样。2 可以匹配类型) 4.类型 Unit 表示void Noting 表示所有其他类型 阅读全文
posted @ 2022-12-22 10:14 J.M.Liu 阅读(26) 评论(0) 推荐(0) 编辑
  2022年3月25日
摘要: 一、简介 Dundas公司于1992年成立于加拿大多伦多,原本是一家专注于数据可视化技术的公司,主要业务为向其他公司提供数据可视化组件外包开发服务。在1994年至2009年十多年的时间里,Dundas相继推出了Dundas Chart、Dundas Gauge、Dundas Map和Dundas C 阅读全文
posted @ 2022-03-25 15:45 J.M.Liu 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 计算表、计算字段和度量 计算表 返回值是一个二维表,比如下面返回一个只有一个时间列的表。时间是连续的,结束于6月。会扫描模型里的最大时间和最小时间,然后涵盖掉。 Due Date = CALENDARAUTO(6) 计算列 单行内计算,非聚合。和我们的非聚合型计算字段类似。 Due Fiscal Y 阅读全文
posted @ 2022-03-25 15:38 J.M.Liu 阅读(787) 评论(0) 推荐(0) 编辑
摘要: 同环比计算 BDP的同环比计算分为【维度为日期字段】和【维度为非日期字段】两个case。 当前置条件变动之后,之前的高级计算配置会立即清空。 BDP有专门的时间筛选器去控制对比。 (1)维度为日期字段 当时间字段在维度中的最左侧时,才认为维度为日期字段。当维度为日期字段时,时间粒度已经划分好了,此时 阅读全文
posted @ 2022-03-25 15:37 J.M.Liu 阅读(406) 评论(0) 推荐(0) 编辑
摘要: Tableau的高级计算是通过计算字段来完成的。 计算字段的本质是通过表达式,基于数据源中已有的数据创建数据源中不存在的数据。 计算字段分类 计算字段分为以下几类: Basic calculations:数据源级别((a row-level calculation))或者可视化级别(an aggre 阅读全文
posted @ 2022-03-25 15:35 J.M.Liu 阅读(815) 评论(0) 推荐(0) 编辑
  2022年2月8日
摘要: 字节码只有两种结构:无符号数和表。整体结构如下表所示。 魔术 魔术是固定的,用十六进制表示为 cafebabe,用以表示这是一个java字节码。 版本号 版本号现代只用主版本号,此版本号全部为0. 在jdk12时期,此版本号被用作公测特性申明。 常量池 只有常量池的计数和序号从1开始,其他重复项的技 阅读全文
posted @ 2022-02-08 10:17 J.M.Liu 阅读(93) 评论(0) 推荐(0) 编辑
  2022年2月7日
摘要: 本文的重点是把openJDK中多种主流垃圾回收器拉到一起,并对他们的特征、关注点、优劣势做对比分析,以期能在生产时间中根据业务场景选择合适的垃圾回收器。由于本文并非介绍各种垃圾回收器的内部实现细节,所以对垃圾回收器的工作过程只做整体描述。 openJDK中主流的垃圾回收器 截止到JDK12,open 阅读全文
posted @ 2022-02-07 20:53 J.M.Liu 阅读(875) 评论(0) 推荐(0) 编辑
  2019年10月12日
摘要: 为maven的编译、运行指定不同的jdk,有两种方式 参考: "Compiling Sources Using A Different JDK" 1. 最好的就是用Toolchainstool 插件,这个插件可以为包括compiler在内的其他诸多插件制定jdk版本,以及其他工具的版本(如果这些插件 阅读全文
posted @ 2019-10-12 22:51 J.M.Liu 阅读(238) 评论(0) 推荐(0) 编辑
  2019年4月19日
摘要: 对于maven项目来说,目录结构是固定的,也就是像这样: Gradle也是一样的,他也有一个约定的目录结构,格式和maven的结构一样。但不同的是,gradle的目录结构是可以改的,官网中叫做Changing the project layout。怎么改,或者说怎么自定义?这就要用到SourceSe 阅读全文
posted @ 2019-04-19 15:00 J.M.Liu 阅读(4585) 评论(0) 推荐(1) 编辑
  2019年4月12日
摘要: CyclicBarrier是java推出的一个并发编程工具,它用在多个线程之间协同工作。线程约定到达某个点,到达这个点之后的线程都停下来,直到最后一个线程也到达了这个点之后,所有的线程才会得到释放。常用的场景是:多个worker线程,每个线程都在循环地做一部分工作,并在最后用cyclicBarrie 阅读全文
posted @ 2019-04-12 17:41 J.M.Liu 阅读(6655) 评论(1) 推荐(1) 编辑