# 欧阳亮的博客

In addition to the main stream that results from DataStream operations, you can also produce any number of additional side output result streams. The type of data in the result streams does not have to match the type of data in the main stream and the types of the different side outputs can also differ. This operation can be useful when you want to split a stream of data where you would normally have to replicate the stream and then filter out from each stream the data that you don’t want to have.

Windows are at the heart of processing infinite streams. Windows split the stream into “buckets” of finite size, over which we can apply computations. This document focuses on how windowing is performed in Flink and how the programmer can benefit to the maximum from its offered functionality.

Flink supports different notions of time in streaming programs.

## Introduction

The Flink runtime consists of two types of processes:

## 基于Java Agent与Javassist实现零侵入AOP

Java SE 5引入了一个静态Instrument的概念，利用它我们可以构建一个独立于应用程序的代理程序（Agent），用来监测和协助运行在JVM上的程序，可以在程序启动前修改类的定义。有了这样的功能，我们就可以实现更为灵活的运行时虚拟机监控和Java类操作了，这样的特性实际上提供了一种虚拟机级别支持的AOP实现方式，使得开发者无需对应用程序做任何升级和改动，就可以实现某些AOP的功能了。

## G1收集器

G1 GC，全称Garbage-First Garbage Collector，通过-XX:+UseG1GC参数来启用。作为体验版随着JDK 6u14版本面世，在JDK 7u4版本发行时被正式推出，相信熟悉JVM的同学们都不会对它感到陌生。在JDK 9中，G1被提议设置为默认垃圾收集器（JEP 248）。在官网中，是这样描述G1的：

## linux netstat命令查询端口占用情况及连接数

Netstat命令用于显示各种网络相关信息，如网络连接，路由表，接口状态 (Interface Statistics)，masquerade 连接，多播成员 (Multicast Memberships) 等等。

## Storm深入浅出之部署篇

《Storm深入浅出之入门篇》文章中我介绍过Storm的并发机制，本文我们来学习下Storm集群环境由哪些部分组成，各个部分所承担的角色。最后我们再实际操作搭建一个Storm集群。