我的知识结构(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
- invokevirtual
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
- 待续
- util.HashMap
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
- Memory using "malloc, realloc, free"