随笔分类 - 15.Java/Scala
摘要:
日常开发中,会遇到一些特定的排序场景:“待排序的值”范围很明细,比如:基金的星级排名,客服的好评星级排名,一般星级排名也就从1星到5星。这种情况下,有一个经典的“下标计数排序法”,可以用O(n)的时间复杂度完成排序: static void sort1(int[] arr) { if (arr ==
阅读全文
日常开发中,会遇到一些特定的排序场景:“待排序的值”范围很明细,比如:基金的星级排名,客服的好评星级排名,一般星级排名也就从1星到5星。这种情况下,有一个经典的“下标计数排序法”,可以用O(n)的时间复杂度完成排序: static void sort1(int[] arr) { if (arr ==
阅读全文
摘要:
一、origiante时指定主叫号码 正常情况下,如果在freeswitch控制台,输入类似下面 命令: originate user/1000 &park 被叫收到振铃提示时,显示的号码类似下面这样 如果希望指定主叫的显示名称及号码,可以加参数: originate {origination_ca
阅读全文
一、origiante时指定主叫号码 正常情况下,如果在freeswitch控制台,输入类似下面 命令: originate user/1000 &park 被叫收到振铃提示时,显示的号码类似下面这样 如果希望指定主叫的显示名称及号码,可以加参数: originate {origination_ca
阅读全文
摘要:
flink的api,提供了流畅的链式编程写法,写起来行云流水,感受一下: SingleOutputStreamOperator<Tuple3<String, Integer, String>> counts = env //设置并行度1,方便观察输出 .setParallelism(1) //添加k
阅读全文
flink的api,提供了流畅的链式编程写法,写起来行云流水,感受一下: SingleOutputStreamOperator<Tuple3<String, Integer, String>> counts = env //设置并行度1,方便观察输出 .setParallelism(1) //添加k
阅读全文
摘要:
虽然freeswitch已经内置了一些标识的事件,比如:CHANNEL_CREATE(发起呼叫时触发),CHANNEL_HANGUP_COMPLETE(电话挂断时触发)...,但是有时候我们想根据业务需求,新增一些自定义的事件,比如:客人进线后,如果分配到了一个空闲的客服,希望触发一个特定的事件。
阅读全文
虽然freeswitch已经内置了一些标识的事件,比如:CHANNEL_CREATE(发起呼叫时触发),CHANNEL_HANGUP_COMPLETE(电话挂断时触发)...,但是有时候我们想根据业务需求,新增一些自定义的事件,比如:客人进线后,如果分配到了一个空闲的客服,希望触发一个特定的事件。
阅读全文
摘要:
接上节继续,今天学习Flink中状态的使用。数据处理的过程中,对当前数据的处理,有时候要依赖前一条数据的值,这种被称为“有状态”的计算。 举个例子:有这么一个公司,喜欢用内部沟通软件(类似企业微信)来做员工考勤,假设这个软件会定时上报每个员工的在线状态,如果在线(online),认为员工在上班,如果
阅读全文
接上节继续,今天学习Flink中状态的使用。数据处理的过程中,对当前数据的处理,有时候要依赖前一条数据的值,这种被称为“有状态”的计算。 举个例子:有这么一个公司,喜欢用内部沟通软件(类似企业微信)来做员工考勤,假设这个软件会定时上报每个员工的在线状态,如果在线(online),认为员工在上班,如果
阅读全文
摘要:
接上节继续,通常在做数据分析时需要指定时间范围,比如:"每天凌晨1点统计前一天的订单量" 或者 "每个整点统计前24小时的总发货量"。这个统计时间段,就称为统计窗口。Flink中支持多种Window统计,今天介绍二种常见的窗口:TumbingWindow及SlidingWindow。 如上图,最下面
阅读全文
接上节继续,通常在做数据分析时需要指定时间范围,比如:"每天凌晨1点统计前一天的订单量" 或者 "每个整点统计前24小时的总发货量"。这个统计时间段,就称为统计窗口。Flink中支持多种Window统计,今天介绍二种常见的窗口:TumbingWindow及SlidingWindow。 如上图,最下面
阅读全文
摘要:
一、flink处理的主要过程 从上一节wordcount的示例可以看到,flink的处理过程分为下面3个步骤: 1.1 、添加数据源addSource,这里的数据源可以是文件,网络数据流,MQ,Mysql... 1.2、数据转换(或者称为数据处理),比如wordcount里的处理过程,就是把一行文本
阅读全文
一、flink处理的主要过程 从上一节wordcount的示例可以看到,flink的处理过程分为下面3个步骤: 1.1 、添加数据源addSource,这里的数据源可以是文件,网络数据流,MQ,Mysql... 1.2、数据转换(或者称为数据处理),比如wordcount里的处理过程,就是把一行文本
阅读全文
摘要:
一、pom依赖 1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
阅读全文
一、pom依赖 1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
阅读全文
摘要:
继续学习prometheus,上一节演示了用http方式使用curl向pushgateway发送数据,本节将研究如何利用client jar包,以java代码的方式写入数据。 一、依赖的jar包 1 <dependency> 2 <groupId>io.prometheus</groupId> 3
阅读全文
继续学习prometheus,上一节演示了用http方式使用curl向pushgateway发送数据,本节将研究如何利用client jar包,以java代码的方式写入数据。 一、依赖的jar包 1 <dependency> 2 <groupId>io.prometheus</groupId> 3
阅读全文
摘要:
单元测试是保证项目代码质量的有力武器,但是有些业务场景,依赖的第三方没有测试环境,这时候该怎么做Unit Test呢,总不能直接生产环境硬来吧? 可以借助一些mock测试工具来解决这个难题(比如下面要讲的mockito),废话不多说,直奔主题: 一、准备示例Demo 假设有一个订单系统,用户可以创建
阅读全文
单元测试是保证项目代码质量的有力武器,但是有些业务场景,依赖的第三方没有测试环境,这时候该怎么做Unit Test呢,总不能直接生产环境硬来吧? 可以借助一些mock测试工具来解决这个难题(比如下面要讲的mockito),废话不多说,直奔主题: 一、准备示例Demo 假设有一个订单系统,用户可以创建
阅读全文
摘要:
阅读全文
阅读全文
摘要:
阅读全文
阅读全文
摘要:
这是日常工程中,经常会遇到的场景,拿到2个list,里面有重复元素,要求去重合并最终排序输出。 题目:2个数组,比如[1,1,6,8] , [6,8,9,1,10,4],要求合并去重并排序,即最终变成[1,4,6,8,9,10] 思路1 :TreeSet 实际java工程中,最直观的想法,就是利用现
阅读全文
这是日常工程中,经常会遇到的场景,拿到2个list,里面有重复元素,要求去重合并最终排序输出。 题目:2个数组,比如[1,1,6,8] , [6,8,9,1,10,4],要求合并去重并排序,即最终变成[1,4,6,8,9,10] 思路1 :TreeSet 实际java工程中,最直观的想法,就是利用现
阅读全文
摘要:
要求:给定1个字符串,比如ababc,要求找出“第1个最长的不重复子串”,即:"abc" 思路:遍历每个字符,寻找以它开头的不重复子串,遍历过程中,可以用一个Set作为缓冲区,存放曾经处理过的起始字符串。 过程: (a)babc -> 子串为a (ab)abc -> 子串为ab (ab)abc ->
阅读全文
要求:给定1个字符串,比如ababc,要求找出“第1个最长的不重复子串”,即:"abc" 思路:遍历每个字符,寻找以它开头的不重复子串,遍历过程中,可以用一个Set作为缓冲区,存放曾经处理过的起始字符串。 过程: (a)babc -> 子串为a (ab)abc -> 子串为ab (ab)abc ->
阅读全文
摘要:
要求: 删除有序数组(或有序单链表)中的重复项。 示例: 输入[1,1,2,2,3] 输出[1,2,3] 输入a->b->b->c->c 输入a->b->c 思路: 双指针,慢指针从第1个有效元素开始,快指针从第2个有效元素开始,快指针对应的元素与慢指针对应的元素比较,如果发现相同,说明有重复,快指
阅读全文
要求: 删除有序数组(或有序单链表)中的重复项。 示例: 输入[1,1,2,2,3] 输出[1,2,3] 输入a->b->b->c->c 输入a->b->c 思路: 双指针,慢指针从第1个有效元素开始,快指针从第2个有效元素开始,快指针对应的元素与慢指针对应的元素比较,如果发现相同,说明有重复,快指
阅读全文
浙公网安备 33010602011771号