sxiaobei的博客

程序员的修炼

Flink 基本工作原理

      Flink是新的stream计算引擎,用java实现。既可以处理stream data也可以处理batch data,可以同时兼顾Spark以及Spark streaming的功能,与Spark不同的是,Flink本质上只有stream的概念,batch被认为是special stre...

2018-06-30 18:11:43

阅读数 4400

评论数 2

Flink之Watermark实践

我们知道实时计算中,数据时间比较敏感,有eventTime和processTime区分,一般来说eventTime是从原始的消息中提取过来的,processTime是Flink自己提供的,Flink中一个亮点就是可以基于eventTime计算,这个功能很有用,因为实时数据可能会经过比较长的链路,多...

2018-07-21 21:24:17

阅读数 1177

评论数 3

Druid和ES查询结果通用解析方法

做数据的同学相信大家对Druid和Es都不陌生,Druid可以说是一款基于时序的查询引擎,支持数据实时摄入,在数据摄入前指定维度和指标,提供基于时间层面的预聚合,Druid会把一个数据点当做一个实际发生的事实,在数据摄入后就不能修改。常被应用于一些实时的场景,比如对数据实时分时间段分组聚合。ES同...

2018-07-13 20:28:51

阅读数 1453

评论数 0

Yarn资源调度工作原理

由于Yarn良好的兼容性和扩展性,目前可以支持大部分数据引擎,所以了解Yarn的资源调度原理很有必要,Yarn主要由四个重要角色组成:ResourceManager:顾名思义资源管理器,主要负责资源管理和调度,ResourceManager主要由两个组件构成:ApplicationManager,...

2018-07-01 19:13:00

阅读数 1674

评论数 0

简单实时计算方案(kafka+flink+druid/es)

    最近在从事实时方面的工作,主要涉及到数据处理、加工及可视化,在采坑的过程中总结出一套比较简单的实时计算方案,供大家参考。主要涉及到几个组件,kafka,flink,redis,druid和es。相信大家对以上几个组件都比较熟悉了,这里就不细说了。我们从一个简单的需求,来说明各个组件是怎么协...

2018-06-24 02:18:42

阅读数 3947

评论数 8

Spark核心数据模型RDD及操作

如今spark特别火,相信作为程序员的你也难以抵挡spark的魅力,俗话说万事开头难,学习spark需要一些准备工作,首先就是要搭建学习测试环境,spark非常人性化,一个简单的测试环境,只需要下载安装包,解压之后,运行spark_shell脚本就可以学习测试了,spark测试的经典页面如下图: ...

2017-12-17 22:59:34

阅读数 568

评论数 0

分布式如何实现session共享

最近,在工作中遇到一个问题,问题描述:一个用户在登录成功以后会把用户信息存储在session当中,这时session所在服务器为server1,那么用户在session失效之前如果再次使用app,那么可能会被路由到server2,这时问题来了,server没有该用户的session,所以需要用户重...

2017-02-25 21:40:22

阅读数 45417

评论数 5

Spring AOP 介绍与应用

Spring的AOP想必大家都是比较清楚的,从spring 3.x版本出现之后,AOP的概念更加清晰,使用也更加方便。我看过很多书,讲解spring的aop,里面都有太多的概念,看到最后,还是不懂,有些云里雾里的,但是在使用了这么长时间以来,我觉得有些书上讲的太过繁琐了,或者说一下讲的太深入,太抽...

2016-11-20 18:34:16

阅读数 1831

评论数 0

React+Reflux 实现组件间通信

写这篇文章,不是把官方的例子或者github的例子给大家敲一遍,而是想把自己学习遇到的问题,重点突出,让大家少走弯路。同时也方便自己日后温习使用。

2016-11-13 11:35:50

阅读数 2469

评论数 0

websocket+webrtc+tomcat 实现视频监考功能

