1. ในลูปที่สำคัญ ให้ยกเลิกการเรียกใช้เมธอดเมื่อพิจารณาการยกเลิกลูป
คัดลอกรหัสรหัสดังต่อไปนี้:
สำหรับ (int i = 0; i <collection.size (); i ++)
-
-
-
สำหรับ (int i = 0; i <collection.size (); i ++)
-
-
-
แทนที่ด้วย...
คัดลอกรหัสรหัสดังต่อไปนี้:
ดู plaincopy ไปที่ clipboardprint หรือไม่
สำหรับ (int i=0;n=collection.size();i<n;i++)
-
-
-
2. โดยปกติแล้ว ให้ย้ายรายการที่ไม่เกี่ยวข้องกับดัชนีลูปไปนอกลูป
คัดลอกรหัสรหัสดังต่อไปนี้:
สำหรับ(int i=0;terminal=x.length;i<terminal;i++){
X[i]=x[i]/สเกลA*สเกลB;
-
สำหรับ(int i=0;terminal=x.length;i<terminal;i++){
X[i]=x[i]/สเกลA*สเกลB;
-
เปลี่ยนเป็น
คัดลอกรหัสรหัสดังต่อไปนี้:
สเกลคู่ = สเกลB/สเกลA;
สำหรับ(int i=0; เทอร์มินัล=x.length; i<เทอร์มินัล; i++){
X[i]=x[i]*สเกล;
-
2. เชือก
กำจัดการต่อสตริง เมื่อสร้างสตริงที่ยาว ให้ใช้ StringBuffter แทน String เสมอ
จัดสรรพื้นที่ StringBuffer ล่วงหน้า
StringBuffer sb = StringBuffer ใหม่ (5,000);
3. ประเภทข้อมูลพื้นฐาน
ใช้ประเภทข้อมูลพื้นฐานในลูปที่สำคัญ (ประเภทข้อมูล int มักจะเร็วกว่าประเภทข้อมูลแบบยาว/สองเท่า)
คลาส Wrapper ของประเภทข้อมูลพื้นฐาน (บูลีน, จำนวนเต็ม ฯลฯ ) ส่วนใหญ่จะถูกใช้เมื่อพารามิเตอร์วิธีการส่งผ่านจะต้องอ้างอิงถึงออบเจ็กต์ (แทนที่จะเป็นประเภทข้อมูลพื้นฐาน)
ใช้ตัวแก้ไขขั้นสุดท้ายแบบคงที่สำหรับนิพจน์พีชคณิตคงที่ทั้งหมด
หนึ่งทำให้การอ้างอิงค่าคงที่ง่ายขึ้น (คอมไพเลอร์คำนวณนิพจน์คงที่ล่วงหน้า)
4. ความผิดปกติ
ข้อยกเว้นจะใช้สำหรับเงื่อนไขข้อผิดพลาดจริงเพียงเงื่อนไขเดียวเท่านั้น
การโยนข้อยกเว้นและการดำเนินการ catch block นั้นมีราคาแพง (สาเหตุหลักมาจากการได้รับสแน็ปช็อตของเธรดสแต็กเมื่อสร้างข้อยกเว้น)
ข้อยกเว้นจะเกิดขึ้นเฉพาะเมื่อสภาวะนั้นผิดปกติจริงๆ
ทำการเพิ่มประสิทธิภาพคอมไพลเลอร์และรันไทม์โดยวางการเรียกใช้เมธอดหลายวิธีในบล็อก try/catch แทนที่จะใช้บล็อก try/catch หลายบล็อกสำหรับการเรียกใช้เมธอดแต่ละครั้ง
5.เกณฑ์มาตรฐาน
โปรดทราบว่าเคล็ดลับทั้งหมดเหล่านี้จะแตกต่างกันไปตามแพลตฟอร์มและเครื่องเสมือน
ตัวอย่างเช่น: ในคอนเทนเนอร์เซิร์ฟเล็ตบางตัว จะเร็วกว่าในการส่งออกไบต์ผ่าน OutputStream - ในคอนเทนเนอร์อื่น ๆ จะเร็วกว่าในการส่งออกอักขระผ่าน PrintWriter
เคล็ดลับเหล่านี้อธิบายคำแนะนำแบบพกพาได้มากที่สุด
คุณอาจจำเป็นต้องเรียกใช้การวัดประสิทธิภาพเพื่อพิจารณาว่าอะไรเร็วที่สุดบนแพลตฟอร์มของคุณ