阿里云第一届PolarDB数据库性能大赛Java排名第一分享
参加天池大赛-阿里云第一届PolarDB数据库性能大赛,比赛以NVME Optane SSD为背景,在此之上开发单机存储引擎比拼性能,支持C++和Java语言。我的完赛成绩是Java语言排名第一,总排名20(共1653人参赛,队伍名称:neoremind),与C++第一差距在2.1%(<9s)。众所周知,类似的系统如果想榨干硬件,那么越贴近底层越好,Java存在一些天然的劣势,但是作为这么多年的资深JAVAer,还是想挑战一把。
消息队列技术点梳理(思维导图版)
Nesto – Hulu用户分析平台的OLAP引擎
本文主要介绍Hulu用户分析平台使用的OLAP引擎——Nesto(Nested Store),是一个提供近实时数据导入,嵌套结构、TB级数据量、秒级查询延迟的分布式OLAP解决方案,包括一个交互式查询引擎和数据处理基础设施。
1. 项目背景
使用火焰图做性能分析
系统性能的评估维度可能很多,包括应用的吞吐量、响应时间、任务完成时间和资源利用率等。但是这些指标(metrics)仅仅是表象,一旦发现异常,如何从代码级别定位性能问题才是解决问题的关键,本文介绍了一种使用火焰图(Flame Graph)来做性能分析的方法,在实战中具备很高的可操作性和快速pinpoint问题的能力。
下面按照1. 发现问题,2. 分析问题,3. 解决问题三个章节展开,最后是4. Lesson Learned。
1. 发现问题
最近公司完成大数据集群的迁移,应用大多是Spark开发的,但是仍然存在一个老的每日运行的Hadoop任务突然发现指标异常,主要体现在[……]
浅谈从Google Mesa到百度PALO
1. Mesa
JAVA并发编程实战笔记
第二次认真读了Doug Lea的Java Concurrency In Practice这本大作,记录笔记在此链接。
Easy-mapper – 一个灵活可扩展的高性能Bean mapping类库
1 背景

ElementConf ef = new ElementConf(); ef.setTplConfId(tplConfModel.getTplConfIdKey()); ef.setTemplateId(tplConfModel.getTemplateId[......] |
从JVM说起到初探Scala应用实践
最近在公司组内分享了一次关于JVM、Scala以及Spark介绍性质浅析的议题,这种形式的分享可以鞭策自己主动、自驱的完成一些既定目标,还能和有经验的人士一起交流,共享与学习是每一个做技术的同胞都应该拥抱的价值观。
PPT见连接,请点此。
大塞车游戏活动的算法解
最近在公司组织的培训上,遇到了一个很有意思的算法题,这篇文章就借这个为题提供一个解。
Flume+Kafka收集Docker容器内分布式日志应用实践
1 背景和问题
使用Scala开发一个DSL来做远程调用
问题背景
如何快速的来进行远程RPC调用,来进行测试、排查问题?
.png)
Java的业务逻辑验证框架fluent-validator
1 背景
在互联网行业中,基于Java开发的业务类系统,不管是服务端还是客户端,业务逻辑代码的更新往往是非常频繁的,这源于功能的快速迭代特性。在一般公司内部,特别是使用Java web技术构建的平台中,不管是基于模块化还是服务化的,业务逻辑都会相对复杂。
这些系统之间、系统内部往往存在大量的API接口,这些接口一般都需要对入参(输入参数的简称)做校验,以保证:
1) 核心业务逻辑能够顺利按照预期执行。
2) 数据能够正常存取。
3) 数据安全性。包括符合约束以及限制,有访问权限控制以及不出现SQL注入等问题。
开发人员在维护核心业务逻辑的同时,还需要为输入做严格的校验。当输入不合法[……]
基于Protobuf的分布式高性能RPC框架——Navi-Pbrpc
1 简介
Navi-pbrpc框架是一个高性能的远程调用RPC框架,使用netty4技术提供非阻塞、异步、全双工的信道,使用protobuf作为序列化协议,同时提供长、短连接模式,支持non-blocking和传统的blocking io,以及负载均衡,容错处理策略等,对于基于socket的分布式调用提供通信基础。
如果你的项目中需要高性能的RPC解决方案,那么navi-pbrpc可以帮助到你构建一个强大的远程调用系统。
Navi-pbrpc使用netty nio开发,全双工、异步、非阻塞的通信模型,保证了高性能和理想的QPS,了解详细性能测试报告见附录性能测试。
单测覆盖率见附录。
[……]
SpringMVC源码分析和一些常用最佳实践
前言
本文分两部分,第一部分剖析SpringMVC的源代码,看看一个请求响应是如何处理,第二部分主要介绍一些使用中的最佳实践,这些best practices有些比较common,有些比较tricky,旨在展示一个框架的活力以及一些能在日常项目中能够应用的技巧,这些技巧的线索都可以在第一部分的代码剖析中找到,所以读读源代码对于使用好任何框架都是非常有帮助的,正所谓“知其然,还要知其所以然”。[……]
从无重复大数组找TOP N元素的最优解说起
有一类面试题,既可以考察工程师算法、也可以兼顾实践应用、甚至创新思维,这些题目便是好的题目,有区分度表现为可以有一般解,也可以有最优解。最近就发现了一个这样的好题目,拿出来晒一晒。
1 题目
原文:
There is an array of 10000000 different int numbers. Find out its largest 100 elements. The implementation should be optimized for executing speed.
翻译:
有一个长度为1000万的int数组,各元素互不重复。如何以最快的速度找出其中最大的10[……]