Giải đáp thắc mắc: “JDK là gì?”
BÀI LIÊN QUAN
Rust là gì? Những thông tin cần biết về ngôn ngữ lập trình Rust đầy đủ nhấtPHP là gì? Ứng dụng của ngôn ngữ PHP trong lập trình là gì?Dev là gì? Các kỹ năng cần thiết của một DeveloperTìm hiểu JDK là gì?
JDK là cụm từ viết tắt của Java Develop Kit, dịch sang nghĩa tiếng Việt là bộ công cụ phát triển ngôn ngữ lập trình viết bằng Java. JDK chính là một công nghệ và trong đó có nhiều công cụ hỗ trợ người dùng viết các chương trình ứng dụng bằng ngôn ngữ lập trình. Vậy nguồn gốc ra đời của JDK là do đâu?
JDK được ra đời như thế nào?
Ngay từ khi ngôn ngữ lập trình Java ra đời, đồng nghĩa với sự hình thành và phát triển của bộ công cụ hỗ trợ này ngay sau đó. Đây là một trong những bộ công cụ thông dụng và được sử dụng rộng rãi nhất, gắn liền với sự phát triển của ngôn ngữ lập trình Java.
JDK là một công nghệ được phát triển bởi Sun Microsystem và được GNU tuyên bố cấp phép vào ngày 11/07/2006. JDK đã được cung cấp nguồn mở và trở thành phần mềm tự do.

Trong JDK bao gồm những công cụ hỗ trợ gì?
Các bộ công cụ hỗ trợ có trong JDK là gì? Cụ thể bao gồm:
- Trình hỗ trợ thực thi các chương trình Java, hay hiểu đơn giản hơn thì đây chính là môi trường để cho Java chạy và phát triển. Môi trường này được tạo dựng để đem lại sự phát triển cho các chương trình khác. Tên gọi là Java Runtime Environment - JRE.
- Tiếp theo là trình biên dịch hỗ trợ dịch ngôn ngữ lập trình từ mã nguồn sang ngôn ngữ đích. Thông thường các ngôn ngữ nguồn sẽ đơn giản hơn những ngôn ngữ được biên dịch ra.
- Trình tạo bản phân phối cho phép tất cả các tệp thành một bản duy nhất, giúp tiết kiệm tối đa dung lượng trong quá trình sử dụng. Đồng thời dữ liệu sẽ được lưu trữ ở mức độ nhỏ hơn.
- Trình sửa lỗi chuyên dùng để phân tích và gỡ lỗi cho các chương trình Java.
- Trình tạo tài liệu.
- Thư viện lập trình.
Trên thực tế, JDK = JRE + các công cụ phát triển ứng dụng có ở bên trong JRE như trình lưu trữ, biên dịch, sửa lỗi,... Bên cạnh các công cụ hỗ trợ trên còn có rất nhiều công cụ khác trong JDK. Tuy nhiên, trong bài viết này chúng ta chỉ đi tìm hiểu sâu hơn về những bộ công cụ được đề cập trên đây.

JRE - Môi trường thời gian chạy Java trong JDK là gì?
JRE - Java Runtime Environment - là môi trường sử dụng để các ứng dụng thực thi trong khoảng thời gian lập trình. JRE có chứa các thư viện lớp Java, trình tải lớp và máy ảo Java. Cả 3 ứng dụng này có mối liên quan trực tiếp và chặt chẽ với nhau. Cùng tác động kết hợp với nhau để tạo nên một hệ thống thuận tiện nhất cung cấp môi trường cho các ứng dụng chạy trên đó.
Thư viện Java là nơi chứa nguồn tài nguyên cho bất kỳ ứng dụng nào cần, hoạt động như một kho nguyên liệu. Khi trình tải lớp, tải mã đã được biên dịch vào bộ nhớ sẽ kết nối với các thư viện lớp Java. Sau đó, máy ảo Java sẽ hoạt động dựa trên kết quả công việc ở thư viện, cho phép các chương trình Java hay ngôn ngữ khác chạy trên JRE và biên dịch sang mã Bytes Java.
Công thức cho JRE = thư viện, trình tải lớp Java + máy ảo Java - Java Virtual Machine. JRE là một trong những nền tảng vững chắc để JDK có thể phát triển và chạy được trên môi trường đó. Nói theo cách dễ hiểu hơn, JDK bắt buộc phải có JRE để có thể tạo nên một bộ công cụ phát triển chương trình Java hoàn chỉnh.
Sự tạo dựng môi trường trong JRE chính là nền tảng cho máy ảo Java - JVM được thực hiện theo một chu trình. Sự tạo dựng mối liên kết giữa các chương trình này trở thành nguồn lực cho sự phát triển của JDK.

