Trong năm 2014, Oracle sẽ cho xuất bản Java phiên phiên bản 8 vào đó bổ sung thêm khôn xiết nhiềutính năng mới. Bọn họ sẽ lấn sân vào phân tích một số tính năng quan trọng đặc biệt trong phiên phiên bản này ^^.

Bạn đang xem: Java 8 là gì

1.Lamda Expressions


Tính năng đầu tiên, bên cạnh đó là tính năng rất nổi bật nhất của Java8: hỗ trợ cú pháp Lambda, đây hình như là cách tân lớn tốt nhất trong cú pháp lập trình Java kể từ thời điểm xây đắp Generics vàAnnotationstrong Java 5.
(argtype arg...) -> return some expression.. Probably using these arguments Áp dụng Lambda, một thread có thể được thay đổi như sau:
Runnable oldRunner = new Runnable() public void run() System.out.println("I am running"); ;Runnable java8Runner = () -> System.out.println("I am running");;Cú pháp Lambda vào Java chất nhận được tự suy luận dạng hình dữ liệu.Hãy coi xét các ví dụ gồm sẵn sau đây:
Comparator c = (a, b) -> Integer.compare(a.length(), b.length());Ở đây, những kiểu của a, b được suy đoán thành dạng hình String khi phương thức so sánh Integer.compare được thực hiện.
Nếu chúng ta thành thạo ngôn từ Scala thì vệt “->” trong Lambdasđược áp dụng để tách bóc các khối lệnh là khá tương đương với lốt “=>” vào Scala.
Lấy cảm giác từ Lambdas, một tập thích hợp kiểu dữ liệu chung được sử dụng trong một phạm vi tốt nhất định.Bạn không cẩn phải triển khai ép kiểu trước khi gọi một thủ tục của phong cách đó. Ví dụ:
SomeClass.method();Có thể được điện thoại tư vấn mà ko cần suy nghĩ kiểu dữ liệu:Kiểu dữ liệu được auto suy luận giúp việc gọi những phương thức lồng nhau một cách thuận tiện hơn:
Stream đổi thay một iterator được cho phép chạy tuần tự thông qua collection của nó.Cùng với Lambdas, đây là một nhân tài đáng chăm chú để xem.Bạn hoàn toàn có thể sử dụng những stream để tiến hành các công dụng tính toán như Filter hoặc Map/reduce trải qua collection.Streams có thể chạy tuần trường đoản cú hoặc tuy nhiên song theo nguyện vọng của lập trình viên.Chế độ song song được áp dụng để tích hợp, liên lạc những framework hoặc tận dụng tối đa sức khỏe của chíp đa nhân.Ví dụ:
List guys = list.getStream.collect(Collectors.toList())cũng rất có thể được thực hiện song song như sau:
List guys = list.getStream.parallel().collect(Collectors.toList()Một lấy ví dụ như khác tốt nhất để tiến hành reduce một colletion thành một giá bán trị bằng phương pháp gọi giải mã reduce.

Xem thêm: Những Bộ Phim Hoạt Hình Gấu Pooh Và Những Người Bạn, Những Bộ Phim Hay Nhất Về Chú Gấu Béo Đáng Yêu


int sum = numberList.stream().reduce(0, (x, y) -> x+y);hoặc,int sum = numberList.stream().reduce(0, Integer::sum);
Các giao diện này còn có chứa một vài phương thức mặc định mà không cần thiết phải được thực hiện cho phép chạy trực tiếp từ giao diện.Điều này rất bổ ích với những mã gồm sẵn – đổi khác giao diện không yêu cầu tất cả các Class thiết đặt các cách thức mới.Điều này cũng tương tự như điểm lưu ý trong Scala..
Đây là javascriptenginecho phép họ chạy javascript trên một JVM.Nó tương tự nhưengineV8 cungcấp vị chrome dùng làm chạy Node.js.Nó tương thích với những ứng dụng Node.js trong lúc đồng thời cung ứng các tủ sách Java được gọi trải qua mã javascript điều khiển xe trên máy chủ.Thật độc đáo khi nó phối kết hợp khả năng mở rộng và tính không nhất quán của Node.js với tính an ninh và phổ biến rộng rãi của ngôn từ Java.
ListCách khai báo này là hữu ích trong một số trường hợp.Ngoài tế bào tả các kiểu tài liệu chung, nó còn được sử dụng trong những hàm khởi sản xuất và nghiền kiểu gửi đổi.
NotNull String<> arr;Các ở trong tính RuntimeVisibleTypeAnnotations với RuntimeInvisibleTypeAnnotations được sử dụng để quyết định việc tệp tin .class lưu các thông tin annotations.
Nhìn chung, Java8 nhận được đánh giá tốt lấy cảm xúc từ đông đảo ý tưởng giỏi đẹp của Scala / Clojure cho việc nâng cao cú pháp của nó và tăng năng lực tìm kiếm.
*

*