
基础
yians
这个作者很懒,什么都没留下…
展开
-
记Flink开发中的两次OOM
记Flink开发中的两次OOM在开发Flink程序中,遇到了两次OOM的处理,挺有代表性的,其中第二次的难度很高,需要对Java虚拟机有很深入的理解。1 第一次第一次问题不是很复杂,我们业务使用RabblitMQ作为数据源,当数据积压时,任务在启动就会导致TaskManager出现OOM的错误。错误现象:An exception occurred processing Appender DefaultConsole-3 org.apache.logging.log4j.core.appender.原创 2022-04-19 23:31:54 · 2886 阅读 · 1 评论 -
无符号整数的文法
为了学ANTLR,去看B站哈工大的编译原理(以前竟然没有学过编译原理,汗!),里面有一个习题,写出无符号整数的文法,网上看了一些,都不对,自己写了一个:S -> DT | D | 0T -> TD | T0 | D | 0D -> 1 | 2 | ... | 9一种更紧凑的表达:S -> 0 | D(D∪0)*D -> 1|2|3...|9其中:∪和*都是集合运算符。...原创 2022-02-13 23:46:21 · 1551 阅读 · 5 评论 -
【转】30张图带你彻底理解红黑树
原文:30张图带你彻底理解红黑树 - 简书正在按照这篇文件用scala实现一遍红黑树,现在把插入实现了,删除进行中。。。转载 2021-10-28 00:22:13 · 213 阅读 · 0 评论 -
理解`(ds|hr)?+.+`
在hive/spark sql可以支持对列名进行正则匹配,其中给出这样一个例子: SELECT `(ds|hr)?+.+` FROM sales 这个查询会查找除了ds和hr之外的所有列。这个正则实在是太过少见,查阅了很多资料才理解了。首先要正确拆分(ds|hr)?+.+,(ds|hr)?+是一段,后面.+是第二段。这里面难点在于(ds|hr)?+的意义,子匹配(也就是括号)后面跟了两个量词?+,这是特殊用法,按照一般的量词意义是无法理解的,这个用法就是占有优先量词。正则的量词包括原创 2021-10-12 01:42:55 · 2597 阅读 · 0 评论 -
idea配置tomcat启动web应用
现状都是spring走天下,今天碰到了要给老项目,需要idea配置tomcat启动。网上的教程不在赘述,这里在启动中遇到一个问题,默认的启动路径为下划线连接符,比如hello-world项目在启动时会变成hello_world,碰巧老项目里面的路径是带项目名称的,所以里面的链接打不开,这时候,要修改的是tomcat配置页面Deployment的Application context项目,修改成项目名称就好了。我使用的版本是idea2021.3,不注意还看不出来,在这个位置:...原创 2021-10-08 15:11:10 · 655 阅读 · 0 评论 -
一次闹心的U盘安装centos6经历
家里的一台旧电脑准备装个centos6系统,加入自己主电脑的虚拟机集群,本以为一件简单不过的事情,毕竟在virtualbox里面转centos6已经几十遍了。下好centos6.4的镜像,拿出U盘,下好ultraiso,开始写入镜像。坑接踵而至的来了:坑1:ultraiso烧录提升:磁盘或映像文件过小U盘是32G的,镜像才300多M(mini版),不可能装不上,网上说是ultraiso重装,好吧,重装解决。坑2:缺少iso9660开始看到这个错误,以为是mini版的问题,去下了个dvd版原创 2021-10-03 14:17:51 · 524 阅读 · 0 评论 -
order by的执行时机
假设有这么一个需求,要根据用户点击表,统计每个用户从多到少的点击链接、点击链接次数和依据次数的排序序号。表数据如下:id user_id uri1 1 /2 1 /index3 2 /4 1 /5 2 /6 2 /index7 1 /index8 3 /index9 2 /get10 1 /get...原创 2021-09-22 17:10:41 · 560 阅读 · 0 评论 -
正则表达式的匹配理解
这样一个^.+apis/{2}(.*)$,匹配的是什么?关键在于中间{2}的理解,{2}表示出现2次,那么是对于api/来说还是只是/,可以通过https://c.runoob.com/front-end/854/来测试:所以是针对前面一个字符,那么要匹配api/呢?将其括起就好了。^.+(apis/){2}(.*)$,测试结果如下:...原创 2021-09-09 16:15:02 · 129 阅读 · 0 评论