English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

تعليمات Java الأساسية

کنترل جریان Java

آرایه‌های Java

Java متجه‌ای به‌صورت‌آبجکت (I)

Java متجه‌ای به‌صورت‌آبجکت (II)

Java متجه‌ای به‌صورت‌آبجکت (III)

معالجة الاستثناءات Java

قائمة Java (List)

Java Queue (الطوابير)

مجموعات Java Map

مجموعات Java Set

مدخلات ومخرجات Java (I/O)

قراء وكتالوج Java

مواضيع أخرى لـ Java

Java New Features in 8

Java 8 (المعروف أيضًا باسم jdk 1.8) هو إصدار رئيسي من لغة Java تم إصداره من قبل شركة Oracle في 18 مارس 2014، ويوفر دعم البرمجة الوظيفية، محرك JavaScript الجديد، API التواريخ والأوقات الجديدة، API Stream الجديد، إلخ.

ميزات جديدة

تم إضافة العديد من الميزات الجديدة إلى Java 8، وسنناقش هنا الأساسية منها فقط:

  • Lambda Expressions − يسمح Lambda بتمثيل الدالة كمعامل للطريقة (إيراد الدالة كمعامل إلى الطريقة).

  • Method References − تقدم الاستدلالات واجهة مفيدة تسمح بإيراد الطريقة أو بناء الطريقة الموجودة في فئة أو عنصر Java (مثال) مباشرة. عند استخدامها مع lambda، يمكن أن يجعل بناء اللغة أكثر تآلفًا وسهولة، مما يقلل من الكود المكرر.

  • Default Methods − هي طريقة دالة افتراضية هي طريقة معينة في واجهة تحتوي على تنفيذ.

  • أدوات جديدة − تم إضافة أدوات جديدة مثل محرك Nashorn jjs وملخص الاعتماد بين الفئات jdeps.

  • Stream API − تم إضافة API الجديد Stream (java.util.stream) الذي يقدم أسلوب البرمجة الوظيفي الحقيقي إلى Java.

  • Date Time API − تم تعزيز معالجة التواريخ والأوقات.

  • Optional Class − أصبحت فئة Optional جزءًا من مكتبة Java 8، ويُستخدم لمعالجة استثناءات نهاية النطاق.

  • Nashorn, JavaScript Engine − يقدم Java 8 محرك JavaScript جديد يُدعى Nashorn، مما يسمح لنا بتشغيل تطبيقات JavaScript المحددة على JVM.

لمعرفة المزيد من الميزات الجديدة، يرجى زيارة الموقع الرسمي:ما الجديد في JDK 8

في أمثلة مقالة حول Java 8، نستخدم جميعًا بيئة jdk 1.8، يمكنك استخدام الأمر التالي لعرض إصدار jdk الحالي:

$ java -version
java version \
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)

أسلوب البرمجة

Java 8 يأمل في تطوير أسلوب برمجة خاص به ويكون مختلفًا عن Java 7، والآتي يوضح مثال على تنسيق البرمجة لـ Java 7 وJava 8:

import java.util.Collections;
import java.util.List;
import java.util.ArrayList;
import java.util.Comparator;
 
public class Java8Tester {
   public static void main(String args[]){
   
      List<String> names1 = new ArrayList<String>();
      names1.add("Google ");
      names1.add("w3codebox ");
      names1.add("Taobao ");
      names1.add("Baidu ");
      names1.add("Sina ");
        
      List<String> names2 = new ArrayList<String>();
      names2.add("Google ");
      names2.add("w3codebox ");
      names2.add("Taobao ");
      names2.add("Baidu ");
      names2.add("Sina ");
        
      Java8Tester tester = new Java8Tester();
      System.out.println("使用 Java 7 语法: ");
        
      tester.sortUsingJava7(names1);
      System.out.println(names1);
      System.out.println("使用 Java 8 语法: ");
        
      tester.sortUsingJava8(names2);
      System.out.println(names2);
   }
   
   // 使用 java 7 排序
   private void sortUsingJava7(List<String> names){   
      Collections.sort(names, new Comparator<String>() {
         @Override
         public int compare(String s1, String s2) {
            return s1.compareTo(s2);
         }
      });
   }
   
   // Use java 8 sorting
   private void sortUsingJava8(List<String> names){
      Collections.sort(names, (s1, s2) -> s1.compareTo(s2));
   }
}

Execute the above script, and the output result is:

$ javac Java8Tester.java
$ java Java8Tester
Using Java 7 syntax: 
[Baidu, Google, w3codebox, Sina, Taobao]
Using Java 8 syntax: 
[Baidu, Google, w3codebox, Sina, Taobao]

Next, we will introduce the new features of Java 8 in detail:

Serial NumberFeatures
1Lambda Expressions
2Method References
3Functional Interfaces
4Default Methods
5Stream
6Optional Class
7Nashorn, JavaScript Engine
8New Date-Time API
9Base64