مترجم جافا

مُترجم جافا هو مُترجم للغة برمجة جافا .

تُنتج بعض مُجمّعات لغة جافا شفرةً آليةً مُحسّنةً لمجموعة مُحدّدة من الأجهزة/ نظام التشغيل ، تُسمى نظام حاسوب مُخصّص للمجال . ومن الأمثلة على ذلك مُجمّع GNU للغة جافا الذي توقف تطويره الآن . [ 1 ]

الشكل الأكثر شيوعًا لمخرجات مترجم جافا هو ملفات فئة جافا التي تحتوي على تمثيل وسيط متعدد المنصات (IR)، ويسمى بايت كود جافا . [ 2 ]

تقوم آلة جافا الافتراضية (JVM) بتحميل ملفات الفئة وتقوم إما بتفسير رمز البايت أو بتجميعه في الوقت المناسب إلى رمز الآلة ثم ربما تحسينه باستخدام التجميع الديناميكي .

تم تحديد معيار حول كيفية التفاعل مع مترجمات جافا في JSR 199. [ 3 ]

يتم توفيرها بواسطة وحدة نمطيةjdk.compiler ، وتتطلب مجموعة تطوير جافا الكاملة (بدلاً من بيئة تشغيل جافا فقط )، وتوجد في javax.tools.*مساحة الاسم. [ 4 ]

مثال

package org.wikipedia.examples ;استيراد java.io.IOException ؛ استيراد java.io.File ؛استيراد javax.tools.JavaCompiler ؛ استيراد javax.tools.ToolProvider ؛public class Example { private final String TEST_FILE_NAME = "Test.java" ;public static void main ( String [] args ) throws IOException { File sourceFile = new File ( TEST_FILE_NAME ); if ( ! sourceFile . exists ()) { throw new IllegalArgumentException ( String . format ( "المسار %s غير موجود!" , TIME_FILE_NAME )); } JavaCompiler compiler = ToolProvider . getSystemJavaCompiler ();إذا كان ( المترجم == null ) { ارمِ استثناءً من نوع RuntimeException ( "المترجم غير متوفر. هل تستخدم JRE بدلاً من JDK؟" ); }int result = compiler.run ( null , null , null , sourceFile ) ;System.out.printf ( " نتيجة التجميع: % s%n" , result == 0 ? " نجاح" : " فشل" ); } }

انظر أيضاً

مراجع

  1. "GCJ - الماضي والحاضر والمستقبل" . مؤرشف من الأصل بتاريخ 2019-08-02 . تم الاطلاع عليه بتاريخ 2021-09-24 .
  2. "مواصفات آلة جافا الافتراضية، إصدار جافا SE 8، القسم 1.2" . مؤرشف من الأصل بتاريخ 24-09-2021 . تم الاطلاع عليه بتاريخ 24-09-2021 .
  3. "JSR 199: واجهة برمجة تطبيقات مُصرّف Java™" . مؤرشف من الأصل بتاريخ 24-09-2021 . تم الاطلاع عليه بتاريخ 24-09-2021 .
  4. "JavaCompiler (Java SE)" . docs.oracle.com . شركة أوراكل . تم الاطلاع عليه بتاريخ 21 أكتوبر 2025 .