client <!-- --> function onOpen(event) { document.getElementById('messages').innerHTML = 'Connection e...

2015-08-26 01:03:09

阅读数 4366

评论数 4

悲观锁和乐观锁

前几天有人问了我一个问题,说如果数据库某些操作不用事务,那么又需要保持数据的一致性,那么该用什么方法替代事务。我就想到了悲观锁和乐观锁的思想,下面我解释一下在数据库中的悲观锁和乐观锁         1.悲观锁就是把数据库的一些操作,放在事务当中,依赖数据库的隔离级别,实现对数据修改的封锁,这样...

2015-08-24 02:27:49

阅读数 1026

评论数 0

母函数法解决整数划分

问题描述:把一个整数n划分成1到n的划分,例如3可以划分为1+1+1,1+2,3这三种划分,那么求n的划分数。 解题思路:     可以把1,设为x的0次方:x^0     把1,设为x的1次方:x^1     .......把n,设为是x的n次方:x^n     那么1可能出现...

2015-08-23 00:22:00

阅读数 2133

评论数 0

求一个数组的最大k个数(java)

问题描述:求一个数组的最大k个数,如,{1,5,8,9,11,2,3}的最大三个数应该是,8,9,11 问题分析:     1.解法一:最直观的做法是将数组从大到小排序,然后选出其中最大的K个数,但是这样的解法,复杂度是O(logn*n),但是有时候并不需要排序,用简单的选择排序,或者是冒泡排...

2015-08-18 16:57:32

阅读数 3583

评论数 0

字符串的全排列(java)

差不多半个月没写博客了,今天再写一篇。        字符串全排列相信大家都不陌生,对于我来说真的是写了又忘,忘了又写,所以决定写成一篇博客,废话不多说下面我来分析问题: 问题描述:给定一个字符串写出它的全排列,例如ab,全排列是ab,ba,而abc的全排列abc,acb,bac,bca,ca...

2015-08-09 15:25:41

阅读数 2308

评论数 0

java NIO原理和应用

之前做的一个项目,先开始用的是BIO(即阻塞式IO),然后因为一些性能问题,然后用NIO(即非阻塞式IO)替换了BIO。 我们先说说BIO有什么缺点为什么要使用NIO: 以java中TCP为例来讲解: 我们知道,在客户端java调用connect方法会阻塞,调用read的时候也会阻塞也就是读...

2015-07-22 18:09:20

阅读数 777

评论数 0

动态代理工具类

我刚刚想着每次写动态代理的时候都会写很多的代码,有点不值得,所以我写了一个实现动态代理的工具类,用户可以用JDK动态代理也可以使用CGLIB动态代理,我的ProxyUtils中提供了三种开发动态代理的方式,在实际用的过程中,可以继承Intercepter这个抽象类实现在逻辑代码前后添加控制代码,如...

2015-07-21 02:02:08

阅读数 577

评论数 0

TCP连接的TIME-WAIT状态

TIME-WAIT状态是TCP的11个状态其中之一,是发生在正常关闭TCP连接的时候发生的。如下图所示: 在这幅图中我们可以明显看出,流程是这样的,显示主动发送一个FIN报文,然后接收到一个ACK报文,这样这一方的连接已经关闭,也就是不能再发送数据了,进入FIN_WAIT2状态,这个状态就是...

2015-07-20 13:27:35

阅读数 912

评论数 0

jdk动态代理(动态生成字节码与反射机制的结合)

jdk动态代理

2015-07-17 00:43:13

阅读数 3995

评论数 0

java与c++内存泄露的问题

java中内存泄露的隐蔽性

2015-07-15 21:35:26

阅读数 1045

评论数 0

关于一个数组中两个数的和等于给定数的问题

今天我遇到这样一个问题,问题描述如下:         给出一个数组,再给定一个数target,如果数组中有两个数的和等于target,那么返回这两个数的索引,如果说有多对数都符合条件则返回第一对,返回的结果用一个长度为2的数组保存,并且返回的数组按升序排列:         如:[2,7,1...

2015-07-14 21:30:20

阅读数 4271

评论数 1

提示
确定要删除当前文章?
取消 删除
关闭
关闭