ภาษาโปรแกรมทุกภาษาใช้คอมไพเลอร์ในการแปลงรหัสภาษาระดับสูงให้เป็นรหัสไบนารีระดับเครื่องเนื่องจากระบบเข้าใจเฉพาะรหัสไบนารี คอมไพเลอร์แตกต่างกันไปตามประเภทของภาษาโปรแกรม ตอนนี้พูดถึง มันใช้คอมไพเลอร์ที่น่าทึ่งนี้เรียกว่า JIT (Just-in-Time) ใน Java . บล็อกนี้จะบอกคุณเกี่ยวกับ JIT Java Compiler
ด้านล่างนี้เป็นหัวข้อที่กล่าวถึงในบทความนี้:
- Java JIT Compiler - ภาพรวม
- การทำงานของ JIT Compiler ใน Java
- ด้านความปลอดภัยของ JIT ใน Java
- ข้อดีและข้อเสียของ JIT ใน Java
เริ่มกันเลย!
Java JIT Compiler - ภาพรวม
คอมไพเลอร์ Just-In-Time เป็นหนึ่งในส่วนสำคัญของไฟล์ . มีหน้าที่หลักในการเพิ่มประสิทธิภาพการทำงานของแอปพลิเคชันที่ใช้ Java ในเวลาทำงานหรือเวลาดำเนินการ โดยทั่วไปคำขวัญหลักของคอมไพเลอร์คือการเพิ่มประสิทธิภาพของแอปพลิเคชันสำหรับผู้ใช้ปลายทางและผู้พัฒนาแอปพลิเคชัน
เจาะลึก JIT ใน Java
ไบต์โค้ดเป็นศักยภาพหลักของสภาพแวดล้อม WORA (เขียนครั้งเดียวรันที่ไหนก็ได้) ของ Java ความเร็วของ แอปพลิเคชัน Java ขึ้นอยู่กับวิธีการแปลงรหัสไบต์เป็นรหัสเครื่องดั้งเดิม bytecode สามารถตีความหรือคอมไพล์เป็นโค้ดเนทีฟหรือเรียกใช้โดยตรงบนโปรเซสเซอร์ แต่ถ้าตีความ bytecode จะส่งผลโดยตรงต่อความเร็วของแอปพลิเคชัน
เพื่อเพิ่มความเร็วในการทำงานคอมไพเลอร์ JIT จะสื่อสารกับ JVM ในเวลาดำเนินการเพื่อรวบรวมลำดับรหัสไบต์เป็นรหัสเครื่องดั้งเดิม โดยทั่วไปเมื่อใช้ JIT Compiler ฮาร์ดแวร์จะเรียกใช้โค้ดเนทีฟได้อย่างง่ายดายเมื่อเทียบกับ JVM Interpreter การทำเช่นนี้จะได้รับความเร็วในการดำเนินการอย่างมาก
เมื่อคอมไพเลอร์ JIT คอมไพเลอร์ชุดของรหัสไบต์มันยังดำเนินการเพิ่มประสิทธิภาพบางอย่างเช่นการวิเคราะห์ข้อมูลการแปลจากการดำเนินการสแต็กเพื่อลงทะเบียนการดำเนินการกำจัดนิพจน์ย่อยเป็นต้นซึ่งทำให้ มีประสิทธิภาพมากเมื่อพูดถึงการดำเนินการและประสิทธิภาพ
เมื่อคุณทราบพื้นฐานของ JIT Compiler แล้วเรามาดูการทำงานของคอมไพเลอร์กันต่อไป
วิธีใช้ charat ใน java
การทำงานของ JIT Compiler ใน Java
JIT Compiler เพิ่มความเร็วในการทำงานของแอ็พพลิเคชัน Java ในขณะทำงาน เนื่องจาก Java เป็นไฟล์ ประกอบด้วย . โดยทั่วไปจะประกอบด้วยรหัสไบต์ที่เป็นอิสระจากแพลตฟอร์มและ eดำเนินการโดย JVM ในสถาปัตยกรรมที่หลากหลาย
การทดสอบข้ามเบราว์เซอร์โดยใช้ซีลีเนียม
ขั้นตอนการทำงาน:
แผนภาพด้านล่างแสดงให้เห็นว่าการทำงานจริงของการคอมไพล์เกิดขึ้นใน Java Runtime Environment อย่างไร
เมื่อคุณเขียนรหัส , JRE ใช้คอมไพเลอร์ javac เพื่อคอมไพล์ระดับสูง ซอร์สโค้ดเป็นไบต์โค้ด . หลังจากนี้ JVM จะโหลดรหัสไบต์ ณ รันไทม์และแปลงเป็นรหัสไบนารีระดับเครื่องเพื่อดำเนินการเพิ่มเติมโดยใช้ Interpreter
ดังที่ได้กล่าวไปแล้วข้างต้นการตีความโค้ด Java byte จะลดประสิทธิภาพเมื่อเทียบกับแอปพลิเคชันเนทีฟ นั่นคือจุดที่ JIT Compiler ช่วยในการเพิ่มประสิทธิภาพโดยการคอมไพล์โค้ดไบต์เป็นรหัสเครื่องดั้งเดิม 'ทันเวลาพอดี' วิ่ง.
JIT Compiler ถูกเปิดใช้งานและเปิดใช้งานโดยดีฟอลต์เมื่อมีการเรียกใช้เมธอดใน Java เมื่อคอมไพล์เมธอด Java Virtual Machine จะเรียกใช้โค้ดที่คอมไพล์ของเมธอดโดยตรงโดยไม่ต้องตีความ ดังนั้นจึงไม่ต้องใช้หน่วยความจำและเวลาในการประมวลผลมากนัก โดยพื้นฐานแล้วจะช่วยเพิ่มความเร็วในการทำงานของ Java Native Application
นั่นคือวิธีการทำงาน ตอนนี้เรามาเจาะลึกในบทความนี้และทำความเข้าใจแง่มุมด้านความปลอดภัยของ JIT Compiler ใน Java
วิธีการใช้จาวาสคริปต์คืออะไร
ด้านความปลอดภัยของ JIT ใน Java
การคอมไพล์โค้ดไบต์ลงในโค้ดเครื่องโดย JIT Compiler ทำได้โดยตรงในหน่วยความจำ นั่นคือคอมไพลเลอร์ป้อนรหัสเครื่องลงในหน่วยความจำโดยตรงและเรียกใช้งาน ในกรณีนี้จะไม่เก็บรหัสเครื่องลงในดิสก์ก่อนเรียกใช้ไฟล์คลาสและเรียกใช้งาน โดยทั่วไปหน่วยความจำควรถูกทำเครื่องหมายว่าปฏิบัติการได้ เพื่อความปลอดภัยควรดำเนินการให้เสร็จสิ้นหลังจากเขียนโค้ดลงในหน่วยความจำแล้ว นอกจากนี้ควรทำเครื่องหมายเป็นแบบอ่านอย่างเดียวเนื่องจากหน่วยความจำปฏิบัติการเป็นช่องโหว่ด้านความปลอดภัย หากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้คุณสามารถอ่านบทความนี้ได้ที่ JIT Compiler ด้านความปลอดภัย .
ตอนนี้เรามาดูกันว่าข้อดีข้อเสียของไฟล์ Just-In-Time Compiler ใน Java
ข้อดีและข้อเสียของ JIT ใน Java
ข้อดี :
โค้ด Java ที่คุณเขียนเมื่อหลายปีก่อนจะทำงานได้เร็วขึ้นแม้กระทั่งในปัจจุบันและช่วยเพิ่มประสิทธิภาพของโปรแกรม Java
ภาพเนทีฟยังทำงานได้เร็วขึ้นเนื่องจากไม่มีกิจกรรมเริ่มต้นและต้องใช้หน่วยความจำน้อยลง
จุดด้อย:
เพิ่มความซับซ้อนของ .
โปรแกรมที่มีโค้ดน้อยจะไม่ได้รับประโยชน์จากการคอมไพล์แบบทันเวลา
เรามาถึงตอนท้ายของบทความนี้เกี่ยวกับ JIT ใน Java ฉันหวังว่าคุณจะพบว่าข้อมูลนี้
ตรวจสอบไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก เราพร้อมที่จะช่วยเหลือคุณในทุกขั้นตอนในการเดินทางของคุณสำหรับการเป็นนอกเหนือจากคำถามสัมภาษณ์ java นี้เรามาพร้อมกับหลักสูตรที่ออกแบบมาสำหรับนักเรียนและมืออาชีพที่ต้องการเป็น Java Developer
มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของบทความ 'JIT in Java' และเราจะติดต่อกลับโดยเร็วที่สุด