The followings are a brief list I’m going to post on this blog.

Java

  • Collections
  • Recent concurrent collections
  • CAS techniques
  • Singleton strategy
  • Concurrent programming(thread-safe techniques), data synchronization,
  • Java monitor (wait, notify, synchronize, monitor, happen-before, interrupt, etc…)
  • Java process monitor (jstack, jmap, jhat, jstat)
  • Hotspot JVM memory management
  • Hotspot JVM GC, especially CMS and G1GC
  • Memory leaks
  • Alternative JVM including OpenJVM…

Large-Scale Distributed System

  • Simple list-up about types of these systems
  • My experience, my approach.

MSA

  • Jersey + Jetty framework (+Redis, of course the data is volatile)
  • Simple API component - based on node.js, task-oriented, heavily depends on Promise.

HBase

  • Things that I’ve done so far. ManyManyManyManyManyMany
  • The principles that I know more/deeper. (Balancer, when RegionServer goes down, …)

Spark

  • Things that I’ve done so far. Not that much.
  • The principles that I know more/deeper.
  • Zeppelin

Spring

  • I haven’t followed Spring for these 4.5 years. My knowledge of Spring is stuck as it was 5 years ago.
  • Need to recall basic concepts and catch up recent (important) features.