0%

本文主要介绍数据湖 (DataLake)、数据仓库 (Data Warehouse) 以及湖仓一体架构(Lakehouse)相关概念和知识,作为进一步学习和研究相关技术的前置知识。

Read more »

本文旨在介绍常见的大数据文件格式,如 Avro、Parquet 和 ORC,了解它们是如何被开发出来的,以及它们的优点和缺点。

最关键的问题是:在实践中,为实现最优的性能,我们该如何选择合适的大数据文件格式?

Read more »

对于使用小鹤音形的用户来说,除使用通配符、查看部件、小字这几种常用情况外,打字时的候选窗通常是没有必要的。对于 Android 和 Windows 系统,小鹤音形官网提供了他们的输入法软件,使用户在隐藏打字候选窗的情况下,当用户使用通配符或查看部件及字根时,候选窗则会自动显示出来。
对于其他平台(Linux或Mac)的小鹤音形用户,一般是借助 rime 来实现小鹤音形的挂接,此时要隐藏候选窗便要 rime 及其相应的输入法框架提供支持。本文将以 fcitx5-rime 为例介绍如何快速地隐藏和开启打字候选窗。

Read more »

Shade ,译为遮蔽、掩盖。我最早接触到该词是在使用 maven-shade-plugin 打包 uber-jar 时,从 Maven 官网对该插件的描述可了解到,shade 插件有两大功能,一是可用于在项目打包时将其打包成一个包含所有依赖的 uber-jar,以及shade - i.e. rename the packages of some dependencies (重命名一些依赖的包名)。

Read more »

ClassNotFoundExceptionNoClassDefFoundError 是我们运行 Java 程序时常面对的异常,那么导致它们出现的原因一般是什么呢?本文旨在介绍这两种异常,了解导致它们发生的原因,以及它们之间的区别,以便更好地了解该如何排查和解决相应问题。

Read more »

在 Java 的泛型集合使用中,我们经常可以看到这样的语法:<? super T><? extends T>。例如

1
2
3
boolean addAll(Collection<? extends E> c);

public static <T> boolean addAll(Collection<? super T> c, T... elements);

上面的两个方法,前一个是负责将集合 c 中的元素添加到当前实例集合中,而后一个方法是将 elements 添加到指定集合 c 中。这一使用方式通常称为 PECS (由 Joshua Bloch 在 Effective Java 一书中首次提到)。

Producer extends Consumer super

Read more »