輕量級重量級

2021-06-03 02:43:34 字數 477 閱讀 3984

輕量級重量級某種程度上是以啟動程式需要的資源來決定。比如,ejb啟動的時候,需要消耗大量的資源,記憶體,cpu等,所以是重量級。而spring則不,所以是輕量級框架。 

量級主要是看對容器的依賴性所決定的,依賴性越小,越輕量. 

ejb往往內部做了很多服務,網上的說法是買一得三 而且你不想要就不行! 

比方說我只想要使用ejb中的乙個簡單的物件管理服務,但是ejb中大量封裝了很多其他服務 jms等 在啟動上和伺服器的消耗上都會消耗很大的資源。 

服務之間都有相互的依賴性。 

在這裡我舉個簡單的例子吧! 

有時候我只喜歡吃蘋果 但是別人卻買了乙個水果籃 其中什麼水果都有!看似很豐富 但是比起蘋果來說它就顯得貴重多了! 

但是我想水果籃中如果只存在蘋果 那麼它就不叫水果籃了!其中的水果品種存在依賴關係!缺一不可!你不能只買水果籃中的乙個蘋果! 

而輕量級和重量級也無非就是類似的道理!大家可以體會一下!將其變為自己的認知! 

偏向鎖 輕量級鎖 重量級鎖

首先簡單說下先偏向鎖 輕量級鎖 重量級鎖三者各自的應用場景 偏向鎖 只有乙個執行緒進入臨界區 輕量級鎖 多個執行緒交替進入臨界區 重量級鎖 多個執行緒同時進入臨界區。還要明確的是,偏向鎖 輕量級鎖都是jvm引入的鎖優化手段,目的是降低執行緒同步的開銷。比如以下的同步 塊 synchronized l...

偏向鎖 輕量級鎖 重量級鎖

synchronized關鍵字就像是汽車的自動檔,現在詳細講這個過程。一腳油門踩下去,synchronized會從無鎖公升級為偏向鎖,再公升級為輕量級鎖,最後公升級為重量級鎖,就像自動換擋一樣。那麼自旋鎖在 呢?這裡的輕量級鎖就是一種自旋鎖。初次執行到synchronized 塊的時候,鎖物件變成偏...

輕量級鎖,偏向鎖,重量級鎖

物件頭資訊 使用monitor物件來實現重量級鎖,如果使用重量級鎖,加鎖過程就需要先去關聯monitor物件,然後還需要各種判斷。asychronized關鍵字實現重量級鎖的原理 monitorenter和monitorexit就是操作monitor物件,會有效能損耗,所以引入輕量級鎖。當出現重量級...