我的知识结构(20190927)

我的知识结构

今天面试,感受颇多。
发现自己已经习惯把记不得当作借口,趁此机会,整理一下自己的知识体系。

Programming

JVM

JVM Specification

  • Field
    • Field is owned by class who declared it.
    • Resolution: self -> superinterfaces -> superclass
  • Invoke bytecode
    • invokevirtual
      • Compile time method slot
    • invokestatic
    • invokespecial
      • instance initialization methods
      • methods of the current class
      • methods of its supertypes
    • invokeinterface
    • invokedynamic
      • lang.invoke.CallSite

JRE

  • Map
    • util.HashMap
      • 读源码
      • Hash Table
        • Resize for 2× capacity
        • threshold = loadFactor × capacity
      • Linked List Node or Red-Black Tree Node
        • Threshold 8 and 6
        • Using instanceof to divide
    • util.TreeMap
      • Red-Black Tree
    • util.concurrent.ConcurrentHashMap
      • like CopyOnWriteArrayList, using CAS
      • Use #transferIndex as optimistic lock
      • Linked List Node or Red-Black Tree Node
        • Threshold 8 and 6
        • Using ~.Node#hash to divide
      • Forwarding Node and Reservation Node
        • 待续

Hotspot VM

  • 内存布局
    • Memory using "malloc, realloc, free"
      • Unsafe ability
      • Manual memory management
      • Using for IO
    • 以下内容待验证
      • MetaSpace
      • Heap
        • Old Generation
        • Young Generation
          • Eden Space
          • Suvrvivor1/2

posted on 2019-09-27 22:42  秃头秃  阅读(126)  评论(0编辑  收藏  举报