Có thể bạn đã biết, từ khi sinh ra (1995) Java đã cho ra đời rất nhiều phiên bản cải tiến, nâng cấp sức mạnh ngôn ngữ.
Đến thời điểm hiện tại thì Java đã cho ra mắt phiên bản 14 và dự kiến là phiên bản 15 vào tháng 9 năm nay.
Tuy nhiên, mặc dù Java đã ra đến tận phiên bản 14 nhưng Java 8 vẫn được sử dụng nhiều nhất.
Java 8 là phiên bản được sử dụng nhiều nhất (Theo BC Khảo sát của JetBrains)
Vậy, phiên bản này có gì mà các lập trình viên lại sử dụng nhiều như thế?
1. Tại sao Java 8 lại phổ biến nhất?
Tại sao Java 8 phổ biến nhất?
Đã từng có một thời gian dài Java luôn là ngôn ngữ đứng TOP 1, đến mức nhiều người sẵn sàng muốn ủng hộ một ngôn ngữ nào đó dám thách thức Java.
Và rồi điều đó cũng xảy ra khi JavaScript và Python chuyển mình.
Mặc dù Java luôn có những phiên bản cải tiến, tuy nhiên sự thay đổi trước phiên bản Java 8 là không đủ hấp dẫn.
Nhiều đối thủ tin rằng Java đã đến tuổi xế chiều. Thậm chí những từng yêu mến Java cũng dần tỏ ra thất vọng.
Nhưng những điều mà họ dự đoán đã không xảy ra.
Tháng 3/2014, những người yêu mến Java trên thế giới đã đón nhận món quà lớn, Java bất ngờ tung ra phiên bản Java 8 thay thế phiên bản Java đã tung ra 3 năm trước đó.
Đây có thể nói là bước ngoặc đập tan mọi lời đồn, vực dậy dàn sóng Java khắp nơi.
Java 8 mang lại những tính năng giá trị thời thượng mà đáng lẽ ra nó phải có từ rất lâu rồi.
Chính những tính năng mới đã thổi một luồn sinh khí cho chặn đường phát triển của Java.
Java 8 được xem như là một bản cập nhật hoàn hảo từ trước đến giờ, vừa khắc phục các yếu điểm vừa bổ sung thêm tính năng mới để cạnh tranh với các ngôn ngữ mới nổi.
Bạn có thể hình dung xem, khi bạn mong chờ quá lâu ở con cưng của mình một điều gì đó tâm quyết, và thực sự nó đã đến – sự niềm nở và vui sướng trong bạn không thể che giấu đi được.
> Nếu bạn yêu thích ngôn ngữ Java thì KHÓA HỌC JAVA này sẽ giúp bạn chinh phục nó nhanh hơn, dễ dàng hơn với sự hướng dẫn của đại diện nhà tuyển dụng (Liên kết Đào tạo - Tuyển dụng với NIIT - ICT Hà Nội).
Chính Java 8 đã níu kéo hàng triệu đứa con sắp rời bỏ quay trở lại với tình yêu vốn có ban đầu, thách thức sự vươn mình của các thành phần còn lại.
Ngoài lý do nó là một phiên bản nổi bật, còn có một số lý do sau đây khiến nó là phiên bản phổ biến nhất:
-
Có nhiều tài liệu hướng dẫn tốt nhất
-
Đáp ứng đầy đủ các nhu cầu thông thường
-
Các phiên bản cập nhật sau Java 8 không quá khác biệt.
-
Java 8 là phiên bản mặc định được tải xuống từ trang web chính thức. Nó được cập nhật công khai, chính thức suốt từ 2014 cho đến ít nhất là cuối tháng 12/2020.
-
Java cập nhật quá nhanh (:v trước thì nói cập nhật quá lâu, giờ thì lại quá nhanh)
Dĩ nhiên, các phiên bản sau có những điểm mới, cải tiến hơn. Nhưng thị có vẻ cả thị trường đang không chạy theo kịp tốc độ ra phiên bản của Java.
Thế nên vẫn làm gì nó quen tay. :D.
2. Những tính năng nổi bật trong Java 8 so với phiên bản trước qua ví dụ
Chúng ta đã nói nhiều về tính năng nổi bật của Java 8 nhưng cụ thể đó là những tính năng gì thì chưa thực sự rõ. Những tính năng giúp Java quật lại vị thế của mình, đủ sức tranh hùng với các thế lực lân cận và làm Java trở nên hoàn thiện, đáng yêu vô ngần.
#1: Lambda Expression
Biểu thức Lambda (hoặc hàm) chỉ là một hàm ẩn danh, tức là một hàm không có tên và không bị ràng buộc với một định danh.
Là tính năng nổi bật nhất của Java 8, giúp cho cú pháp của Java trở nên đơn giản, rút gọn đi rất nhiều.
Từ đây trở đi, sẽ bớt đi rất nhiều người hay chê bai Java là ngôn ngữ dài dòng.
package java8;
import java.util.ArrayList;
import java.util.List;
public class LambdaExpression {
public static void main(String[] args) {
List<String> pointList = new ArrayList();
pointList.add("1");
pointList.add("2");
pointList.forEach(p -> {
System.out.println(p);
System.out.println("---");
});
}
}
#2: Functional Interfaces
Functional Interfaces là những bổ sung mới trong Java 8 cho phép có chính xác một phương thức trừu tượng bên trong chúng.
Các Interfaces này còn được gọi là Single Abstract Method Interfaces (SAM Interfaces).
Trong Java 8, các Functional Interfaces có thể được biểu diễn bằng các biểu thức lambda, tham chiếu phương thức và tham chiếu hàm tạo.
public interface FunctionalInterface {
public void firstWork();
@Override
public String toString();
@Override
public boolean equals(Object obj);
default void doSomeMoreWork1() {
// Method body
}
default void doSomeMoreWork2() {
// Method body
}
}
#3: Default Methods (Các phương thức mặc định)
Java 8 cho phép bạn thêm các phương thức không trừu tượng trong các Interface. Các phương thức này phải được khai báo các Default Methods.
Các phương thức này phải được khai báo các phương thức mặc định.
Các phương thức mặc định đã được giới thiệu trong Java 8 có thể tận dụng chức năng của biểu thức lambda.
Các phương thức mặc định cho phép bạn thêm chức năng mới vào các interface của thư viện và đảm bảo khả năng tương thích nhị phân với mã được viết cho các phiên bản cũ hơn của các interface đó.
public interface Moveable {
default void move(){
System.out.println("It is moving");
}
}
public class Animal implements Moveable{
public static void main(String[] args){
Animal tiger = new Animal();
tiger.move();
}
}
#4: Streams API
Cung cấp cơ chế xử lý một tập hợp dữ liệu theo nhiều cách khác nhau có thể bao gồm lọc, chuyển đổi hoặc bất kỳ cách nào khác có thể hữu ích cho ứng dụng.
Streams API trong Java 8 hỗ trợ một kiểu lặp khác nhau trong đó bạn chỉ cần xác định tập hợp các mục cần xử lý, các thao tác sẽ được thực hiện trên mỗi mục và đầu ra được lưu trữ lại.
package java8;
import java.util.Arrays;
import java.util.List;
public class IterationExamples {
public static void main(String[] args){
List<String> alphabets = Arrays.asList(new String[]{"a","b","b","d"});
for(String letter: alphabets){
System.out.println(letter.toUpperCase());
}
}
}
#5: Date and Time APIs
Đây đơn giản là một API giúp bạn xử lý ngày giờ trong ứng dụng dễ dàng hơn và ít bị lỗi hơn.
package java8;
import java.time.LocalDate;
import java.time.LocalTime;
public class DateTime8 {
public static void main(String[] args) {
LocalDate localDate = LocalDate.now();
System.out.println(localDate.toString());
System.out.println(localDate.getDayOfWeek().toString());
System.out.println(localDate.getDayOfMonth());
System.out.println(localDate.getDayOfYear());
System.out.println(localDate.isLeapYear());
System.out.println(localDate.plusDays(12).toString());
LocalTime localTime = LocalTime.of(12, 20);
System.out.println(localTime.toString());
System.out.println(localTime.getHour());
System.out.println(localTime.getMinute());
System.out.println(localTime.getSecond());
System.out.println(localTime.MIDNIGHT);
System.out.println(localTime.NOON);
}
}
Ngoài ra còn một số cập nhật, cải tiến về:
-
Collection API Enhencements
-
Annotations
-
Optional
-
Nashorn, JavaScript Engine
Mình chỉ lướt sơ ngang về một vài tính năng nổi trội của Java 8.
Số tính năng mới chưa dừng lại ở phần ví dụ trên đâu. Bạn có thể tìm hiểu thêm trên Java Documentation hoặc mình sẽ hẹn các bạn ở một bài khác để chia sẻ thêm nữa.
3. Một vài chia sẻ về các phiên bản Java mới nhất
Tính từ thời điểm ra đời Java 6 năm 2006 thì chu kì ra đời một phiên bản mới rất lâu, 3 - 4 năm cho một phiên bản. Nhưng kể từ Java 8 trở đi, Java giống như đang chạy đua để đi trước xu thế 😊 khi tung ra các phiên bản mới liên tục. Cụ thể:
-
Java SE 9 (2017)
-
Java SE 10 (3/2018)
-
Java SE 11 (9/2018)
-
Java SE 12 (3/2019)
-
Java SE 13 (9/2019)
-
Java SE 14 (3/2020)
-
Java SE 15 (dự kiến 9/2020)
> Cụ thể xem thêm tại đây: Java Version
Nhìn chung, bạn có thể thấy Java đang Update một cách chóng mặt và liên tục nâng cấp, làm mới để chạy đua cùng các ngôn ngữ hot như JavaScript, Python.
Các phiên bản mới chắc chắn hiện đại hơn, khắc phục lỗi và bổ sung thêm tính năng mới, ngày càng hoàn thiện hơn.
Nhưng với tốt độ như vậy khiến việc học và cập nhật kiến thức của chúng ta trở nên rất áp lực nếu muốn theo kịp xu thế.
Kể từ sự ra đời của Java 8, cuộc đời của anh em Java gần như được lật sang một trang mới.
Bạn và mình có thể rất vui mừng nhưng hãy tỉnh táo, Java có thể đang phát triển nhanh hơn tốc độ cập nhật của bạn.
Nếu bạn không cập nhật kịp thì có thể sẽ lạc hậu và bị đào thải một ngày không xa.
Và để chuẩn bị cho điều này thì...
> Trước tiên, hãy HỌC JAVA CƠ BẢN thật vững để dễ dàng cập nhật những thay đổi, bởi ngôn ngữ có thể thay đổi, nhưng nguyên lý thì không đổi.
---
HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI
Học Lập trình chất lượng cao (Since 2002). Học làm Lập trình viên. Hành động ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0914939543 - 0353655150
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
#niit #niithanoi niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #java #php #python