के दो कार्यान्वयनों में से एक का उपयोग करके संकलित करता है मैं जावा में कुछ एफएफआई कोड लिख रहा हूं जो sun.misc.Unsafe
का भारी उपयोग करता है।जावा कोड लिखना जो कक्षा
जावा 9 में, यह कक्षा अप्राप्य हो जाएगी, और jdk.unsupported.Unsafe
बन जाएगी। मैं अपना कोड लिखना चाहता हूं ताकि यह अब काम कर सके, लेकिन जावा 9 में काम करना जारी रखता है।
ऐसा करने के लिए कम से कम हैकी तरीका क्या है? मैं बाइनरी संगतता पसंद करूंगा, लेकिन स्रोत संगतता भी ठीक है।
संपादित करें: प्रतिबिंब का उपयोग करने के साथ मैं 100% ठीक नहीं हूं - या यहां तक कि आभासी प्रेषण - हर बार Unsafe
पर एक विधि कहा जाता है। उन तरीकों में से अधिकांश एक मशीन निर्देश पर संकलित करें। इसलिए, प्रदर्शन वास्तव में मायने रखता है। रैपर होने के लिए ठीक है - लेकिन केवल अगर मैं सुनिश्चित कर सकता हूं कि जेआईटी उन्हें हर समय इनलाइन करेगी।
मेरी वर्तमान योजना रनटाइम पर उचित कक्षा लोड करना है।
यह 'असमर्थित 'होगा ... – r1verside
@ r1verside मुझे पता है, लेकिन यह लगभग निश्चित नहीं है कि दूर जाना न जाए, क्योंकि इतना कोड (नया विकास सहित!) इस पर निर्भर करता है। – Demi
हो सकता है कि ऐसा करने का समय हो जो आपको बहुत समय पहले करना चाहिए था: अपना कोड ठीक करें (इसलिए आप किसी भी gnarly पुराने सूर्य कोड का उपयोग नहीं करते हैं)। – Bohemian