यहां दो अलग-अलग अवधारणाएं हैं।
- फास्ट पथ और धीरे-पथ कोड
- Uncontended और तर्क दिया तुल्यकालन
धीरे-पथ बनाम फास्ट पथ कोड
यह एक और तरीका है के निर्माता की पहचान है मशीन विशिष्ट बाइनरी कोड।
हॉटस्पॉट वी एम के साथ
, धीमी गति से पथ कोड बाइनरी कोड एक सी ++ कार्यान्वयन, जहां तेजी से पथ कोड JIT कम्पाइलर द्वारा उत्पादित कोड का मतलब द्वारा उत्पादित है।
सामान्य रूप से, फास्ट-पथ कोड बहुत अधिक अनुकूलित है। जेआईटी कंपाइलर्स wikipedia is a good place to start को पूरी तरह से समझने के लिए।
Uncontended और तर्क दिया तुल्यकालन
जावा की समन्वयन निर्माण (Monitors) स्वामित्व की अवधारणा है। जब कोई धागा मॉनीटर को लॉक करने की कोशिश करता है (स्वामित्व प्राप्त करता है), तो इसे या तो लॉक किया जा सकता है (किसी अन्य थ्रेड के स्वामित्व में) या अनलॉक किया जा सकता है।
Uncontended तुल्यकालन दो विभिन्न परिदृश्यों में होता है:
- खुला मॉनिटर
- मॉनिटर पहले से ही एक ही धागे
तर्क तुल्यकालन के स्वामित्व (स्वामित्व स्ट्रेट दूर प्राप्त), दूसरे हाथ पर, इसका मतलब है कि जब तक थ्रेड मॉनिटर लॉक जारी नहीं हो जाता तब तक थ्रेड अवरुद्ध हो जाएगा।
सवाल
उत्तर देना तेजी से पथ uncontended तुल्यकालन लेखक मतलब है, सबसे तेजी से बाईटकोड अनुवाद सबसे सस्ता परिदृश्य (uncontended तुल्यकालन) में (तेजी से पथ) द्वारा।
स्रोत
2014-07-19 16:32:11
क्या आपने कोई Google खोज की है। यह मेरे लिए आया था: https://blogs.oracle.com/dagastine/entry/java_synchronization_optimizations_in_mustang – Gray