java
文章平均质量分 68
码蹄疾
小米广告平台服务端开发。曾求学于哈尔滨工业大学,小米广告平台第3代引擎开发者,擅长java、计算广告、分布式、并发等多个领域。
展开
-
java枚举最佳实践
背景场景是这样的,客户端要发送JSON数据到达服务端解析,由于客户端的不同版本更新,打过来的数据有差异,服务端要兼容这种差异对不同的处理这些数据,因为客户端升级是由用户决定的。思路实现的方式肯定很多种,恰好学到《effective java》中的枚举,枚举可以加一个方法,我们这个场景每一种日志格式就对应于一种解析的方法。public enum LogVersion { OLD(0),NEW(原创 2017-04-16 16:26:48 · 1739 阅读 · 1 评论 -
【面试】说说你常用的linux命令
本文只列出服务端工程师和算法工程师最常用的一些命令,不求全,只求实用。 less命令 对文件或其它输出进行分页显示的工具 这个命令常常和其他命令在一起用. hadoop --cluster xxx fs -cat /user/hadoop/ad/.. | less # 查看hdfs 上的数据 less xxx.log # 线上的日志通常都很大,有时候用vim打开直接就卡死了. ...原创 2018-08-22 19:38:58 · 1793 阅读 · 0 评论 -
【java】CountDownLatch运用场景(1)
作者: 码蹄疾 毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、广告领域相关知识; 基本功能 CountDownLatch也叫闭锁,使得一(多)个主线程必须等待其他线程完成操作后再执行。 使用的方式是:CountDownLatch内部维护一个...原创 2018-08-28 21:45:06 · 478 阅读 · 0 评论 -
【Leetcode】70. 爬楼梯
题目 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例 2: 输入: 3 输出: 3 解释: 有三种方法可以爬到楼顶。 1. 1 阶 + 1 阶 + 1 ...原创 2018-09-16 22:15:53 · 283 阅读 · 0 评论 -
java线程池之Executors
线程池 vs 线程 线程是稀缺资源,如果被无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,合理的使用线程池对线程进行统一分配、调优和监控,有以下好处: 降低资源消耗; 提高响应速度,线程池降低了线程创建和收回的开销; 提高线程的可管理性; Executors框架 要配置一个线程池是比较复杂的,尤其是对于线程池的原理不是很清楚的情况下,很有可能配置的线程池不是较优的。现在我们来思考这么几...原创 2018-11-06 09:54:54 · 568 阅读 · 0 评论