ترقية مصدر Java من 1.4.2 إلى 1.6.0_10 الموصى بها؟ (تخطي 1.5)

StackOverflow https://stackoverflow.com/questions/1466887

سؤال

يستخدم منتجنا لسطح المكتب فقط في العمل JDK 1.4.2 حتى الآن (أيضا 1.4.2 Jre يتم شحنها مع المنتج). أحاول إقناع الإدارة بالسماح لنا الترقية إلى إصدار أحدث من أجل الحصول على الأداء و API / الميزات وفوائد راحة المطور.

نظرا لأن 1.5 قد وصل إلى انتقال EOL، فأنا أفكر في الترقية إلى 1.6.0_10 مباشرة (تحديث 10 تم اختياره لأنه رئيس واحد). من حيث التعليمات البرمجية، جميع أخطاء الترجمة هي مجرد أسماء متغيرة تسمى enum التي قمت بإعادة تسميته والمنتج يعمل بشكل جيد.

السؤال هو

  • ما إذا كان هذا الترقية يوصى به / غرامة، أي تخطي 1.5؟ هل هناك أي المصيد
  • إذا كانت الإجابة بنعم، فعليك الترقية إلى 1.6u10 أو أحدث 1.6 متاح؟

شكرًا

هل كانت مفيدة؟

المحلول

أود أن أقول إذا كنت ستقوم بالترقية، فانتقل إلى كل ما هو آخر التحديث هو. قد تحصل في الواقع على بعض مكاسب الأداء المجانية التي تسير مع 1.6، وأنا أعلم أن بعض التحسينات JVM قد تم إجراؤها منذ 1.4.

نصائح أخرى

بشكل عام، جافا جيدة إلى حد ما في كونها متوافقة مع الورق.

في حالة وجود حاجة لمعرفة ما الذي تغير في منصة Java من 1.4 إلى 6، فيما يلي قائمة بالتغييرات التي أدرجت فيها Sun لكل إصدار:

هناك دائما احتمال أن يكون هناك أي إصدار محدد قد يحتوي على خطأ يؤثر عليك، أو يعتمد رمزك على بعض السلوك غير المحدد لفئات API القياسية التي تغيرت منذ ذلك الحين، ولكن بشكل عام، يوصى بالترقية إلى أحدث إصدار Java وغير مؤلم نسبيا. يجب عليك بالطبع اختبار المنتج على نطاق واسع على JRE الجديد.

إنها Java، إنها ليست لغة برمجة نصية قذرة تؤدي إلى تحويل النحطات، وقواعدها، و API لها كل إصدار بسيط.

التوافق المتخلص هو واحد من السمات الرئيسية Java.

فقط فعلت ذلك (تطبيق Swing) من 1.3 إلى 1.6 :)

يعمل (وفقا للاختبار UAT) موافق تماما (باستثناء بعض التغييرات المطلوبة ل AWT UI). يعرض PTE بعض تخفيض استهلاك الذاكرة (ليس كثيرا)، ويعمل جانب الخادم بشكل أسرع إلى حد ما (أميل إلى الاعتقاد بأنه بسبب تحسينات GC و String Intern ()).

في أي حال، عليك أن تفعل ذلك بسبب EOL، و 1.6 لا تختلف كثيرا عن 1.5. لذلك أقول 1.6 بالتأكيد.

ما إذا كان هذا الترقية يوصى به / غرامة، أي تخطي 1.5؟ هل هناك أي المصيد

أعتقد أنه من الجيد أن تخطي 1.5 وتذهب مباشرة إلى 1.6 وليس هناك أي شرط يجبرك على الذهاب إلى 1.5.

إذا كانت الإجابة بنعم، فعليك الترقية إلى 1.6u10 أو أحدث 1.6 متاح؟

سأذهب لأحدث. في الواقع، أعتقد 1.6u16 هو الإصدار الرئيسي الحالي.

أود أن أوصي بالترقية إلى Java 6 أكثر من 1.5. نظرا لوجود الحاجة بالفعل إلى اختبار تطبيقك مقابل JRE الجديد بغض النظر عن الإصدار الذي تختاره، قد تستفيد هذه الفرصة أيضا. بدلا من زيادة الترقية الخاصة بك مرتين (مرة واحدة مقابل 1.5 والإصدارات الأحدث مقابل 1.6) وتتطلب دورة اختبار مرتين، يمكنك الخروج من الطريق مرة واحدة. أثناء وجودك في ذلك، فإن الترقية إلى أحدث إصدار متاح سيكون بخير تماما.

لقد قمت مؤخرا بترقية تطبيقنا المتأرجح (الكثير من السحب والإفلات) من 1.4 إلى 1.6 للحصول على المرافق المتزامنة، ولم نر مشكلة واحدة بسبب Java نفسها. نريد أيضا أن نذهب إلى Nimbus Look ويشعر منذ أن نظرة Windows ويشعر لا تبدو وكأنها تشبه النوافذ.

ميزة القاتل يجب عليك إظهار رئيسك، هو كيفية إرفاق التطبيق باستخدام JVISualvm إلى Installupting برنامج التشغيل في حالة القضايا.

يمكن أن تحتوي تطبيقات التأرجح بالتأكيد على إصدار الإصدار إلى الإصدار. كان لدينا مشكلات كل ترقية (1.3 إلى 1.4 و 1.4 إلى 1.5، وتعطلنا إصبعك إلى 1.6 مشكلات ومزيد من القضايا). ومع ذلك، لا يوجد سبب لقضاء بعض الوقت في 1.5. انتقل مباشرة إلى 1.6، أحدث إصدار، لن تنقذ أي وقت من خلال الذهاب إلى 1.5، ستقضي فقط مجموعة من الوقت في اختبار الوقت عند 1.5 ثم قم بذلك مرة أخرى في مرحلة ما في المستقبل لمدة 1.6. اقتصاد أكثر بكثير للقفز إلى 1.6.

الكثير من المشكلات إصلاح المراجعات الطفيفة، لذلك فإن التمسك 1.6_U10 هو مجرد دعوة المشكلات. كان U10 ترقية كبيرة (على عكس اسمها يوحي) فيما يتعلق بالأرجوحة المعنية، وعدد العديد من الإصدارات بعد ذلك معالجتها القضايا التي جاءت للضوء بعد إطلاق سراح U10.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top