Trong năm 2014, Oracle vẫn cho desgin Java phiên bạn dạng 8 vào đó bổ sung thêm vô cùng nhiềutính năng mới. Chúng ta sẽ lấn sân vào phân tích một số trong những tính nă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, mặt khác là tính năng trông rất nổi bật nhất của Java8: cung cấp cú pháp Lambda, đây hình như là cách tân lớn tuyệt nhất trong cú pháp lập trình Java kể từ thời điểm thành lậ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 chuyển đổ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 trong Java cho phép tự suy luận kiểu dáng dữ liệu.Hãy xem xét các ví dụ có 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 luận thành phong cách String khi phương thức so sánh Integer.compare được thực hiện.
Nếu các bạn thành thạo ngôn từ Scala thì dấu “->” trong Lambdasđược áp dụng để bóc tách các khối lệnh là khá kiểu như với vết “=>” vào Scala.
Lấy cảm xúc từ Lambdas, một tập thích hợp kiểu dữ liệu chung được thực hiện trong một phạm vi tuyệt nhất định.Bạn không cẩn phải thực hiện ép kiểu trước khi gọi một cách làm của kiểu đó. Ví dụ:
SomeClass.method();Có thể được gọi mà ko cần suy xét kiểu dữ liệu:Kiểu tài liệu được tự động suy luận giúp câu hỏi gọi những phương thức lồng nhau một cách tiện lợi hơn:
Stream trở nên một iterator chất nhận được chạy tuần tự trải qua collection của nó.Cùng cùng với Lambdas, đây là một nhân tài đáng chăm chú để xem.Bạn có thể sử dụng các stream để tiến hành các chức năng tính toán như Filter hoặc Map/reduce trải qua collection.Streams có thể chạy tuần từ hoặc song song theo nhu cầu của lập trình sẵn viên.Chế độ song song được thực hiện để tích hợp, liên lạc những framework hoặc tận dụng tối đa sức mạnh của chíp đa nhân.Ví dụ:
List guys = list.getStream.collect(Collectors.toList())cũng hoàn toàn có thể được thực hiện tuy nhiên song như sau:
List guys = list.getStream.parallel().collect(Collectors.toList()Một ví dụ như khác cực tốt để triển khai reduce một colletion thành một giá trị bằng phương pháp gọi lời giải reduce.

Xem thêm: Phim Âm Mưu Của Lọ Lem Vietsub, Perfect Proposal (2015), Perfect Proposal (Hd Vietsub)


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ó chứa một số phương thức mặc định mà không cần phải được thực hiện có thể chấp nhận được chạy thẳng từ giao diện.Điều này rất có ích với những mã tất cả sẵn – chuyển đổi giao diện không yêu cầu toàn bộ các Class setup các cách tiến hành mới.Điều này cũng tương tự như điểm sáng trong Scala..
Đây là javascriptenginecho phép chúng ta chạy javascript trên một JVM.Nó tương tự nhưengineV8 cungcấp bởi vì chrome dùng để làm chạy Node.js.Nó cân xứng với những ứng dụng Node.js trong những khi đồng thời hỗ trợ các thư viện Java được gọi thông qua mã javascript chạy xe trên máy chủ.Thật độc đáo khi nó phối kết hợp khả năng không ngừng mở rộng và tính không đồng điệu của Node.js với tính bình yên và phổ biến rộng rãi của ngôn ngữ Java.
ListCách khai báo này là hữu ích trong một trong những trường hợp.Ngoài mô tả các kiểu tài liệu chung, nó còn được sử dụng trong số hàm khởi chế tạo và nghiền kiểu gửi đổi.
NotNull String<> arr;Các ở trong tính RuntimeVisibleTypeAnnotations và RuntimeInvisibleTypeAnnotations được sử dụng để ra quyết định việc tệp tin .class lưu các thông tin annotations.
Nhìn chung, Java8 thừa nhận được reviews tốt lấy cảm xúc từ rất nhiều ý tưởng tốt đẹp của Scala / Clojure cho việc nâng cấp cú pháp của nó và tăng năng lực tìm kiếm.
*

*