约瑟夫的博客


博客页面

Facebook开源预测工具Prophet安装

0x1 依赖包安装 注:本文描述的安装过程是基于Centos操作系统 依赖环境:gcc, gcc-c++, python-devel, python3-devel 可以直接通过yum install命令安装 0x2 Python3安装 直接参考:https://www.cnblogs.com...

Flink 闭包清除源码分析

0x1 摘要 本文主要讲解Flink里为什么需要做闭包清除?Flink是怎么实现闭包清除的? 0x2 Flink 为什么要做闭包清除 大家都知道Flink中算子都是通过序列化分发到各节点上,所以要确保算子对象是可以被序列化的,很多时候大家比较喜欢直接用匿名内部类实现算子,而匿名内部类就会带来...

Flink 事件时间的陷进及解决思路

0x1 摘要 大家都知道Flink引入了事件时间(eventTime)这个重要概念,来提升数据统计的准确性,但引入事件时间后在具体业务实现时存在一些问题必需要合理去解决,否则会造成非常严重的问题。 0x2 Flink 时间概念介绍 Flink 支持不同的时间概念,包括: Event T...

Pulsar 集群安装

0x1 摘要 本文记录Pulsar 2.2.0版本安装步骤,单机模式(standalone)比较简单,直接参考官网:http://pulsar.apache.org/docs/en/standalone/ 按步骤执行就行,主要讲解集群模式安装,以及过程中遇到问题的解决。 0x2 环境要求 ...

序列化、反序列化性能测试

0x1 摘要 平时开发中经常听到序列与反序列化,特别是在分布式系统与RPC应用中,今天突然心血来潮对几种常用的序列化框架做个性能测试对比,测试对象: Java 原生序列 Avro Thrift Protobuf 0x2 测试环境及工具 测试环境: 系统类型:64 位操作系...

ArrayList 序列化分析

0x1 摘要 相信ArrayList是Java开发过程中最常用的集合类之一,底层存储结构是数组,这篇文章不讲解底层数据结构的实现,主要讲解它的序列化机制,大家都知道ArrayList是可以序列化的,但也有一些人不知道具体是怎么序列化的,希望这篇章可以帮到大家。 0x2 ArrayList 类...

git如何删除tag

0x1 摘要 由于项目开发时分QA、预发、线上环境,针对不对环境会打不同的tag,导致代码库中存在非常多的tag,除了线上环境,其他环境的tag使用完后可以清理,最近项目需要对代码库中的tag进行清理,从网上查阅文章后进行总结记录。 0x2 查看tag git分本地和远程两个环境,两个环境查...

Java 泛型介绍(一)

泛型在JDK1.5版本被正式引入,具有非常重要的意义,网上有很多文章介绍,本文只是对使用过程中遇到的一些问题进行总结,当作笔记使用。 先来看一段没有使用泛型的代码: public class TypedTest { public static void main(String[] ar...