Algorithm
链表问题
- 链表在找不到前一个节点的时候,可以用赋值操作解决问题
- 链表遇到需要找位置进行操作的时候可以使用双指针
二叉树和递归
- Maximum Depth of Binary Tree
- Minimum Depth of Binary Tree
- Invert Binary Tree
Review
Tips/Technology
一、Win10家庭版安装docker
说明: Docker可以支持在mac、windows、linux上安装。但是在windows系统中Docker目前仅有win10专业版和企业版的安装包,win7/win8/win10家庭版需要通过docker toolbox来安装。
下载dockerToolbox:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/
检查BIOS是否开启虚拟机化
安装DockerToolbox
双击 Docker Quickstart Terminal 会自动下载boot2docker环境(如果下载过慢可手动下载放到C:\Users${USER}.docker\machine\cache目录下)
如果需要使用阿里云加速,需要注册阿里云后生成自己的镜像加速器 https://cr.console.aliyun.com/cn-beijing/instances/mirrors
修改docker安装machine的位置 设置MACHINE_STORAGE_PATH环境变量,然后重启docker quickstart
二、Maven打包优化
1、增加跳过测试代码的编译命令-Dmaven.test.skip=true ;
2、增加编译-Dmaven.compile.fork=true 参数,用以指明多线程进行编译;
3、如果你用的Maven是3.×以上版本,可以增加-T 1C 参数,表示每个CPU核心跑一个工程;
完整命令如下
mvn clean package -T 1C -Dmaven.test.skip=true -Dmaven.compile.fork=true
三、Flink中的双流join
- FlinkSQL 对join的支持情况
Apache Flink目前支持INNER JOIN和LEFT OUTER JOIN(SELF 可以转换为普通的INNER和OUTER) 而且必须有强关联 关键字 ON。 - 数据Shuffle和保存
不论是INNER JOIN还是OUTER JOIN 都需要对左右两边的流的数据进行保存,将数据保存到两个State中存储。
LeftEvent到来存储到LState,RightEvent到来的时候存储到RState;
LeftEvent会去RightState进行JOIN,并发出所有JOIN之后的Event到下游;
RightEvent会去LeftState进行JOIN,并发出所有JOIN之后的Event到下游。
四、分布式技术选型 spring cloud 还是 dubbo
选型对比维度:
1)整体解决方案
Dubbo没有自带的配置中心,注册中心基于zookeeper
springcloud自身相对比较完善,有注册中心、配置中心、负载均衡、服务治理
2)底层调用
Dubbo基于rpc,速度快
springcloud基于http,访问相对dubbo慢
3)技术前沿性(趋势)
Dubbo已经比较成熟
springcloud技术相对前缘
4)开发语言及开放度
都是Java,开源
5)社区活跃度
Dubbo官方已没有维护,但基本上能碰到的问题,网上能找到解决方案
springcloud英文的,资料比较少。
Share
Research
docker入门、Flink join 、分布式