Bao Jie's Blog

鲍捷的博客

知乎答题王知识整理(持续整理中)

1. 文科 1.1 语文 1.1.1 诗词 1.1.1.1 李白 将进酒 望...

Java8中HashMap的优化

1. Java8之前的HashMap Java8 之前的HashMap,基于一个数组以及多个链表的实现,hash值冲突的时候,就将对应节点以链表的形式存储。在hashcode特别差的情况下,比如说所有的Key的hashcode都相同,这个链表可能会很长,那么put/get操作都可能要遍历这个...

Java8函数式设计思想示例——拼接用户名

1. 场景描述 有这么一种常用的场景:比如从数据库中查询出订单信息,信息中只包含创建订单的用户ID,没有用户名,但前端界面需要展示出用户名,那么就要去用户服务那边根据用户ID拼接用户名,一般代码如下: public void fillUserName(List<Order> o...

Java的业务逻辑函数式验证框架functional-validator

1 背景 functional-validator是具有函数式风格的业务逻辑验证框架,它的创作灵感来自于fluent-validator,大家在阅读本文前可以先简单浏览下fluent-validator的中文手册。 首先看一个fluent-validator的例子: try { Res...

关于返回零长度的集合还是null的一点思考

《Effective Java》中第43条建议:返回零长度的数组,而不是null。这一条也是Java编码规范中最常见的法则之一。遵守这条规范的种种好处书中原文已描述的很清楚,此处不再细述。笔者对这条规范也非常忍痛,甚至还一度认为所有返回类型为数组或者集合的方法都没有理由返回null。但最近想到...

再谈大塞车游戏活动(基于neoremind大神博文的思考)

一直没想好第一篇博客写什么,正好闲逛neoremind大神博客时看到一个有意思的问题——大塞车游戏活动的算法解,仔细思考后发现回味很深,我的处女作就借这个为题来聊一聊我的整个解题思路及证明方法,也是对neoremind大神这篇文章的一个补充吧。 1. 问题描述 这里再对问题进行简单的描述,...

关于我

我本科和研究生毕业于同济大学,目前就职于百度——程序化广告部,从事研发工作。关注后端Web技术,大数据技术,广告系统技术等。 我的github地址: Github Baojie. 如何联系我: Mail to Bao Jie