কমপ্যাক্ট স্ট্রিংস Java 9 -এ চালু হয়েছে Java 6 এর কম্প্রেসড প্রতিস্থাপন করতে স্ট্রিংস . এর বাস্তবায়ন বাইট[] ব্যবহার করে char[> এর পরিবর্তে অ্যারে অ্যারে এবং এটি LATIN1 কিনা তা সনাক্ত করতে একটি নতুন ফিল্ড কোডার চালু করেছে অথবা UTF16 বিন্যাস যখন সংকুচিত স্ট্রিংস Java 6 -এ চালু হয়েছে যেটি বাইট[] ব্যবহার করা যেতে পারে অক্ষর প্রতি এক বাইটের জন্য অ্যারে, এবং char[] ব্যবহার করা অব্যাহত রাখে প্রতি অক্ষর দুটি বাইটের জন্য অ্যারে, আগে এটি -XX:+ UseCompressedStrings ব্যবহার করে চালু করা যেতে পারে .
সংকুচিত স্ট্রিংগুলির বিপরীতে, কমপ্যাক্ট স্ট্রিংগুলির আন-প্যাকিং প্রয়োজন হয় না অথবা পুনরায় প্যাকিং . তাই কমপ্যাক্ট স্ট্রিং রানটাইমে ভালো পারফরম্যান্স দেয়।
সংকুচিত ৷ স্ট্রিংস Java 6-এ ডিফল্টরূপে সক্রিয় করা হয় না , এবং নীচের কমান্ড ব্যবহার করে স্পষ্টভাবে সেট করতে হবে
XX:+UseCompressedStrings
কমপ্যাক্ট স্ট্রিংস নিচের কমান্ড ব্যবহার করে Java 9 এ ডিফল্টরূপে সক্রিয় করা হয়
+XX:-CompactStrings