thảo luận JDK 17: Có gì đón chờ ở Java 17?

Loom - Fiber là để cạnh tranh với mấy thằng có green thread/lightweight thread/lightweight process như Erlang, Go...
Ưu điểm của đám này là nó không dùng native thread, không được schedule và manage bởi OS mà bởi VM/Runtime cho nên có thể launch cực nhanh và tiết kiệm resource.

Record là để thay thế cho class cho những usecase cần để làm data bag/data container. Trước đây thì phải dùng class để làm, giờ dùng cái này sẽ tiết kiệm resource hơn. Nó tương tự như struct bên C#.

GraalVM là để giải quyết bài toán resource consumption của JVM. JVM nó được thiết kế từ lâu đời nên không phù hợp với môi trường tính toán hiện đại sử dụng container, function, serverless. Các môi trường này cần launch và destroy nhanh.
GraalVM bản chất nó hỗ trợ build AOT, bên trong app sau khi build sẽ có nhúng một thằng lightweight VM kiểu như bên Go VM.
GraalVM định hướng của nó là universal hỗ trợ nhiều ngôn ngữ khác ngoài JVM langs như Python, Ruby, JavaScript. Vd viết code JavaScript có thể chạy thẳng trên JVM và build ra native nếu cần.

Tóm tắt mấy thứ hay dùng vậy thôi chứ thực ra còn nhiều lắm, đây là mấy thứ dev sẽ đụng nhiều :doubt:
Đồng dâm Java đây rồi, giao lưu không thím ơi !
 
Loom - Fiber là để cạnh tranh với mấy thằng có green thread/lightweight thread/lightweight process như Erlang, Go...
Ưu điểm của đám này là nó không dùng native thread, không được schedule và manage bởi OS mà bởi VM/Runtime cho nên có thể launch cực nhanh và tiết kiệm resource.
đoạn này là ntn thím nhỉ? e ko hiểu lắm, tưởng phải ngược lại mới đúng chứ
ghXpJrI.png
 
kI4a9lH.jpg

All programming languages are built-up abstractions over a set of basic operations. Choosing a programming language is accepting the abstractions presented in that language... Everything else is religion.
 
Học mấy cái features của 8,9,11 còn chưa rành nói chi 15. Giờ còn ra tới 17 thì bao giờ đụng tới?



Python viết script thì đc hoặc xài thư viện làm AI cũng ok, chứ đụng vào hệ thống hay viết web thôi là í ẹ lắm.
Java giờ nó to vãi rồi lại còn tiến hoá thêm chứ có chịu dừng đâu. Nghe chi mấy script kid nó hú hoạ. Java chết đâu từ hồi mới ra rồi đó.

Chuẩn rồi bác, Java chết từ hồi mới ra mà. Write Once Crash Anywhere :sweet_kiss:
Vẫn đang chơi với java 8, chưa biết 11 nó như nào :bad_smelly:
 
đoạn này là ntn thím nhỉ? e ko hiểu lắm, tưởng phải ngược lại mới đúng chứ
ghXpJrI.png
Lightweight thread (App thread) không phải lúc nào cũng ngon cũng thay thế được OS thread tuy nhiên ưu điểm lớn nhất của nó là lightweight, rất phù hợp với những ứng dụng yêu cầu highly concurrent.

OS thead chiếm dụng nhiều tài nguyên hơn App thread. Một OS thread khi launch có thể chiếm đến 1000KB memory, còn App thread chỉ vài KB.
Vd như bên JVM khi launch một thread thì nó sẽ map 1-1 với OS thread, chiếm khoảng 1MB/thread, launch 1000 thread thì hết tầm 1GB memory. Còn goroutines thì chỉ khoảng 2KB-4KB (khi startup và có thể tăng lên nếu cần), giảm dc 250 lần so với OS thread.

Các lightweight thread nó sẽ được VM/Runtime quản lý, multiplex map M-N với OS thead nên tận dụng tài nguyên CPU multiple core tốt hơn.
Với các môi trường highly concurrent thì VM/Runtime nó sẽ có nhiều strategy để quản lý lightweight thread, linh hoạt hơn so với việc để cho OS kernel manage.
 
Lên indeed tìm job thì Java vẫn nằm trong top ngôn ngữ được liệt kê trong danh sách tuyển nhiều nhất ở Mỹ. Nhưng video hướng dẫn, hội nhóm hoạt động lại bèo nhèo nhất, ít nhất, không xôm tụ bằng JavaScript, Python.

7457637E-11C4-4A48-9E20-DAEF7E811F08.jpeg
 
Hơi nhầm nhé my friend. Django bên Python hơi bị mạnh đấy. Nếu chơi Battery-Included. Còn đi mảng Web Service không thì FastAPI. Nói Python nó cùi mảng Web là hơi sai đấy.
Bỏ Java 5 năm rồi chuyển sang Python làm Web API đỡ mệt hẳn.
Làm prototype, microservice thì python quá ngon.
Nhất là thằng FastAPI gần đây làm tiện quá trời.
Thi thoảng đá thêm một ít Golang.:sweet_kiss:
 
Bỏ Java 5 năm rồi chuyển sang Python làm Web API đỡ mệt hẳn.
Làm prototype, microservice thì python quá ngon.
Nhất là thằng FastAPI gần đây làm tiện quá trời.
Thi thoảng đá thêm một ít Golang.:sweet_kiss:
FastAPI ngon đấy, mấy bữa GraalVM support full Python chuyển lên build trên JVM chạy tẹt :sexy_girl:
 
Thím nào cho mình hỏi cách đặt tên version của java với, cài mấy phần mềm nó yêu cầu mà k rõ, hay thấy java 7 8 1.7 1.8
 
Thím nào cho mình hỏi cách đặt tên version của java với, cài mấy phần mềm nó yêu cầu mà k rõ, hay thấy java 7 8 1.7 1.8
Java từ 1.0 - 1.4 thì vẫn vậy nhé.

Từ Java 1.5 thì Sun đổi cách đặt tên gọi là Java 5. Vì vậy: 5 = 1.5, 6 = 1.6, 7 = 1.7, 8 = 1.8.

Kể từ Java 9 thì Oracle đổi hẳn sang thành số 9, 10, 11, 12, 13, 14, 15, 16, 17. Không còn kểu đánh version 1.x nữa.

Java nó nhảy số nhảy phiên bản nhanh như bây giờ là vì philosophy phát triển phần mềm hiện đại nó thay đổi. Thay vì phát triển một đống feature mới trong vài năm mới release một phiên bản thì nó phát triển ít tính năng lại nhưng release liên tục.

Release ít feature nhưng liên tục đảm bảo tiến độ, chất lượng, khả năng thay đổi và quản lý dễ dàng hơn.

Chu kỳ release của Java bây giờ là 6 tháng một phiên bản mới và cứ 3 năm sẽ có một bản LTS được hỗ trợ chính thức 5 năm + hỗ trợ premium 3 năm nữa.
 
Back
Top