> ## Content Index
> Fetch the complete content index at: https://informatic-ar.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# هل أنت جاهز للانتقال لجافا 7 ؟
- URL: https://informatic-ar.com/whats_new_java7/
- Published: 2012-09-27T22:25:47.000Z
- Updated: 2026-10-03T22:32:34.000Z
- Author: وجدي عصام
- Tags: جافا, java, featured, core java, java7, #wordpress-archive, #Import 2026-10-03 20:48

> جافا هي ليست فقط لغه جافا

[![](https://informatic-ar.com/wp-content/uploads/2012/09/doppine.jpg "doppine")](https://informatic-ar.com/wp-content/uploads/2012/09/doppine.jpg)

مر عام على جافا 7 (منذ July 2011)، جافا 7 كانت أول اصدار رسمي للجافا منذ 5 سنوات ماضية، أول نسخه من جافا مفتوحة المصدر تحت رخصه open source software (اختصاراً OSS) ، أول اصدار منذ تولي شراء اوراكل لصن في 2010، أوراكل عملت بجد واستطاعت ان توضح لل Java Community أنها قادرة على التطوير في جافا، وبحسب تقديرات أوراكل هناك حوالي 9 مليون مطور يستخدم جافا، تقديرات Tiobe مازالت تقول ان جافا اللغه الأكثر شعبيه، وهناك أكثر من 2 بليون جهاز يستخدم جافا، ومنصه جافا توجد على حوالي 97% من أجهزة سطح المكتب.

هذا الإصدار احتوى على كثير من التحسينات والاضافات سواء كان للغه الجافا Java Language أو لدعم اللغات الأخرى التي تعمل فوق منصه الجافا Dynamic Languages وحتى في نظام الملفات والعمليات عليها File System. لكن بالمقابل ايضاً أجلت كثير من الاضافات التي كانت يفترض أن تكون في هذه النسخه 7 للنسخه القادمة 8 لغايه في نفس أوراكل، وهكذا يمكن أن نقول أن النسخه 7 ماهي الا الكلمة الأولى لأوراكل، والكلمة الثانيه بها الميزات الأخرى وأهمها الميزة المنتظرة في جافا وهي Lambda Expression (أو Closures) و دعم ال Modular Programming في اللغه وفي المنصه.

ومع ذلك، هناك كثير من الاضافات في النسخه 7 قدمت تسهيلات جيدة للمبرمجين وان لم تكن بالكثيرة ولكنها تعتبر حجر أساس للتغيرات القادمة الجذريه في جافا 8 (حسب خطة اوراكل) والتي قد تغير طريقك كتابتك عن ذي قبل. جافا 5 كانت من النسخ ذات التغييرات الجذريه حيث قدمت كثير جداً من الخصائص التي غيرت طرق الكتابة عن ما كان في 4 (قدمت الGeneric و ال Annotations وغيرها). حالياً نسخه 7 احتوت تغييرات بسيطة ولكنها اسس التغييرات في 8 (لذلك القول بأن نسخه 7 هي evolutionary وليست كما نسخه 8 revolutionary).

الخبر الجيد بالنسبه للمبرمجين الذين لم ينتقلوا بعد لنسخه 7 انه قد تأخر اطلاق النسخه 8 الرسمية (يمكنك تحميل نسخ قيد التطوير الآن) الى بعد 3 أشهر من الأن (بدايه عام 2013)، وها هي فرصه جيدة أن نسلط بعض الضوء على هذا الإصدار ونهيئ المبرمجين للنسخه القادمة 8، وهذا من الأمور المهمة لمطوري الجافا (وللمطورين بشكل عام) هو التعرف على المزايا الجديدة في اللغه واستخدمها خصوصاً التي تفيدك في عملك بشكل افضل ولكي تكون معلوماتك up-to date في اللغه.

[![](https://informatic-ar.com/wp-content/uploads/2012/09/java_evalution.jpg "java_evalution")](https://informatic-ar.com/wp-content/uploads/2012/09/java%5Fevalution.jpg)

حالياً يمكننا أن نقول أن جافا تتكون من شقين أساسين لغه البرمجة جافا Java Language (اللغه التي تعرفها وتبرمج بها فهي لغه كائنية OOP و static typed) ومنصة جافا Java Platform (وهي الJVM الذي يقوم بتنفيذ البايت كود)، التفرقه بينهم مهمه، وحتى الSpecification في جافا 7 Java Language Specification (اختصاراً JLS) مفصول تماماً عن الSpecification للمنصه VMSpec، وهذا يعني أنك قد تكون مهتم بالمنصه وتقوم بتحويل لغه ما لغه البايت كود التي تفهمها هذه المنصه، وهكذا ستعمل هذه اللغه فوق منصه الجافا. وهذا ما حصل الآن العديد من اللغات تعمل فوق منصه الجافا (بالاضافة الى لغه الجافا) وتستفيد من المزايا التي تقدمها هذه المنصه الرائعه ومن أشهر اللغات: Groovy, Scala, Clojure.

## التغييرات الجديدة

الجدول التالي يبين بشكل عام التغييرات التي حصلت في جافا 7 وهي من [موقع OpenJDK الرسمي](http://openjdk.java.net/projects/jdk7/features?ref=informatic-ar.com)

| [vm](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#vm)         | [JSR 292: Support for dynamically-typed languages (InvokeDynamic)](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#f353) |
| -------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
|                                                                                        | [Strict class-file checking](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#fa535991)                                   |
| [lang](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#lang)     | [JSR 334: Small language enhancements (Project Coin)](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#f618)              |
| [core](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#core)     | [Upgrade class-loader architecture](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#f352)                                |
|                                                                                        | [Method to close a URLClassLoader](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#f584)                                 |
|                                                                                        | [Concurrency and collections updates (jsr166y)](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#f515)                    |
| [i18n](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#i18n)     | [Unicode 6.0](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#f497)                                                      |
|                                                                                        | [Locale enhancement](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#fa535895)                                           |
|                                                                                        | [Separate user locale and user-interface locale](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#fa538265)               |
| [ionet](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#ionet)   | [JSR 203: More new I/O APIs for the Java platform (NIO.2)](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#f250)         |
|                                                                                        | [NIO.2 filesystem provider for zip/jar archives](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#fa537814)               |
|                                                                                        | [SCTP (Stream Control Transmission Protocol)](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#f405)                      |
|                                                                                        | [SDP (Sockets Direct Protocol)](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#f639)                                    |
|                                                                                        | [Use the Windows Vista IPv6 stack](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#fa535996)                             |
|                                                                                        | [TLS 1.2](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#fa534339)                                                      |
| [sec](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#sec)       | [Elliptic-curve cryptography (ECC)](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#f73)                                 |
| [jdbc](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#jdbc)     | [JDBC 4.1](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#fa539110)                                                     |
| [client](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#client) | [XRender pipeline for Java 2D](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#f653)                                     |
|                                                                                        | [Create new platform APIs for 6u10 graphics features](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#f650)              |
|                                                                                        | [Nimbus look-and-feel for Swing](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#f244)                                   |
|                                                                                        | [Swing JLayer component](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#f652)                                           |
|                                                                                        | [Gervill sound synthesizer](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#fa99999)                                     |
| [web](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#web)       | [Update the XML stack](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#f568)                                             |
| [mgmt](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#mgmt)     | [Enhanced MBeans](http://openjdk.java.net/projects/jdk7/features/?ref=informatic-ar.com#fa530068)                                              |

من أهم التغييرات التي نراها مهمه للمبرمج والتي سنوضحها في مقالات متفرقه في هذه المدونة:

### **مشروع الCoin (التحسينات الصغيرة في اللغه) وكانت بالرقم JSR 334**

وهو نتيجة نداء مفتوح للمطورين بتقديم اي مقترحات مفيدة يمكن ضمها في جافا النسخه 7 (حدث ذلك في 2009) وقد قدم حوالي 70 مقترح وفي الأخير تم اختيار 6 من هذه المقترحات وتم تطبيقها في النسخه 7 ، هذه الاضافات الجديدة سهلت البرمجة في جافا أكثر من ذي قبل .

[أنقر هنا لمعرفة المزيد عن الاضافات في جافا 7 في ال Project Coin](https://informatic-ar.com/project%5Fcoin%5Fjava7)

### **تقديم API جديدة للعمل مع الملفات File System**

وسميت بالاسم New I/O واختصاراً NIO.2 وهي حملت في طياتها الكثير لمبرمجين الجافا وأهمها الاستغناء عن الكلاس File واستبداله ب ال Path ، ومن الامور الجديدة هو وجود كلاسات خاصه للIO تعمل بشكل متوزاي مع تطبيقك Asynchronous وهذا يعني انك لا تحتاج لكتابه ثريد والدخول في تفاصيله للعمليات العادية في الملفات فهذا موجود على طبق من ذهب ، ايضاً سهلت عمليات زيارة المجلدات والملفات Traversing ، ولهذه الAPI وجب أن نفرد لها مقاله خاصه نتحدث عنها بالتفصيل.

### **دعم البرمجة المتوازية** **Parallel Programming**

وهي تقريباً من أهم الاضافات في النسخه 7 والتي تسمح لك بتقسيم المشكلة الى أجزاء صغيرة لكي تعمل في ان واحد في الكورز لديك في المعالج (من خلال ال Fork/Join Framework). شرح هذه الكلاسات تحتاج لمقاله أخرى لتفصيلها جيداً خصوصاً لمن لديهم معرفة بال Concurrent Programming.

### **ضم ملم النفايات الجديد G1 وضغط المؤشرات ال64 بت في الذاكرة**

هذا ال GC صمم لكي يستبدل جميع الGC الموجودين في جافا حيث جمع بين مزاياهم ، ولكي نتحدث عنه يجب ان نتحدث عن الGC بشكل عام ولذلك سوف نفرد لها مقاله موسعه بهذا الأمر ان شاء الله.

### **دعم اللغات الأخرى** **Dynamic Languages**

وهذه من الاضافات المهمة في جافا 7 والتي سمحت للDynamic Language العمل فوق منصه جافا وذلك بالاستفادة من قدرات InvokeDynamic وهذا جعل منصه الجافا هدف للغات الDynamic للاستفادة من الميزات التي تقدمها.

هذه المقالة سوف تحدث باستمرار حتى نغطي كافه مزايا النسخه 7 (المسماه بالدولفين dolphin، هل عرفت لماذا صورة الدولفين)، وكذلك سنفرد مقاله مخصصه للمزايا المطروحة في 8 , **أمل أن تسترعي هذه النسخه انتباهك وتبدأ بشد الرحال اليها، ولكن لا تخطط للبقاء طويلاً فجافا 8 على الأبواب**.