Java Collections Framework: Overview

Java Collections Framework 自JDK 1.2之后被引入。Collections Framework 在为对集合(Collections)对象的操提供了统一框架的同时, 允许集合对象的具体的操作方式与其表现形式独立(隐藏了底层的实现方式, 对编程者透明)。 其设主要计目标是在提供尽量少的API数量的同时, 能够为程序员提供“概念层面”的语意操作。

阅读全文

布尔表达式检索学习笔记

大量中小广告主参与的竞价广告市场中, 复杂的定向条件对检索技术提出了新的要求。倒排索引是搜索引擎的关键技术, 而广告检索上也采用这样的框架。但是广告的检索问题也有一些自身的特点和需求,这里参考相关资料对布尔表达式检索原理和过程做简要梳理。

阅读全文

浅谈线程状态转换

Linux操作系统环境下,Java线程和操作系统内核线程是一一对应的。 本文首先梳理操作系统线程模型基础知识, 进而给出Linux环境下Java线程与操作系统轻量级进程之间对应关系, 最后对Java线程状态转换以及其与Linux操作系统线程状态的对应关系进行简要总结。

阅读全文

Java 字符串底层细节梳理

类图

成员变量

1
2
3
4
5
6
7
8
9
10
11
/** 
* The value is used for character storage.
* 存储character 的字节数组, final
*/
private final char value[];

/**
* Cache the hash code for the string
* 缓存字符串的Hash值, 提升代码运行效率
*/
private int hash; // Default to 0

阅读全文

Java parseInt 实现小结

Java parseInt方法实现是比较优雅的, 充分考虑了计算过程中可能出现的边界条件, 并通过负数相减的方式有效的避免了转换过程中出现溢出的情况。

阅读全文

基本二叉树遍历

基本二叉树遍历。

阅读全文

几种排序算法的基本实现

几种基本排序算法的Java实现。

阅读全文

18年小结

18年已过, 有收获, 有遗憾。

阅读全文

apache thrift 学习笔记: thrift client小结

在梳理了Thrift Server端实现逻辑的基础上, 这里总结一下Thrift Client端代码逻辑。 Thrift Client 有同步和异步两种, 两种客户端分别对应各自的使用场景。

阅读全文

apache spark: 内存分配

简要总结Spark 在Yarn集群环境下的内存管理和分配, 这里先在原理上做简要梳理, 进一步切入源码层面给出Spark 内存管理类图逻辑, 继而给给出一些常用的Spark内存方案。

阅读全文