HotSpot VM High Level Architecture
JVM 有三個主要元件:
- VM Runtime
- JIT Compiler
- Memory manager
傳統上瀑布式開發(Analysis > Design > Code > Test)會在測試階段進行效能測式,當效能結果不符合要求,調整代價可能很高,因此在擬定需求時就需要將效能指標定義出來,由需求驅動開發過程中各階段的效能測試
- 期望的throughput為多少?
- 期望latency為多少?
- 要能負載多少的 concurrent users 或者 concurrent tasks?
- 在最大數量的 concurrent users 或者 concurrent tasks負載下,可接受的latency 或者throughput為多少?
- 最糟糕狀況下可接受的latency為多少?
假設某些use case可能造成高度的效能風險,那應該在Analysis階段之前製作prototype驗證效能的可行性
- garbage collection 引入的延遲否容許?