संक्षिप्त तार Java 9 . में पेश किया है जावा 6 के संपीड़ित . को बदलने के लिए स्ट्रिंग्स . इसका कार्यान्वयन बाइट[] . का उपयोग करता है char[] . के बजाय सरणी सरणी और एक नए फ़ील्ड कोडर ने यह पहचानने के लिए पेश किया है कि क्या यह LATIN1 . है या UTF16 संपीड़ित . के दौरान प्रारूपित करें स्ट्रिंग्स Java 6 . में पेश किया है जिसका उपयोग किया जा सकता है बाइट[] प्रति वर्ण एक बाइट के लिए सरणी, और char[] . का उपयोग करना जारी रखा प्रति वर्ण दो बाइट्स के लिए सरणी, पहले इसे -XX:+ UseCompressedStrings का उपयोग करके चालू किया जा सकता है ।
संपीड़ित स्ट्रिंग्स के विपरीत, कॉम्पैक्ट स्ट्रिंग्स को अन-पैकिंग की आवश्यकता नहीं होती है या फिर से पैक करना . इसलिए कॉम्पैक्ट स्ट्रिंग रनटाइम पर बेहतर प्रदर्शन देती है।
>संपीड़ित स्ट्रिंग्स Java 6 . में डिफ़ॉल्ट रूप से सक्षम नहीं हैं , और नीचे दिए गए आदेश का उपयोग करके स्पष्ट रूप से सेट करने की आवश्यकता है
XX:+UseCompressedStrings
संक्षिप्त तार नीचे दिए गए कमांड का उपयोग करके जावा 9 में डिफ़ॉल्ट रूप से सक्षम हैं
+XX:-CompactStrings