本篇文章首发于头条号Flink程序是如何执行的?通过源码来剖析一个简单的Flink程序,欢迎关注头条号和微信公众号"大数据技术和人工智能"(微信搜索bigdata_ai_tech)获取更多干货,也欢迎关注我的CSDN博客. 在这之前已经介绍了如何在本地搭建Flink环境和如何创建Flink应用和如何构建Flink源码,这篇文章用官方提供的SocketWindowWordCount例子来解析一下一个常规Flink程序的每一个基本步骤. 示例程序 public class SocketWi…
[源码分析] 从FlatMap用法到Flink的内部实现 0x00 摘要 本文将从FlatMap概念和如何使用开始入手,深入到Flink是如何实现FlatMap.希望能让大家对这个概念有更深入的理解. 0x01 Map vs FlatMap 首先我们先从概念入手. 自从响应式编程慢慢壮大以来,这两个单词现在越来越被大家熟悉了.前端能见到它们的身影,后台也能见到:安卓里面有,iOS也有.很多兄弟刚遇到它们时候是懵圈的,搞不清楚之间的区别.下面我就给大家简单讲解下. map 它把数组流中的每一个值,…
原文地址:https://mp.weixin.qq.com/s?__biz=MzU2Njg5Nzk0NQ==&mid=2247483692&idx=1&sn=18cddc1ee0decfe24323dafdb05a048d 本篇介绍一下如何从源码构建Flink,构建Flink源码是学习和研究Flink源码的基础,有助于更好的了解Flink. 环境准备 环境/软件 版本 备注 OS Ubuntu 14.04 LTS Maven 3.0.5 Java 1.8.0_161 Flink 1…
JVM源码分析之一个Java进程究竟能创建多少线程 原创: 寒泉子 你假笨 2016-12-06 概述 虽然这篇文章的标题打着JVM源码分析的旗号,不过本文不仅仅从JVM源码角度来分析,更多的来自于Linux Kernel的源码分析,今天要说的是JVM里比较常见的一个问题 这个问题可能有几种表述 一个Java进程到底能创建多少线程? 到底有哪些因素决定了能创建多少线程? java.lang.OutOfMemoryError: unable to create new native thread的…
自己实现了一个简单的LinkedList /** * Create by andy on 2018-07-03 11:44 * 根据 {@link java.util.LinkedList}源码 写了一个简单的实现,方便理解设计流程 * 该类是线程不安全的 */ public class FrameLinkedList<E> { private Node<E> first; private Node<E> last; private int size; public i…
该系列文章是笔者在学习 Spring Boot 过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring Boot 源码分析 GitHub 地址 进行阅读 Spring Boot 版本:2.2.x 最好对 Spring 源码有一定的了解,可以先查看我的 <死磕 Spring 之 IoC 篇 - 文章导读> 系列文章 如果该篇内容对您有帮助,麻烦点击一下"推荐",也可以关注博主,感激不尽~ 该系列其他文章请查看:<精尽 Spring B…
http://vinoyang.com/ http://wuchong.me Apache Flink源码解析之stream-source https://yq.aliyun.com/articles/259154 Flink - watermark https://yq.aliyun.com/articles/73191 http://wuchong.me/blog/2016/05/04/flink-internal-how-to-build-streamgraph/ http://vinoy…
这几天仔细研究下关于ArrayList容器的jdk源码,感觉收获颇多,以前自己只知道用它,但它里面具体是怎样实现的就完全不清楚了.于是自己尝试模拟写下java的ArrayList容器,简单了实现的ArrayList类中几个方法,当然这仅仅只是加深对容器的理解,因此希望我的分享也能够给大家带来帮助. 一.AyyayList到底是什么? 其实ArrayList就是一个java中的一个类而已,说起来没什么复杂的,好,既然是类,是不是就有成员属性和成员方法.点击查看ArrayList的outline,来…
之前一直认为workerman源码理解起很复杂,这段时间花了3个下午研究,其实只要理解 php如何守护化进程.信号.多进程.libevent扩展使用,对于如何实现就比较轻松了. 相关代码都在github地址里,具体注释都有. 守护化进程:http://www.cnblogs.com/loveyouyou616/p/7867132.htmlhttp://www.cnblogs.com/loveyouyou616/p/8881531.htmlhttps://github.com/zhaocong22…
参考资料:Go 1.5 源码剖析 (书签版).pdf 编写go语言test.go package main import ( "fmt" ) func main(){ fmt.Println("Hello World") } 带调试的编译代码 go build -gcflags "-N -l" -o test test.go 使用gdb进行调试 输入info files 查看入口点, 对于同一个程序来说 每一次运行的入口点是一样的,表明这是一个将…