الاختلافات عند تجميع جافا مع مترجم جنو ل Java بدلا من الشمس JDK
-
18-09-2019 - |
سؤال
أنا أعمل في مشروع مدرسي حيث أطلب مني استخدام مترجم جنو ل Java. لقد عملت دائما باستخدام Sun JDK الرسمية والآن أنا قلق بشأن الخلافات التي قد تعقد عملي.
أنا مهتم خصيصا بأي إصدار من Java هو الذي يدعمه أحدث مترجم GCJ
هل يمكن لشخص ما على بعض الضوء في الاختلافات بين واحد أو آخر؟
ملاحظة: لقد بحثت على Google لكنها فشلت في العثور على إجابة حديثة
نصائح أخرى
إذا كان يجب أن تصبح هذه الإجابة أعلى إجابة صوتية، فهذا يعني أنه يجب عليك أن تطلب من الأستاذ الخاص بك من فضلك إعادة النظر في السبب الذي يجعله يستخدم مثل هذه المنصة غير العادية. في العالم الحقيقي، يستخدم الناس الشمس JDKS في الغالب. لا أرى هذا التغيير كثيرا في المستقبل القريب. إنه منتج عالي الجودة، في معظمه.
هل يمكن أن يساعدك هذا حقا في التعلم؟
حسنا من الصفحة الرئيسية:
Compiled applications are linked with the GCJ runtime, libgcj, which provides the core
class libraries, a garbage collector, and a bytecode interpreter. libgcj can dynamically
load and interpret class files, resulting in mixed compiled/interpreted applications. It
has been merged with GNU Classpath and supports most of the 1.4 libraries plus some 1.5
additions.
من موقع GCJ. يبدو أن برنامج GNU Compiler هو مترجم مبادر في وقت متأخر وليس مترجما بعيدا في الوقت المناسب مثل Sun's. لذلك هناك فرق واحد هناك. الصفحة الأولى هي القليل من الغامض والمراجع التي لديها بعض مرافق الترجمة الترجمة من البايت المدمجة في وقت تشغيل libgcj.
سأكون حذرا من أي مكتبة تغطي معظم المكتبات 1.4 و 1.5 المكتبات. إذا استهدفت 1.4 الخاص بك ربما بخير. 1.6 وربما كنت في عالم من الأذى.
ضع في اعتبارك إذا كان GCJ يمكن أن يفسر الملفات الفئة فقط، فقد يكون الأمر أبطأ بكثير يركض رمز غير ملتزم بدلا من مترجم Sun's Jit.
لقد واجهت اختلافات خفية في تاريخ تحليل آخر مرة نظرت فيها.
نظرا لأن GNU JVM لم يمر Java TCK، يجب أن تعامله بشكل أساسي كمنصة جديدة مع الحاجة إلى اختبار كامل.