好文收集(不断更新)

Java基础知识

初始化顺序

Java类初始化顺序
Java向前引用容易出错的地方
Java中的前向引用与类初始化顺序

权限控制

Java 访问权限控制:你真的了解 protected 关键字吗?

枚举

重新认识java(十) —— Enum(枚举类),另外,匿名内部类的一个实例:guava缓存中的移除通知类型:com/google/common/cache/RemovalCause.java
深度分析Java的枚举类型—-枚举的线程安全性及序列化问题
实现Serializable的单例模式

单例

关于java单例的深入思考

EnumSet

Java编程的逻辑 (51) - 剖析EnumSet

HashMap&HashTable

HashMap 源码详细分析(JDK1.8)
HashMap 与HashTable的区别
面试必备:LinkedHashMap源码解析(JDK8)
LRU缓存实现(Java)
jdk1.8 hashMap是如何来维护entrySet的
jdk1.8中HashMap是如何维护EntrySet的

String相关

CharSequence vs. String in Java

泛型

java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一
Java 泛型,你了解类型擦除吗?
Java泛型深入理解
码农翻身-Java帝国之泛型
java泛型 泛型的内部原理:类型擦除以及类型擦除带来的问题

引用

Guidelines for using the Java 2 reference classes(强软弱虚)

bloomFilter

如何使用bloomfilter构建大型Java缓存系统
Bloom Filters by Example(java8 boloomFilter源码文档里面的地址)

单元测试

JUnit高级用法之@RunWith

Java8相关特性

Stream

Java 8 Stream Tutorial
java8 stream流操作的flatMap(流的扁平化)
The Difference Between map() and flatMap()
Java Streams vs C# LINQ vs Java6

lambda

Java 8 动态类型语言Lambda表达式实现原理解析,可以自己写段stream代码,查看lambda是如何执行的
Java Lambda: Method Reference
Java 8 Method Reference: How to Use it

接口default方法

Java 8新特性——default方法(defender方法)介绍

Optional

可选类型Optional对比-java8,guava,kotlin,swift
Java8 如何正确使用 Optional

Functional interface

Java 8函数式接口functional interface的秘密

CompletableFuture

CompletableFuture对象的使用
Java CompletableFuture 详解
从CompletableFuture到异步编程设计
CompletableFuture源码分析

日期时间处理

Java8 日期/时间(Date Time)API指南
Joda-Time 简介,注意它不是JDK中的内容

类型检查

@SuppressWarnings
rawtypes和unchecked

Guava相关

缓存

Guava Cache
Guava缓存-极客学院
Guava Cache 本地缓存组件浅析,涉及到相关设计模式,值得一读
Redis、Memcached、Guava、Ehcache中的算法,扩展知识

缓存

你应该知道的缓存进化史
如何优雅的设计和使用缓存?
附带知识点:
你应该知道的高性能无锁队列Disruptor

其他

Git

Git最佳实践:语义化提交日志

Thrift

Apache Thrift - 可伸缩的跨语言服务开发框架
Thrift源码解析(一)主要类概述
Thrift入门教程

Servlet

Servlet 工作原理解析

RxJava

Introduction to RxJava,注意配合文中给出的github源码看,部分代码实现不同
RxJava 第二篇 - Subject使用及示例

Timing wheel时间轮

Timing Wheel 定时轮算法
惊艳的时间轮定时器, 对应英文论文:11.6 Timing Wheels

编程风格

详解圈复杂度(Cyclomatic Complexity)

发布&部署

持续集成服务 Travis CI 教程

代码管理

Maven 实战(三)——多模块项目的 POM 重构

设计模式

我所理解的设计模式(C++实现)—— “一句话总结”和索引
设计模式(一)简单工厂模式
简单工厂&工厂&抽象工厂

架构

大型网站系统架构的演化

Linux

SED 简明教程

分布式

关于分布式事务、两阶段提交协议、三阶提交协议
深入理解分布式系统的2PC和3PC
分布式一致性算法——paxos

日志

【原创】架构师必备,带你弄清混乱的JAVA日志体系!
Java日志框架那些事儿

注解&Junit

从执行流程分析Junit4源码

算法

树状数组

树状数组彻底入门
树状数组详解

posted @ 2019-03-08 20:21  xiaoxi666  阅读(345)  评论(0编辑  收藏  举报
TOP