لماذا يكون إخراج الحرف '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' كان