Các công cụ hỗ trợ phát triển ứng dụng trong JDK là gì?
Từ việc tìm hiểu về các bộ phận cấu thành nên JDK bao gồm môi trường chạy ứng dụng - JRE và một số công cụ hỗ trợ khác gồm:
Java Compiler - Trình biên dịch Java
Công cụ hỗ trợ ứng dụng trong JDK là gì phải nhắc đến đầu tiên là Java Compiler - Trình biên dịch Java bao gồm các chương trình biên dịch ngôn ngữ. Đây chính là công cụ hỗ trợ khi mà người lập trình thường viết mã bằng ngôn ngữ lập trình, bộ hỗ trợ này sẽ biên dịch thành mã bytecode.
Khi các ứng dụng viết bằng ngôn ngữ Java được khởi động và thực thi, các mã bytecode này lại trở thành mã máy tính nhờ sự hoạt động của máy ảo Java. Qua đó giúp phần mềm có thể hiểu được và chạy các chương trình của người lập trình.
Có thể thấy rằng, mã bytecode ở đây đóng vai trò trung gian trong quá trình chuyển đổi ngôn ngữ lập trình với sự hỗ trợ của trình biên dịch Java.

Achieved Java - Trình lưu trữ Java
Trình lưu trữ Java được đánh giá là một công cụ hỗ trợ rất thuận tiện. Giúp các tệp nhỏ được nén lại và lưu trữ trong cùng một tệp lớn, hay còn được gọi là định dạng tập tin gói. Điều này giúp giảm tải được nguồn lưu trữ và quản lý các file dữ liệu trong máy tính dễ dàng hơn rất nhiều. Không chỉ có vậy, trình lưu trữ Java này còn giúp cho việc đồng bộ hóa các dạng tài liệu dưới định dạng đuôi .Jar.
Buggeder Tool - Công cụ gỡ lỗi
Công cụ hỗ trợ trong JDK là gì tiếp theo chính là Buggeder - Công cụ gỡ lỗi. Bug chương trình là một trong những công việc mà bất cứ lập trình viên hay người phát triển ứng dụng nào cũng cần phải làm. Trình gỡ rối là một trong những công cụ có công năng hữu dụng trong JDK.
Trước khi sử dụng công cụ gỡ lối để chương trình có thể thực thi, các lập trình viên cần phải đi kiểm tra các chương trình đã cho lập trình trước đó. Mục đích là để phát hiện ra lỗi và gỡ lỗi ở trong những chương trình đích đó. Có thể nói, đây là một trong những công đoạn quan trọng và cần thiết nhất mà lập trình viên nào cũng phải thực hiện.

Trình tạo tài liệu Javadoc
Javadoc - trình tạo tài liệu là một công cụ giúp tạo ra các tài liệu và hướng dẫn sử dụng API - Application Programming Interface. API là giao diện lập trình ứng dụng cho phép việc tạo dựng các chương trình dịch vụ hay việc trao đổi dữ liệu giữa các máy tính với nhau
Từ việc tìm hiểu thông tin về bộ công cụ phát triển ngôn ngữ lập trình Java - JDK là gì, ta cần đi nghiên cứu sâu hơn về các khái niệm và nhiệm vụ của những công cụ liên quan như JRE, JVM,... Thông qua đó giúp hiểu rõ hơn về bản chất của JDK là sự bao hàm của JRE - môi trường vận hành máy ảo JVM. JDK và các công cụ đi cùng là toàn bộ công nghệ mà nhà sản xuất Sun Microsystem đã tạo ra, được sử dụng một cách thiết thực và thuận tiện cho nhiều lĩnh vực khác trong cuộc sống.

Bài viết trên đây là toàn bộ thông tin trả lời cho câu hỏi: “JDK là gì?”. Đồng thời qua đó cũng giúp bạn đọc có thêm nhiều kiến thức hơn về chức năng và mối liên quan mật thiết của các bộ công cụ có trong JDK.