美团基础架构部的软件中心
主要负责容器化( 内核,调度,弹性,镜像,自动化运维)
Java
1. HashMap和ConcurrentHashMap
HashMap是基于拉链式的散列方法,当阈值超过3/4*cap时,就会进行桶的扩容,扩容时如果红黑树的个数小于6则重新变为链表。扩容的时候会拆分成两个链表(要么一致,要么差一个oldCap)
ConcurrentHashMap有一个特别的字段sizeCtl
,不同的值有不同的含义。当为负数时:-1
代表正在初始化,-N代表有N-1
个线程正在 进行扩容;当为0
时:代表当时的table还没有被初始化;当为正数时:表示初始化或者下一次进行扩容的大小。Con在计算size的时候有两个步骤,重复计算三次,不一样的话加锁计算
红黑树的结构
2. Java9+新特性
- JDK9的jshell,接口私有方法,多版本兼容jar,try-with-resourses的改进,创建不可变集合,增强stream API