海量数据的TOPK问题

1. 抛出问题在大规模数据处理中,经常会遇到的一类问题:在海量数据中找出出现频率最好的前k个数,或者从海量数据中找出最大的前k个数,这类问题通常被称为top K问题。例如,在搜索引擎中,统计搜索最热门的10个查询词;在歌曲库中统计下载最高的前10首歌等。针对top K类问题,通常比较好的方案是分治+
2021年04月21日 1,424次浏览

数据结构之大顶堆小顶堆

这是我当初拍的自己的课本23333,我觉得这部书说堆说的还挺清楚的,恰巧这个数据结构不太常用,列出来备忘
2021年04月21日 1,109次浏览

java线程池并行的几种方法

一.前言本文使用了8种方法实现在多线程中让线程按顺序运行的方法,涉及到多线程中许多常用的方法,不止为了知道如何让线程按顺序运行,更是让读者对多线程的使用有更深刻的了解。使用的方法如下:[1] 使用线程的join方法二.实现我们下面需要完成这样一个应用场景:1.早上;2.测试人员、产品经理、开发人员陆
2021年04月07日 847次浏览

mac风扇狂转解决方案

MacBook Pro最近升级了macOS10.15,经常性的CPU温度很高,而且不知道原因,风扇一直在高速转动,散热。即使是盖上盖子也一样。去了西湖Apple直营店,检测也没问题。但是现象确实还存在。被这个风扇的声音烦的要死,但是一直没下定决心去解决掉,总是拖着,今天实在是忍无可忍,决定要好好查查
2021年04月02日 2,791次浏览

java之枚举的最佳实践

背景场景是这样的,客户端要发送JSON数据到达服务端解析,由于客户端的不同版本更新,打过来的数据有差异,服务端要兼容这种差异对不同的处理这些数据,因为客户端升级是由用户决定的。思路实现的方式肯定很多种,恰好学到《effective java》中的枚举,枚举可以加一个方法,我们这个场景每一种日志格式就
2021年03月31日 1,065次浏览

firewalld防火墙命令

1、firewalld的基本使用启动: systemctl start firewalld查看状态: systemctl status firewalld禁用,禁止开机启动: systemctl disable firewalld停止运行: systemctl stop firewalld2.配置f
2021年03月08日 954次浏览

Typora快捷键整合

Typora快捷键整合Ctrl+1 一阶标题 Ctrl+B 字体加粗Ctrl+2 二阶标题 Ctrl+I 字体倾斜Ctrl+3 三阶标题 Ctrl+U 下划线Ctrl+4 四阶标题 Ctrl+Home 返回Typora顶部Ctrl+5 五阶标题 Ct
2021年02月27日 947次浏览

分布式事务之2PC

两阶段提交(2PC) 是 Oracle Tuxedo 系统提出的 XA 分布式事务协议的其中一种实现方式。一、关于 XA 分布式事务协议XA 分布式协议主要有两个角色:事务管理器(协调者)事务管理器作为全局事务的协调管理者,与每个资源管理器通信,完成分布式事务的管理。资源管理器 (参与者)资源管理器
2021年02月25日 903次浏览

java之幂等性思考

一、什么是幂等?看一下维基百科怎么说的:幂等性: 多次调用方法或者接口不会改变业务状态,可以保证重复调用的结果和单次调用的结果一致。二、使用幂等的场景1、前端重复提交用户注册,用户创建商品等操作,前端都会提交一些数据给后台服务,后台需要根据用户提交的数据在数据库中创建记录。如果用户不小心多点了几次,
2021年01月27日 835次浏览

dubbo之统一异常处理

难点利用AOP集中处理,将目标包,进行包裹处理,将异常try捕获之后,做统一结果集封装对于,用事务的方法,需单拎出来处理,由于事务只会对RunTimeException生效,Exception不对事务生效,需将异常捕获,转化为RunTimeException来触发事务回滚例子/** * 服务层异常处
2021年01月20日 1,133次浏览