Avatar ·

لماذا يكون إخراج الحرف 'B' في حلقة Java أبطأ بكثير من إخراج الحرف '#'

مرحبًا أيها الزملاء! أنا مطور Java مبتدئ وواجهت مشكلة غريبة جدًا عند اختبار أداء الحلقات. كتبت كودًا بسيطًا يطبع 1000 حرف في وحدة التحكم. في البداية استخدمت الحرف '#'، وكان كل شيء يعمل بسرعة. ثم استبدلت '#' بـ 'B' — وانخفضت سرعة التنفيذ عدة مرات! إليك الكود الخاص بي: ```java public class PrintTest { public static void main(String[] args) { long start = System.currentTimeMillis(); for (int i = 0; i < 1000; i++) { System.out.print("B"); } long end = System.currentTimeMillis(); System.out.println("\nالوقت: " + (end - start) + " ms"); start = System.currentTimeMillis(); for (int i = 0; i < 1000; i++) { System.out.print("#"); } end = System.currentTimeMillis(); System.out.println("\nالوقت: " + (end - start) + " ms"); } } ``` على جهاز الكمبيوتر المحمول الخاص بي (Windows 10، Java 11)، إخراج 'B' كان