Tải và thực thi class files trong JVM
Java class loader trong JVM
Mọi thứ trong java là một lớp(class), và tất cả các ứng dụng Java được xây dựng từ các lớp(classes). Một ứng dụng có thể bao gồm một lớp hoặc hàng ngàn lớp. Để chạy một ứng dụng Java, JVM phải tải các tệp .class đã biên dịch vào context, chẳng hạn như một máy chủ, nơi chúng có thể được truy cập. Một JVM phụ thuộc vào trình tải lớp của nó để thực hiện chức năng này.
Trình tải lớp Java là một phần của JVM tải các lớp vào bộ nhớ và làm cho chúng có sẵn để thực thi. Trình nạp lớp sử dụng các kỹ thuật như lazy-loading và caching để làm cho việc tải lớp hiệu quả nhất có thể.
Công cụ thực thi trong JVM(The execution engine in the JVM)
Khi trình tải lớp đã hoàn thành công việc tải các lớp, JVM bắt đầu thực thi mã trong mỗi lớp. Công cụ thực thi là thành phần JVM xử lý chức năng này. Công cụ thực thi là điều cần thiết cho JVM đang chạy. Mã thực thi liên quan đến việc quản lý truy cập vào tài nguyên hệ thống. Công cụ thực thi JVM nằm giữa chương trình đang chạy – với nhu cầu về tài nguyên tệp, mạng và bộ nhớ – và hệ điều hành, cung cấp các tài nguyên đó.
Cách công cụ thực thi quản lý tài nguyên hệ thống
Tài nguyên hệ thống có thể được chia thành hai loại lớn: bộ nhớ và mọi thứ khác.
Hãy nhớ lại rằng JVM chịu trách nhiệm xử lý bộ nhớ không sử dụng và bộ sưu tập rác(garbage collection) là cơ chế thực hiện việc xử lý đó. JVM cũng chịu trách nhiệm phân bổ và duy trì cấu trúc tham chiếu mà nhà phát triển được cấp. Ví dụ, công cụ thực thi của JVM chịu trách nhiệm lấy một cái gì đó giống như từ khóa new trong Java và biến nó thành một yêu cầu dành riêng cho hệ điều hành để cấp phát bộ nhớ.
Ngoài bộ nhớ, công cụ thực thi quản lý tài nguyên để truy cập hệ thống tệp và network I/O . Do JVM có thể tương tác trên các hệ điều hành, nên đây không phải là nhiệm vụ . Ngoài nhu cầu tài nguyên của từng ứng dụng, công cụ thực thi phải đáp ứng với từng môi trường HĐH.
JRE là gì? Giới thiệu Java Runtime Environment
JRE tạo JVM và đảm bảo các phụ thuộc có sẵn cho các chương trình Java của bạn.
Thực tế mà nói, runtime enviroment là một phần mềm được thiết kế để chạy các phần mềm khác. Là runtime enviroment cho Java, JRE chứa các thư viện lớp Java, trình tải lớp Java và Máy ảo Java. Trong hệ thống này:
- Trình tải lớp chịu trách nhiệm tải chính xác các lớp và kết nối chúng với các thư viện lớp Java cốt lõi.
- JVM chịu trách nhiệm đảm bảo các ứng dụng Java có tài nguyên mà chúng cần để chạy và hoạt động tốt trong thiết bị hoặc môi trường đám mây của bạn.
- JRE chủ yếu là một thùng chứa cho các thành phần khác và chịu trách nhiệm điều phối các hoạt động của chúng.
JRE (Java Runtime Environment)
JRE (Java Runtime Environment) là môi trường thực thi Java bao gồm JVM, các thư viện và những thành phần bổ sung để chạy những ứng dụng được viết bằng Java.
JRE (Java Runtime Environment) bản chất là một gói phần mềm bao gồm cả JVM. Nếu chỉ cần chạy chương trình Java mà không cần thêm công cụ phát triển, chúng ta chỉ cần JRE là đủ. Chúng ta có thể download JRE từ website Java SE Runtime Environment của Oracle.
Tại sao JRE lại quan trọng?
Một chương trình phần mềm cần một môi trường thời gian chạy cho phép truy cập vào bộ nhớ và các tài nguyên hệ thống khác như các tập chương trình và thành phần phụ thuộc. Trước đây, hầu hết phần mềm trực tiếp sử dụng hệ điều hành để làm môi trường thời gian chạy. Tuy nhiên, điều này cũng có nghĩa rằng các nhà phát triển đã phải viết mã khác nhau cho từng hệ điều hành để có thể chạy ứng dụng trên đó. Công nghệ Môi trường thời gian chạy Java (JRE) đã được tạo ra để giải quyết vấn đề này.
JRE chính là một trong ba thành phần nền tảng Java cần có để mọi chương trình Java có thể hoạt động thành công. Bộ phát triển Java (JDK) và Máy ảo Java (JVM) là hai thành phần còn lại.
Bộ phát triển Java
JDK là một bộ công cụ phần mềm mà bạn có thể sử dụng để phát triển các ứng dụng Java. Bạn có thể thiết lập JDK trong môi trường phát triển của mình bằng cách tải xuống và cài đặt bộ công cụ này. Chọn phiên bản phần mềm JDK khớp với phiên bản Java bạn muốn sử dụng. Ví dụ: Java phiên bản tiêu chuẩn (hay Java SE) cần có Java SE JDK.
Máy ảo Java
JVM là phần mềm chạy chương trình Java theo từng dòng. Các nhà phát triển cấu hình cho cài đặt của JVM để quản lý các tài nguyên chương trình khi ứng dụng Java hoạt động. Ví dụ: Bạn có thể thay đổi cài đặt bộ nhớ của JVM và kiểm tra mức sử dụng dung lượng bộ nhớ trong của các ứng dụng Java tại thời gian chạy.
Vai trò của JRE trong ngôn ngữ lập trình Java
JRE kết hợp mã Java mà bạn tạo bằng cách sử dụng JDK với mã tích hợp bổ sung được gọi là thư viện. Sau đó, phần mềm này tạo một phiên bản JVM (hay bản sao cục bộ) để chạy các phần mềm Java sau cùng. JVM được cung cấp cho nhiều loại hệ điều hành và JRE tạo ra một bản sao mã Java chạy trên tất cả các loại JVM. Bằng cách này, JRE tạo điều kiện cho các ứng dụng Java hoạt động độc lập với nền tảng. Bạn có thể viết các ứng dụng này một lần và cho chạy ở bất cứ đâu.
Sự khác biệt giữa JRE, JVM và JDK
JDK là một lớp phần mềm nằm trên JRE có chứa trình biên dịch, trình gỡ lỗi và các công cụ khác thường thấy trong bất kỳ môi trường phát triển phần mềm nào. Bạn viết mã bằng cú pháp giống tiếng Anh trong JDK. JDK sẽ biên dịch mã này và chuyển mã dạng byte đến JRE. Trái lại, JRE chứa các thư viện lớp, tệp hỗ trợ và JVM. JRE sử dụng các thành phần phần mềm này để chạy mã dạng byte trên mọi thiết bị.
JRE bao gồm những thành phần nào?
Ngoài các thành phần chủ đạo, Môi trường thời gian chạy Java (JRE) còn chứa một số thành phần phần mềm khác giúp chạy chương trình Java hiệu quả hơn. Sau đây là một số ví dụ:
Công cụ phát triển
JRE chứa các công cụ phát triển như bộ công cụ giao diện người dùng mà bạn có thể sử dụng để cải thiện chất lượng ứng dụng của mình. Sau đây là một số ví dụ:
Java 2D
Java 2D là một giao diện lập trình ứng dụng (API) mà bạn có thể sử dụng để vẽ đồ họa hai chiều và tạo giao diện người dùng, trò chơi, hoạt ảnh và hiệu ứng đặc biệt phong phú trong ngôn ngữ Java.
Swing
Swing là một giao diện người dùng đồ họa (GUI) gọn nhẹ, cung cấp các lựa chọn tùy chỉnh linh hoạt và thân thiện với người dùng.
Bộ công cụ cửa sổ trừu tượng
Bộ công cụ cửa sổ trừu tượng (AWT) là một GUI mà bạn có thể sử dụng để tạo các đối tượng UI như nút bấm, cửa sổ và thanh cuộn.
Giải pháp triển khai
JRE bao gồm các công nghệ giúp đơn giản hóa quá trình thay đổi phần mềm cho người dùng ứng dụng. Những công nghệ này cũng cung cấp khả năng hỗ trợ nâng cao cho các bản cập nhật ứng dụng. Các công nghệ triển khai như Java Web Start và phần bổ trợ của Java đều nằm trong quá trình cài đặt JRE. Những công nghệ này đơn giản hóa việc kích hoạt ứng dụng đồng thời cung cấp khả năng hỗ trợ nâng cao cho các bản cập nhật của JRE trong tương lai. Sau đây là một số ví dụ:
Java Web Start
Với Java Web Start, bạn có thể khởi chạy các ứng dụng đầy đủ tính năng chỉ với một cú nhấp chuột từ trình duyệt web của mình.
Phần bổ trợ của Java
Phần bổ trợ của Java thiết lập kết nối giữa các trình duyệt phổ biến và nền tảng Java, do đó bạn có thể chạy các applet trang web trong một trình duyệt máy tính.
Thư viện ngôn ngữ và tiện ích
Một bộ tệp lớp Java được gọi là gói Java. JRE bao gồm một số gói Java hỗ trợ lập phiên bản, quản lý và giám sát. Sau đây là một số ví dụ về gói:
Khung bộ giao diện
Khung bộ giao diện là một kiến trúc thống nhất, bao gồm các giao diện dùng để cải thiện khả năng lưu trữ và xử lý dữ liệu ứng dụng.
API tùy chọn
API tùy chọn cho phép nhiều người dùng trên cùng một máy xác định nhóm tùy chọn ứng dụng của riêng mình.
Tạo bản ghi
Gói tạo bản ghi cung cấp các bản ghi báo cáo về việc khắc phục sự cố như sự cố bảo mật, vấn đề về hiệu năng và lỗi cấu hình.
Lưu trữ Java
Lưu trữ Java (JAR) là một định dạng tệp độc lập với nền tảng cho phép bạn gói gọn nhiều tệp để giảm kích cỡ tệp ứng dụng và cải thiện đáng kể tốc độ tải xuống.
Thư viện tích hợp
JRE bao gồm một số thư viện tích hợp hỗ trợ nhà phát triển trong việc tạo kết nối dữ liệu liền mạch giữa các dịch vụ và ứng dụng của họ. Sau đây là một số ví dụ về thư viện:
Java IDL
Ngôn ngữ xác định giao diện (IDL) Java dựa trên Kiến trúc trung chuyển yêu cầu đối tượng phổ biến (CORBA), hỗ trợ các đối tượng dữ liệu phân tán—tức là các đối tượng tương tác trên các nền tảng khác nhau trên một mạng. Ví dụ: Java IDL cho phép các đối tượng được viết bằng Java tương tác với các đối tượng được viết bằng ngôn ngữ khác như C, C++ hoặc COBOL.
Kết nối cơ sở dữ liệu Java
Các nhà phát triển sử dụng API Kết nối cơ sở dữ liệu Java (JDBC) để viết ứng dụng có thể truy cập cơ sở dữ liệu, bảng tính và tệp từ xa.
Giao diện thư mục và đặt tên Java
Giao diện thư mục và đặt tên Java (JNDI) là một dịch vụ thư mục cho phép khách hàng tạo ứng dụng di động tìm nạp thông tin từ cơ sở dữ liệu bên ngoài bằng các quy tắc đặt tên.
SDK AWS dành cho Java là gì?
Bộ phát triển phần mềm (SDK) của AWS dành cho Java giúp đơn giản hóa việc sử dụng các dịch vụ AWS bằng cách cung cấp một tập hợp thư viện đồng nhất và quen thuộc cho các nhà phát triển Java. AWS SDK cho Java cũng hỗ trợ mức trừu tượng cấp cao hơn cho quy trình phát triển đơn giản hóa. Các thư viện Java mã nguồn mở, tập trung vào AWS được cung cấp kèm theo ví dụ về mã và một hướng dẫn tham khảo API Java.
Ví dụ về mã SDK AWS dành cho Java 2.0 trên GitHub chứa các ví dụ về mã Java và các trường hợp sử dụng trong thế giới thực đối với các dịch vụ AWS nhằm thúc đẩy quá trình phát triển ứng dụng của bạn. Ngoài ra, Hướng dẫn tham khảo API SDK AWS dành cho Java mô tả các hoạt động của API cho phiên bản SDK AWS dành cho Java mới nhất. Hướng dẫn tham khảo này cũng cung cấp ví dụ về các yêu cầu, phản hồi và lỗi đối với các giao thức dịch vụ web được hỗ trợ.
Bắt đầu sử dụng SDK AWS dành cho Java theo Hướng dẫn cho nhà phát triển về SDK AWS dành cho Java hoặc truy cập Trung tâm nhà phát triển AWS Java.
Go to the Oracle Java Archive page.
The JDK is a development environment for building applications using the Java programming language.
The JDK includes tools useful for developing and testing programs written in the Java programming language and running on the JavaTM platform.
The Oracle JDK License has changed for releases starting April 16, 2019.
The new Oracle Technology Network License Agreement for Oracle Java SE is substantially different from prior Oracle JDK licenses. The new license permits certain uses, such as personal use and development use, at no cost — but other uses authorized under prior Oracle JDK licenses may no longer be available. Please review the terms carefully before downloading and using this product. An FAQ is available here.
Commercial license and support is available with a low cost Java SE Subscription.
Oracle also provides the latest OpenJDK release under the open source GPL License at jdk.java.net.
WARNING: These older versions of the JRE and JDK are provided to help developers debug issues in older systems. They are not updated with the latest security patches and are not recommended for use in production.
For production use Oracle recommends downloading the latest JDK and JRE versions and allowing auto-update.
Only developers and Enterprise administrators should download these releases.
Downloading these releases requires an oracle.com account. If you don’t have an oracle.com account you can use the links on the top of this page to learn more about it and register for one for free.
For current Java releases, please consult the Oracle Software Download page.
This software is licensed under the Oracle Technology Network License Agreement for Oracle Java SE
|
|
|
Linux Debian Package | 157.93 MB | |
Linux RPM Package | 165.06 MB | |
Linux Compressed Archive | 182.06 MB | |
macOS Installer | 176.37 MB | |
macOS Compressed Archive | 176.79 MB | |
Windows x64 Installer | 162.11 MB | |
Windows x64 Compressed Archive | 181.56 MB |
This software is licensed under the Oracle Technology Network License Agreement for Oracle Java SE
|
|
|
Linux Debian Package | 157.92 MB | |
Linux RPM Package | 165.04 MB | |
Linux Compressed Archive | 182.04 MB | |
macOS Installer | 175.77 MB | |
macOS Compressed Archive | 176.19 MB | |
Windows x64 Installer | 162.07 MB | |
Windows x64 Compressed Archive | 181.53 MB |
This software is licensed under the Oracle Technology Network License Agreement for Oracle Java SE
|
|
|
Linux Debian Package | 157.91 MB | |
Linux RPM Package | 165.03 MB | |
Linux Compressed Archive | 182.04 MB | |
macOS Installer | 176.34 MB | |
macOS Compressed Archive | 176.8 MB | |
Windows x64 Installer | 162.08 MB | |
Windows x64 Compressed Archive | 181.54 MB |
Trong bài này, chúng ta sẽ tìm hiểu về JVM, JRE, JDK. Nó bao gồm những thành phần nào và nhiệm vụ của nó là gì?
JVM (Java Virtual Machine) là tạo ra môi trường máy ảo để thực thi mã java bytecode.
- Máy ảo Java là phần mềm giả lập máy tính, nó tập hợp các lệnh logic để xác định hoạt động của máy.
- Có thể xem nó như là một hệ điều hành thu nhỏ.
- JVM chuyển mã byte code thành machine code tùy theo môi trường tương ứng (gọi là khả năng khả chuyển)
- JVM cung cấp môi trường thực thi cho chương trình Java (gọi đó là khả năng độc lập với nền).
JVM có sẵn trong nhiều phần cứng và nền tảng phần mềm.
JVM gồm 4 nhiệm vụ chính: Load code, Verifies code, Executes code, Provides runtime enviroment.
JRE viết tắt Java Runtime Enviromement. Nó bao gồm các thư viện và các file mà JVM sử dụng lúc thực thi.
JDK viết tắt của Java Development Kit. Nó gồm JRE + công cụ phát triển.
Bộ công cụ JDK gồm các chương trình thực thi đáng chú ý sau:
- javac: Chương trình biên dịch các chương trình nguồn viết bằng ngôn ngữ java ra các tập tin thực thi được trên máy ảo Java.
- java: Một chương trình để dịch mã mà bạn viết thành mã bytecode, khi ứng dụng Java chạy nó dịch mã bytecode thành mã máy tính và thực thi, điều đó có nghĩa là bytecode chỉ là một mã trung gian.Đây là chương trình làm máy ảo của Java, thông dịch mã Bytecode của các chương trình kiểu application thành mã thực thi của máy thực.
- Archive (jar): Là một chương trình nén các file thành một file duy nhất có đuôi jar. Thường dùng để đóng gói các file class.
- Javadoc: Là một công cụ tạo ra tài liệu hướng dẫn sử dụng API.
- appletviewer: Bộ thông dịch, thực thi các chương trình kiểu applet.
- javadoc: Tạo tài liệu về chú thích chương trình nguồn một cách tự động.
- jdb: Trình gở rối.
- rmic: Tạo Stub cho ứng dụng kiểu RMI.
- rmiregistry: Phục vụ danh bạ (Name Server) trong hệ thống RMI
Ứng dụng của Java SE – Học Java SE thì làm gì?
Các ứng dụng thực tế của Java Se
Khi mới bắt đầu, có thể do các khái niệm quá nhiều và còn có đôi chút giống nhau nên bạn sẽ khó phân biệt. Nhưng bạn cứ yên tâm, khi bắt đầu vào học, bạn có những trải nghiệm thực thế thì bạn sẽ hiểu ra ngay thôi.
Học Java SE thì bạn sẽ lập trình được phần mềm Java chạy trên mọi nền tảng như máy Mac OS, Linux hay Windows là đều dễ dàng chỉ cần viết code một lần.
Java chạy trên máy ảo Java (JVM) và sẽ thực hiện nhiệm vụ giao tiếp với các nền tảng ngay trên máy ảo. Tính bảo mật của Java khá an toàn, bạn sẽ chỉ cần chạy một lần vì tính bảo mật của nó là như nhau trên các nền tảng.
Quản lý bộ nhớ trong java 8
Cho đến Java 8, metaspace được biết đến như là permgen. Bên cạnh việc là một cái tên hay hơn nhiều, metaspace là một thay đổi quan trọng đối với cách các nhà phát triển tương tác với không gian bộ nhớ của Java. Trước đây, bạn sẽ sử dụng lệnh * java -XX: MaxPermSize* để theo dõi kích thước của không gian permgen. Từ Java 8 trở đi, Java sẽ tự động tăng kích thước của metaspace để đáp ứng nhu cầu meta của chương trình của bạn. Java 8 cũng giới thiệu một cờ mới, MaxMetaspaceSize, có thể được sử dụng để giới hạn kích thước metaspace.
Các tùy chọn bộ nhớ khác, heap và stack, vẫn giữ nguyên trong Java 8.
Các bước cài đặt JDK trên hệ điều hành Windows
Bước 1: Chạy file cài đặt
Bước 2: Tiến hành các thao tác cài đặt JDK
Nhấn Next để bắt đầu cài đặt.
Chọn đường dẫn JDK, mặc định là: “C:\Program Files\Java\jdk1.8.0_51\”
Chọn đường dẫn JRE, mặc định là: “C:\Program Files\Java\jre1.8.0_51\”
Quá trình cài đặt đang diễn ra, sau đó nhấn Finish để hoàn tất quá trình cài đặt.
Bước 3: Hoàn tất quá trình cài đặt
Sau khi cài đặt, chúng ta sẽ thấy thư mục đã cài đặt của JDK và JRE.
Cấu hình biến môi trường cho Java
Để có thể sử dụng các trình biên dịch và thông dịch Java trong hệ điều hành Windows, cần cấu hình biến môi trường cho Java trong Windows. Vào Control Panel, tìm mục Advanced system settings, chọn Environment Variables.
Nhấn New để tạo mới một biến môi trường có tên “JAVA_HOME”.
Thêm “%JAVA_HOME%\bin;” vào Variable value của biến Path.
Kiểm tra cấu hình biến môi trường thành công
Vào giao diện Command Prompt, gõ lệnh
java -version
, kết quả trả về cho thấy version đã cài đặt của Java là thành công.
Bạn đang tìm hiểu về Java và chưa biết Java Se là gì? Nắm rõ về Java Se và các thành phần: Java Development Kit và Java Runtime Environment cùng CodeGym Hà Nội trong bài viết dưới đây.
Nội dung
Looking for other Java downloads?
JDK 21 is the latest long-term support release of Java SE Platform.
JDK 21 binaries are free to use in production and free to redistribute, at no cost, under the Oracle No-Fee Terms and Conditions (NFTC).
JDK 21 will receive updates under the NFTC, until September 2026, a year after the release of the next LTS. Subsequent JDK 21 updates will be licensed under the Java SE OTN License (OTN) and production use beyond the limited free grants of the OTN license will require a fee.
Product/file description | File size | Download |
ARM64 Compressed Archive | 186.57 MB | |
ARM64 RPM Package | 186.27 MB | |
x64 Compressed Archive | 188.29 MB | |
x64 Debian Package | 160.09 MB | |
x64 RPM Package | 187.99 MB |
Product/file description | File size | Download |
ARM64 Compressed Archive | 182.11 MB | |
ARM64 DMG Installer | 181.42 MB | |
x64 Compressed Archive | 184.35 MB | |
x64 DMG Installer | 183.67 MB |
Product/file description | File size | Download |
x64 Compressed Archive | 185.52 MB | |
x64 Installer | 163.91 MB | |
x64 MSI Installer | 162.07MB |
JDK 17 binaries are free to use in production and free to redistribute, at no cost, under the Oracle No-Fee Terms and Conditions (NFTC).
JDK 17 will receive updates under the NFTC, until September 2024. Subsequent JDK 17 updates will be licensed under the Java SE OTN License (OTN) and production use beyond the limited free grants of the OTN license will require a fee.
Product/file description | File size | Download |
ARM64 Compressed Archive | 172.65 MB | |
ARM64 RPM Package | 172.40 MB | |
x64 Compressed Archive | 174.03 MB | |
x64 Debian Package | 149.43 MB | |
x64 RPM Package | 173.77 MB |
Product/file description | File size | Download |
ARM64 Compressed Archive | 168.20 MB | |
ARM64 DMG Installer | 167.59 MB | |
x64 Compressed Archive | 170.64 MB | |
x64 DMG Installer | 170.06 MB |
Product/file description | File size | Download |
x64 Compressed Archive | 172.47 MB | |
x64 Installer | 153.55 MB | |
x64 MSI Installer | 152.34 MB |
GraalVM for JDK 21 binaries are free to use in production and free to redistribute, at no cost, under the GraalVM Free Terms and Conditions (GFTC).
GraalVM for JDK 21 will receive updates under the GFTC, until September 2026, a year after the release of the next LTS. Subsequent updates of GraalVM for JDK 21 will be licensed under the GraalVM OTN License Including License for Early Adopter Versions (GOTN) and production use beyond the limited free grants of the GraalVM OTN license will require a fee.
Oracle GraalVM uses the Graal just-in-time compiler and includes the Native Image feature as optional early adopter technology.
Native Image is extensively tested and supported for use in production, but is not a conformant implementation of the Java Platform. GraalVM for JDK 21 without the Native Image feature included is available for customers at My Oracle Support.
Product/file description | File size | Download |
ARM64 Compressed Archive | 309.98 MB | |
x64 Compressed Archive | 323.56 MB |
Product/file description | File size | Download |
ARM64 Compressed Archive | 314.07 MB | |
x64 Compressed Archive | 301.92 MB |
Product/file description | File size | Download |
x64 Compressed Archive | 310.89 MB |
GraalVM for JDK 17 binaries are free to use in production and free to redistribute, at no cost, under the GraalVM Free Terms and Conditions (GFTC).
GraalVM for JDK 17 will receive updates under the GFTC, until September 2024. Subsequent updates of GraalVM for JDK 17 will be licensed under the GraalVM OTN License Including License for Early Adopter Versions (GOTN) and production use beyond the limited free grants of the GraalVM OTN license will require a fee.
Oracle GraalVM uses the Graal just-in-time compiler and includes the Native Image feature as optional early adopter technology.
Native Image is extensively tested and supported for use in production, but is not a conformant implementation of the Java Platform. GraalVM for JDK 17 without the Native Image feature included is available for customers at My Oracle Support.
Product/file description | File size | Download |
ARM64 Compressed Archive | 298.41 MB | |
x64 Compressed Archive | 316.92 MB |
Product/file description | File size | Download |
ARM64 Compressed Archive | 350.37 MB | |
x64 Compressed Archive | 299.12 MB |
Product/file description | File size | Download |
x64 Compressed Archive | 305.23 MB |
Script-friendly Download URLs
The URLs listed above will remain the same for update releases to allow their use in scripts.
Learn more about automating these downloads
Java SE subscribers get support for JDK 17, receive updates until at least October 2029, are entitled to GraalVM, Java Management Service, and bundled patch releases (BPRs) with fixes not yet available to nonsubscribers, and more.
Also available for development, personal use, and to run other licensed Oracle products.
Java SE subscribers will receive JDK 8 updates until at least December 2030.
Manual update required for some Java 8 users on macOS.
The Oracle JDK 8 license changed in April 2019
The Oracle Technology Network License Agreement for Oracle Java SE is substantially different from prior Oracle JDK 8 licenses. This license permits certain uses, such as personal use and development use, at no cost — but other uses authorized under prior Oracle JDK licenses may no longer be available. Please review the terms carefully before downloading and using this product. FAQs are available here.
Commercial license and support are available for a low cost with Java SE Universal Subscription.
JDK 8 software is licensed under the Oracle Technology Network License Agreement for Oracle Java SE.
Java SE 8u401 checksums and OL 8 GPG Keys for RPMs
Product/file description | File size | Download |
ARM64 RPM Package | 71.70 MB | |
ARM64 Compressed Archive | 71.88 MB | |
x86 RPM Package | 140.75 MB | |
x86 Compressed Archive | 138.13 MB | |
x64 RPM Package | 137.79 MB | |
x64 Compressed Archive | 135.04 MB |
Product/file description | File size | Download |
ARM64 Compressed Archive | 119.42 MB | |
ARM64 DMG Installer | 201.35 MB | |
x64 DMG Installer | 208.95 MB |
Product/file description | File size | Download |
SPARC 64-bit (SVR4 package) | 118.39 MB | |
SPARC 64-bit Compressed Archive | 84.35 MB | |
x64 (SVR4 package) | 119.34 MB | |
x64 Compressed Archive | 82.25 MB |
Product/file description | File size | Download |
x86 Installer | 139.73 MB | |
x64 Installer | 149.08 MB |
Java SE Runtime Environment 8u401
JRE 8 software is licensed under the Oracle Technology Network License Agreement for Oracle Java SE.
Product/file description | File size | Download |
x86 RPM Package | 101.03 MB | |
x86 Compressed Archive | 98.40 MB | |
x64 RPM Package | 97.94 MB | |
x64 Compressed Archive | 95.19 MB |
Product/file description | File size | Download |
x64 DMG Installer | 88.59 MB | |
x64 Compressed Archive | 82.07 MB | |
ARM64 DMG Installer | 84.60 MB | |
ARM64 Compressed Archive | 78.15 MB |
Product/file description | File size | Download |
SPARC 64-bit Compressed Archive | 53.28 MB | |
x64 Compressed Archive | 51.17 MB |
Product/file description | File size | Download |
x86 Online Installer | 2.24 MB | |
x86 Offline Installer | 58.41 MB | |
x86 Compressed Archive | 74.66 MB | |
x64 Installer | 64.43 MB | |
x64 Compressed Archive | 81.41 MB |
Server JRE (Java SE Runtime Environment) 8u401
Server JRE 8 software is licensed under the Oracle Technology Network License Agreement for Oracle Java SE
Product/file description | File size | Download |
x64 Compressed Archive | 52.99 MB |
Product/file description | File size | Download |
SPARC 64-bit | 65.11 MB | |
x64 Compressed Archive | 63.00 MB |
Product/file description | File size | Download |
x64 Installer | 51.47 MB |
For Java developers. Includes a complete JRE plus tools for developing, debugging, and monitoring Java applications.
Enterprise Performance Pack brings significant memory and performance improvements including modern garbage collection algorithms, reduced memory usage and many other optimizations.
Server Java Runtime Environment (Server JRE). For deploying Java applications on servers. Includes tools for JVM monitoring and tools commonly required for server applications, but does not include browser integration (Java plug-in), auto-update, or an installer.
Covers most end-users needs. Contains everything required to run Java applications on your system.
Java SE subscribers will receive JDK 11 updates until at least January 2032.
These downloads can be used for development, personal use, or to run Oracle licensed products. Use for other purposes, including production or commercial use, requires a Java SE Universal Subscription or another Oracle license.
Commercial license and support are available for a low cost with Java SE Universal Subscription.
JDK 11 software is licensed under the Oracle Technology Network License Agreement for Oracle Java SE.
JDK 11.0.22 checksums and OL 8 GPG Keys for RPMs
Product/file description | File size | Download |
ARM64 RPM Package | 159.36 MB | |
ARM64 Compressed Archive | 159.46 MB | |
x64 Debian Package | 138.39 MB | |
x64 RPM Package | 160.72 MB | |
x64 Compressed Archive | 160.84 MB |
Product/file description | File size | Download |
ARM64 Compressed Archive | 154.14 MB | |
ARM64 DMG Installer | 153.61 MB | |
x64 Compressed Archive | 156.41 MB | |
x64 DMG Installer | 155.90 MB |
Product/file description | File size | Download |
SPARC Compressed Archive | 185.25 MB |
Product/file description | File size | Download |
x64 Installer | 141.43 MB | |
x64 Compressed Archive | 159.18 MB |
These downloads can be used for development, personal use, or within Oracle Cloud. Use for other purposes, including production or commercial use, requires a Java SE subscription product.
Commercial license and support are available for a low cost with Java SE Universal Subscription.
Java 8 Enterprise Performance Pack is licensed under the Oracle Technology Network License Agreement for Oracle Java SE.
Java SE 8u401 checksums
Product/file description | File size | Download |
ARM64 RPM Package | 53.00 MB | |
ARM64 Compressed Archive | 53.24 MB | |
x64 RPM Package | 55.18 MB | |
x64 Compressed Archive | 57.47 MB |
Go to the Oracle Java Archive
The JDK is a development environment for building applications using the Java programming language.
The JDK includes tools useful for developing and testing programs written in the Java programming language and running on the JavaTM platform.
WARNING: These older versions of the JRE and JDK are provided to help developers debug issues in older systems. They are not updated with the latest security patches and are not recommended for use in production.
These Java SE 8 update releases are provided under the Binary Code License (“BCL”).
Java SE 8u211 and later updates are available, under the Java SE OTN License.
For production use Oracle recommends downloading the latest JDK and JRE versions and allowing auto-update.
Only developers and Enterprise administrators should download these releases.
Downloading these releases requires an oracle.com account. If you don’t have an oracle.com account you can use the links on the top of this page to learn more about it and register for one for free.
For current Java releases, please consult the Oracle Software Download page.
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux ARM v6/v7 Soft Float ABI | 72.86 MB | |
Linux ARM v6/v7 Soft Float ABI | 69.75 MB | |
Linux x86 | 173.08 MB | |
Linux x86 | 187.9 MB | |
Linux x64 | 170.15 MB | |
Linux x64 | 185.05 MB | |
Mac OS X x64 | 249.15 MB | |
Solaris SPARC 64-bit (SVR4 package) | 125.09 MB | |
Solaris SPARC 64-bit | 88.1 MB | |
Solaris x64 (SVR4 package) | 124.37 MB | |
Solaris x64 | 85.38 MB | |
Windows x86 | 201.64 MB | |
Windows x64 | 211.58 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 70.22 MB | |
Linux x86 | 85.93 MB | |
Linux x64 | 67.04 MB | |
Linux x64 | 82.86 MB | |
Mac OS X x64 | 77.79 MB | |
Mac OS X x64 | 69.37 MB | |
Solaris SPARC 64-bit | 46.07 MB | |
Solaris x64 | 43.36 MB | |
Windows x86 Online | 1.83 MB | |
Windows x86 Offline | 65.73 MB | |
Windows x86 | 68.4 MB | |
Windows x64 | 73.7 MB | |
Windows x64 | 73.25 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 52.69 MB | |
Solaris SPARC 64-bit | 57.81 MB | |
Solaris x64 | 55.1 MB | |
Windows x64 | 48.79 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux ARM v6/v7 Soft Float ABI | 72.98 MB | |
Linux ARM v6/v7 Soft Float ABI | 69.92 MB | |
Linux x86 | 170.98 MB | |
Linux x86 | 185.77 MB | |
Linux x64 | 168.05 MB | |
Linux x64 | 182.93 MB | |
Mac OS X x64 | 245.92 MB | |
Solaris SPARC 64-bit (SVR4 package) | 125.33 MB | |
Solaris SPARC 64-bit | 88.31 MB | |
Solaris x64 (SVR4 package) | 133.99 MB | |
Solaris x64 | 92.16 MB | |
Windows x86 | 197.66 MB | |
Windows x64 | 207.46 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 68.1 MB | |
Linux x86 | 83.8 MB | |
Linux x64 | 64.91 MB | |
Linux x64 | 80.73 MB | |
Mac OS X x64 | 76.18 MB | |
Mac OS X x64 | 67.77 MB | |
Solaris SPARC 64-bit | 46.27 MB | |
Solaris x64 | 50.14 MB | |
Windows x86 Online | 1.87 MB | |
Windows x86 Offline | 63.53 MB | |
Windows x86 | 66.51 MB | |
Windows x64 | 71.44 MB | |
Windows x64 | 71.29 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 52.86 MB | |
Solaris SPARC 64-bit | 58.02 MB | |
Solaris x64 | 61.87 MB | |
Windows x64 | 48.91 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux ARM 32 Hard Float ABI | 73 MB | |
Linux ARM 64 Hard Float ABI | 69.92 MB | |
Linux x86 | 170.9 MB | |
Linux x86 | 185.7 MB | |
Linux x64 | 167.99 MB | |
Linux x64 | 182.87 MB | |
Mac OS X x64 | 245.92 MB | |
Solaris SPARC 64-bit (SVR4 package) | 133.2 MB | |
Solaris SPARC 64-bit | 94.33 MB | |
Solaris x64 (SVR4 package) | 134.01 MB | |
Solaris x64 | 92.17 MB | |
Windows x86 | 197.57 MB | |
Windows x64 | 207.42 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 68.01 MB | |
Linux x86 | 83.74 MB | |
Linux x64 | 64.86 MB | |
Linux x64 | 80.68 MB | |
Mac OS X x64 | 76.15 MB | |
Mac OS X x64 | 67.76 MB | |
Solaris SPARC 64-bit | 52.29 MB | |
Solaris x64 | 50.16 MB | |
Windows x86 Online | 1.8 MB | |
Windows x86 Offline | 63.43 MB | |
Windows x86 | 66.5 MB | |
Windows x64 | 71.36 MB | |
Windows x64 | 71.29 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 52.84 MB | |
Solaris SPARC 64-bit | 64.03 MB | |
Solaris x64 | 61.88 MB | |
Windows x64 | 48.9 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux ARM 32 Hard Float ABI | 72.97 MB | |
Linux ARM 64 Hard Float ABI | 69.92 MB | |
Linux x86 | 170.89 MB | |
Linux x86 | 185.69 MB | |
Linux x64 | 167.99 MB | |
Linux x64 | 182.87 MB | |
Mac OS X x64 | 245.92 MB | |
Solaris SPARC 64-bit (SVR4 package) | 133.04 MB | |
Solaris SPARC 64-bit | 94.28 MB | |
Solaris x64 (SVR4 package) | 134.04 MB | |
Solaris x64 | 92.13 MB | |
Windows x86 | 197.34 MB | |
Windows x64 | 207.22 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 68 MB | |
Linux x86 | 83.72 MB | |
Linux x64 | 64.85 MB | |
Linux x64 | 80.67 MB | |
Mac OS X x64 | 76.15 MB | |
Mac OS X x64 | 67.75 MB | |
Solaris SPARC 64-bit | 52.25 MB | |
Solaris x64 | 50.14 MB | |
Windows x86 Online | 1.8 MB | |
Windows x86 Offline | 63.17 MB | |
Windows x86 | 66.52 MB | |
Windows x64 | 71.16 MB | |
Windows x64 | 71.32 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 52.84 MB | |
Solaris SPARC 64-bit | 63.99 MB | |
Solaris x64 | 61.85 MB | |
Windows x64 | 48.9 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux ARM 32 Hard Float ABI | 72.95 MB | |
Linux ARM 64 Hard Float ABI | 69.89 MB | |
Linux x86 | 165.06 MB | |
Linux x86 | 179.87 MB | |
Linux x64 | 162.15 MB | |
Linux x64 | 177.05 MB | |
Mac OS X x64 | 242.83 MB | |
Solaris SPARC 64-bit (SVR4 package) | 133.17 MB | |
Solaris SPARC 64-bit | 94.34 MB | |
Solaris x64 (SVR4 package) | 133.83 MB | |
Solaris x64 | 92.11 MB | |
Windows x86 | 194.41 MB | |
Windows x64 | 202.73 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 64.49 MB | |
Linux x86 | 80.4 MB | |
Linux x64 | 61.45 MB | |
Linux x64 | 77.43 MB | |
Mac OS X x64 | 74.58 MB | |
Mac OS X x64 | 66.23 MB | |
Solaris SPARC 64-bit | 52.31 MB | |
Solaris x64 | 50.09 MB | |
Windows x86 Online | 1.81 MB | |
Windows x86 Offline | 61.55 MB | |
Windows x86 | 64.86 MB | |
Windows x64 | 68.47 MB | |
Windows x64 | 68.94 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 52.29 MB | |
Solaris SPARC 64-bit | 64.04 MB | |
Solaris x64 | 61.8 MB | |
Windows x64 | 48.89 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux ARM 32 Hard Float ABI | 77.99 MB | |
Linux ARM 64 Hard Float ABI | 74.9 MB | |
Linux x86 | 170.07 MB | |
Linux x86 | 184.91 MB | |
Linux x64 | 167.15 MB | |
Linux x64 | 182.08 MB | |
Mac OS X x64 | 247.87 MB | |
Solaris SPARC 64-bit (SVR4 package) | 140.05 MB | |
Solaris SPARC 64-bit | 99.35 MB | |
Solaris x64 (SVR4 package) | 140.63 MB | |
Solaris x64 | 97.06 MB | |
Windows x86 | 199.11 MB | |
Windows x64 | 207.3 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 64.49 MB | |
Linux x86 | 80.4 MB | |
Linux x64 | 61.44 MB | |
Linux x64 | 77.42 MB | |
Mac OS X x64 | 74.61 MB | |
Mac OS X x64 | 66.22 MB | |
Solaris SPARC 64-bit | 52.29 MB | |
Solaris x64 | 50.04 MB | |
Windows x86 Online | 1.79 MB | |
Windows x86 Offline | 61.68 MB | |
Windows x86 | 64.85 MB | |
Windows x64 | 68.54 MB | |
Windows x64 | 68.94 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 52.28 MB | |
Solaris SPARC 64-bit | 64.04 MB | |
Solaris x64 | 61.76 MB | |
Windows x64 | 48.68 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux ARM 32 Hard Float ABI | 77.97 MB | |
Linux ARM 64 Hard Float ABI | 74.89 MB | |
Linux x86 | 170.05 MB | |
Linux x86 | 184.88 MB | |
Linux x64 | 167.14 MB | |
Linux x64 | 182.05 MB | |
Mac OS X x64 | 247.84 MB | |
Solaris SPARC 64-bit (SVR4 package) | 139.83 MB | |
Solaris SPARC 64-bit | 99.19 MB | |
Solaris x64 (SVR4 package) | 140.6 MB | |
Solaris x64 | 97.05 MB | |
Windows x86 | 199.1 MB | |
Windows x64 | 207.27 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 64.47 MB | |
Linux x86 | 80.38 MB | |
Linux x64 | 61.43 MB | |
Linux x64 | 77.41 MB | |
Mac OS X x64 | 74.58 MB | |
Mac OS X x64 | 66.21 MB | |
Solaris SPARC 64-bit | 52.13 MB | |
Solaris x64 | 50.03 MB | |
Windows x86 Online | 1.79 MB | |
Windows x86 Offline | 61.66 MB | |
Windows x86 | 64.84 MB | |
Windows x64 | 68.5 MB | |
Windows x64 | 68.92 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 52.27 MB | |
Solaris SPARC 64-bit | 63.88 MB | |
Solaris x64 | 61.75 MB | |
Windows x64 | 48.67 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux ARM 32 Hard Float ABI | 77.93 MB | |
Linux ARM 64 Hard Float ABI | 74.88 MB | |
Linux x86 | 169.01 MB | |
Linux x86 | 183.81 MB | |
Linux x64 | 166.13 MB | |
Linux x64 | 181.02 MB | |
Mac OS X x64 | 247.12 MB | |
Solaris SPARC 64-bit (SVR4 package) | 139.98 MB | |
Solaris SPARC 64-bit | 99.3 MB | |
Solaris x64 (SVR4 package) | 140.68 MB | |
Solaris x64 | 97.03 MB | |
Windows x86 | 198.57 MB | |
Windows x64 | 206.76 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 63.44 MB | |
Linux x86 | 79.33 MB | |
Linux x64 | 60.44 MB | |
Linux x64 | 76.4 MB | |
Mac OS X x64 | 74.18 MB | |
Mac OS X x64 | 65.86 MB | |
Solaris SPARC 64-bit | 52.24 MB | |
Solaris x64 | 50.01 MB | |
Windows x86 Online | 1.78 MB | |
Windows x86 Offline | 61.36 MB | |
Windows x86 | 64.58 MB | |
Windows x64 | 68.27 MB | |
Windows x64 | 68.58 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 52.26 MB | |
Solaris SPARC 64-bit | 64 MB | |
Solaris x64 | 61.72 MB | |
Windows x64 | 48.75 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux ARM 32 Hard Float ABI | 77.92 MB | |
Linux ARM 64 Hard Float ABI | 74.88 MB | |
Linux x86 | 168.96 MB | |
Linux x86 | 183.76 MB | |
Linux x64 | 166.09 MB | |
Linux x64 | 180.97 MB | |
Mac OS X x64 | 247.12 MB | |
Solaris SPARC 64-bit (SVR4 package) | 139.99 MB | |
Solaris SPARC 64-bit | 99.29 MB | |
Solaris x64 (SVR4 package) | 140.57 MB | |
Solaris x64 | 97.02 MB | |
Windows x86 | 198.54 MB | |
Windows x64 | 206.51 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 63.4 MB | |
Linux x86 | 79.29 MB | |
Linux x64 | 60.4 MB | |
Linux x64 | 76.35 MB | |
Mac OS X x64 | 74.17 MB | |
Mac OS X x64 | 65.86 MB | |
Solaris SPARC 64-bit | 52.24 MB | |
Solaris x64 | 50 MB | |
Windows x86 Offline | 61.35 MB | |
Windows x86 Online | 1.78 MB | |
Windows x86 | 64.56 MB | |
Windows x64 | 68.02 MB | |
Windows x64 | 68.58 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 52.25 MB | |
Solaris SPARC 64-bit | 63.99 MB | |
Solaris x64 | 61.71 MB | |
Windows x64 | 48.75 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux ARM 32 Hard Float ABI | 77.94 MB | |
Linux ARM 64 Hard Float ABI | 74.88 MB | |
Linux x86 | 168.99 MB | |
Linux x86 | 183.77 MB | |
Linux x64 | 166.12 MB | |
Linux x64 | 180.99 MB | |
macOS | 247.13 MB | |
Solaris SPARC 64-bit | 140.15 MB | |
Solaris SPARC 64-bit | 99.29 MB | |
Solaris x64 | 140.6 MB | |
Solaris x64 | 97.04 MB | |
Windows x86 | 198.46 MB | |
Windows x64 | 206.42 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 63.39 MB | |
Linux x86 | 79.28 MB | |
Linux x64 | 60.4 MB | |
Linux x64 | 76.35 MB | |
macOS | 74.17 MB | |
macOS | 65.86 MB | |
Solaris SPARC 64-bit | 52.24 MB | |
Solaris x64 | 50.01 MB | |
Windows x86 Online | 1.77 MB | |
Windows x86 Offline | 61.08 MB | |
Windows x86 | 64.54 MB | |
Windows x64 Offline | 67.66 MB | |
Windows x64 | 68.54 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 52.24 MB | |
Solaris SPARC 64-bit | 63.98 MB | |
Solaris x64 | 61.73 MB | |
Windows x64 | 48.73 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux ARM 32 Hard Float ABI | 77.9 MB | |
Linux ARM 64 Hard Float ABI | 74.85 MB | |
Linux x86 | 168.95 MB | |
Linux x86 | 183.73 MB | |
Linux x64 | 166.1 MB | |
Linux x64 | 180.95 MB | |
macOS | 247.06 MB | |
Solaris SPARC 64-bit | 140.06 MB | |
Solaris SPARC 64-bit | 99.32 MB | |
Solaris x64 | 140.65 MB | |
Solaris x64 | 97 MB | |
Windows x86 | 198.04 MB | |
Windows x64 | 205.95 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 63.37 MB | |
Linux x86 | 79.24 MB | |
Linux x64 | 60.39 MB | |
Linux x64 | 76.32 MB | |
macOS | 74.14 MB | |
macOS | 65.82 MB | |
Solaris SPARC 64-bit | 52.23 MB | |
Solaris x64 | 49.97 MB | |
Windows x86 Online | 1.77 MB | |
Windows x86 Offline | 60.72 MB | |
Windows x86 | 64.49 MB | |
Windows x64 Offline | 67.25 MB | |
Windows x64 | 68.5 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 52.21 MB | |
Solaris SPARC 64-bit | 63.99 MB | |
Solaris x64 | 61.69 MB | |
Windows x64 | 48.72 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux ARM 32 Hard Float ABI | 77.89 MB | |
Linux ARM 64 Hard Float ABI | 74.83 MB | |
Linux x86 | 164.65 MB | |
Linux x86 | 179.44 MB | |
Linux x64 | 162.1 MB | |
Linux x64 | 176.92 MB | |
Mac OS X | 226.6 MB | |
Solaris SPARC 64-bit | 139.87 MB | |
Solaris SPARC 64-bit | 99.18 MB | |
Solaris x64 | 140.51 MB | |
Solaris x64 | 96.99 MB | |
Windows x86 | 190.94 MB | |
Windows x64 | 197.78 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 59.13 MB | |
Linux x86 | 75.01 MB | |
Linux x64 | 56.48 MB | |
Linux x64 | 72.41 MB | |
Mac OS X | 63.94 MB | |
Mac OS X | 55.56 MB | |
Solaris SPARC 64-bit | 52.12 MB | |
Solaris x64 | 49.95 MB | |
Windows x86 Online | 0.7 MB | |
Windows x86 Offline | 54.57 MB | |
Windows x86 | 60.2 MB | |
Windows x64 Offline | 62.34 MB | |
Windows x64 | 63.99 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 52.17 MB | |
Solaris SPARC 64-bit | 63.86 MB | |
Solaris x64 | 61.65 MB | |
Windows x64 | 48.7 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux ARM 32 Hard Float ABI | 77.88 MB | |
Linux ARM 64 Hard Float ABI | 74.83 MB | |
Linux x86 | 164.66 MB | |
Linux x86 | 179.4 MB | |
Linux x64 | 162.11 MB | |
Linux x64 | 176.92 MB | |
Mac OS X | 226.6 MB | |
Solaris SPARC 64-bit | 139.84 MB | |
Solaris SPARC 64-bit | 99.17 MB | |
Solaris x64 | 140.59 MB | |
Solaris x64 | 97.01 MB | |
Windows x86 | 190.95 MB | |
Windows x64 | 197.78 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 59.14 MB | |
Linux x86 | 75.01 MB | |
Linux x64 | 56.48 MB | |
Linux x64 | 72.41 MB | |
Mac OS X | 63.94 MB | |
Mac OS X | 55.55 MB | |
Solaris SPARC 64-bit | 52.09 MB | |
Solaris x64 | 49.98 MB | |
Windows x86 Online | 0.7 MB | |
Windows x86 Offline | 54.56 MB | |
Windows x86 | 60.2 MB | |
Windows x64 Offline | 62.34 MB | |
Windows x64 | 63.99 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 52.17 MB | |
Solaris SPARC 64-bit | 63.84 MB | |
Solaris x64 | 61.69 MB | |
Windows x64 | 48.7 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux ARM 32 Hard Float ABI | 77.87 MB | |
Linux ARM 64 Hard Float ABI | 74.81 MB | |
Linux x86 | 164.66 MB | |
Linux x86 | 179.39 MB | |
Linux x64 | 162.11 MB | |
Linux x64 | 176.95 MB | |
Mac OS X | 226.57 MB | |
Solaris SPARC 64-bit | 139.79 MB | |
Solaris SPARC 64-bit | 99.13 MB | |
Solaris x64 | 140.51 MB | |
Solaris x64 | 96.96 MB | |
Windows x86 | 191.22 MB | |
Windows x64 | 198.03 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 59.13 MB | |
Linux x86 | 74.98 MB | |
Linux x64 | 56.47 MB | |
Linux x64 | 72.4 MB | |
Mac OS X | 63.92 MB | |
Mac OS X | 55.54 MB | |
Solaris SPARC 64-bit | 52.05 MB | |
Solaris x64 | 49.92 MB | |
Windows x86 Online | 0.7 MB | |
Windows x86 Offline | 54.83 MB | |
Windows x86 | 60.18 MB | |
Windows x64 Offline | 62.62 MB | |
Windows x64 | 63.97 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 52.18 MB | |
Solaris SPARC 64-bit | 63.8 MB | |
Solaris x64 | 61.64 MB | |
Windows x64 | 48.69 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux ARM 32 Hard Float ABI | 77.86 MB | |
Linux ARM 64 Hard Float ABI | 74.83 MB | |
Linux x86 | 162.41 MB | |
Linux x86 | 177.13 MB | |
Linux x64 | 159.96 MB | |
Linux x64 | 174.76 MB | |
Mac OS X | 223.21 MB | |
Solaris SPARC 64-bit | 139.64 MB | |
Solaris SPARC 64-bit | 99.07 MB | |
Solaris x64 | 140.42 MB | |
Solaris x64 | 96.9 MB | |
Windows x86 | 189.36 MB | |
Windows x64 | 195.51 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 56.92 MB | |
Linux x86 | 72.76 MB | |
Linux x64 | 54.39 MB | |
Linux x64 | 70.26 MB | |
Mac OS X | 62.28 MB | |
Mac OS X | 53.91 MB | |
Solaris SPARC 64-bit | 52.05 MB | |
Solaris x64 | 49.9 MB | |
Windows x86 Online | 0.7 MB | |
Windows x86 Offline | 53.81 MB | |
Windows x86 | 59.17 MB | |
Windows x64 Offline | 61.18 MB | |
Windows x64 | 62.66 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 52.14 MB | |
Solaris SPARC 64-bit | 63.8 MB | |
Solaris x64 | 61.62 MB | |
Windows x64 | 48.69 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux ARM 32 Hard Float ABI | 77.82 MB | |
Linux ARM 64 Hard Float ABI | 74.76 MB | |
Linux x86 | 162.42 MB | |
Linux x86 | 177.12 MB | |
Linux x64 | 159.97 MB | |
Linux x64 | 174.73 MB | |
Mac OS X | 223.15 MB | |
Solaris SPARC 64-bit | 139.78 MB | |
Solaris SPARC 64-bit | 99.06 MB | |
Solaris x64 | 140.46 MB | |
Solaris x64 | 96.86 MB | |
Windows x86 | 188.99 MB | |
Windows x64 | 195.13 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 56.92 MB | |
Linux x86 | 72.73 MB | |
Linux x64 | 54.37 MB | |
Linux x64 | 70.24 MB | |
Mac OS X | 62.22 MB | |
Mac OS X | 53.86 MB | |
Solaris SPARC 64-bit | 52.07 MB | |
Solaris x64 | 49.89 MB | |
Windows x86 Online | 0.7 MB | |
Windows x86 Offline | 53.49 MB | |
Windows x86 | 59.13 MB | |
Windows x64 Offline | 60.86 MB | |
Windows x64 | 62.63 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 57.13 MB | |
Solaris SPARC 64-bit | 68.84 MB | |
Solaris x64 | 66.63 MB | |
Windows x64 | 53.81 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux ARM 32 Hard Float ABI | 77.78 MB | |
Linux ARM 64 Hard Float ABI | 74.73 MB | |
Linux x86 | 160.35 MB | |
Linux x86 | 175.04 MB | |
Linux x64 | 158.35 MB | |
Linux x64 | 173.04 MB | |
Mac OS X | 227.39 MB | |
Solaris SPARC 64-bit | 131.92 MB | |
Solaris SPARC 64-bit | 93.02 MB | |
Solaris x64 | 140.38 MB | |
Solaris x64 | 96.82 MB | |
Windows x86 | 189.22 MB | |
Windows x64 | 194.64 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 54.86 MB | |
Linux x86 | 70.65 MB | |
Linux x64 | 52.75 MB | |
Linux x64 | 68.57 MB | |
Mac OS X | 64.33 MB | |
Mac OS X | 56 MB | |
Solaris SPARC 64-bit | 46.04 MB | |
Solaris x64 | 49.88 MB | |
Windows x86 Online | 0.7 MB | |
Windows x86 Offline | 53.53 MB | |
Windows x86 | 59.43 MB | |
Windows x64 Offline | 60.31 MB | |
Windows x64 | 62.78 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 57.12 MB | |
Solaris SPARC 64-bit | 62.79 MB | |
Solaris x64 | 66.61 MB | |
Windows x64 | 53.79 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux ARM 32 Hard Float ABI | 77.78 MB | |
Linux ARM 64 Hard Float ABI | 74.73 MB | |
Linux x86 | 160.35 MB | |
Linux x86 | 175.03 MB | |
Linux x64 | 158.35 MB | |
Linux x64 | 173.03 MB | |
Mac OS X | 227.35 MB | |
Solaris SPARC 64-bit | 139.59 MB | |
Solaris SPARC 64-bit | 98.98 MB | |
Solaris x64 | 140.02 MB | |
Solaris x64 | 96.24 MB | |
Windows x86 | 189.2 MB | |
Windows x64 | 194.68 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 54.86 MB | |
Linux x86 | 70.65 MB | |
Linux x64 | 52.74 MB | |
Linux x64 | 68.56 MB | |
Mac OS X | 64.31 MB | |
Mac OS X | 56 MB | |
Solaris SPARC 64-bit | 51.99 MB | |
Solaris x64 | 49.71 MB | |
Windows x86 Online | 0.71 MB | |
Windows x86 Offline | 53.49 MB | |
Windows x86 | 59.42 MB | |
Windows x64 | 60.19 MB | |
Windows x64 | 62.77 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 57.11 MB | |
Solaris SPARC 64-bit | 68.74 MB | |
Solaris x64 | 66.06 MB | |
Windows x64 | 53.78 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux ARM 32 Hard Float ABI | 77.77 MB | |
Linux ARM 64 Hard Float ABI | 74.72 MB | |
Linux x86 | 160.28 MB | |
Linux x86 | 174.96 MB | |
Linux x64 | 158.27 MB | |
Linux x64 | 172.95 MB | |
Mac OS X | 227.36 MB | |
Solaris SPARC 64-bit | 139.66 MB | |
Solaris SPARC 64-bit | 98.96 MB | |
Solaris x64 | 140.33 MB | |
Solaris x64 | 96.78 MB | |
Windows x86 | 188.32 MB | |
Windows x64 | 193.68 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 54.79 MB | |
Linux x86 | 70.58 MB | |
Linux x64 | 52.68 MB | |
Linux x64 | 68.49 MB | |
Mac OS X | 64.32 MB | |
Mac OS X | 55.99 MB | |
Solaris SPARC 64-bit | 52 MB | |
Solaris x64 | 49.85 MB | |
Windows x86 Online | 0.71 MB | |
Windows x86 | 59.42 MB | |
Windows x64 | 59.17 MB | |
Windows x86 Offline | 52.63 MB | |
Windows x64 | 62.77 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 57.1 MB | |
Solaris SPARC 64-bit | 68.74 MB | |
Solaris x64 | 66.57 MB | |
Windows x64 | 53.78 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux ARM 32 Hard Float ABI | 77.73 MB | |
Linux ARM 64 Hard Float ABI | 74.7 MB | |
Linux x86 | 160.26 MB | |
Linux x86 | 174.94 MB | |
Linux x64 | 158.27 MB | |
Linux x64 | 172.99 MB | |
Mac OS X | 227.32 MB | |
Solaris SPARC 64-bit (SVR4 package) | 139.47 MB | |
Solaris SPARC 64-bit | 98.93 MB | |
Solaris x64 (SVR4 package) | 140.35 MB | |
Solaris x64 | 96.76 MB | |
Windows x86 | 188.43 MB | |
Windows x64 | 193.66 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 54.78 MB | |
Linux x86 | 70.56 MB | |
Linux x64 | 52.66 MB | |
Linux x64 | 68.49 MB | |
Mac OS X | 64.29 MB | |
Mac OS X | 55.97 MB | |
Solaris SPARC 64-bit | 51.95 MB | |
Solaris x64 | 49.83 MB | |
Windows x86 Online | 0.71 MB | |
Windows x86 Offline | 52.77 MB | |
Windows x86 | 59.39 MB | |
Windows x64 | 59.16 MB | |
Windows x64 | 62.74 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 57.1 MB | |
Solaris SPARC 64-bit | 68.71 MB | |
Solaris x64 | 66.56 MB | |
Windows x64 | 53.76 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux ARM 32 Hard Float ABI | 77.72 MB | |
Linux ARM 64 Hard Float ABI | 74.69 MB | |
Linux x86 | 154.74 MB | |
Linux x86 | 174.92 MB | |
Linux x64 | 152.74 MB | |
Linux x64 | 172.97 MB | |
Mac OS X | 227.29 MB | |
Solaris SPARC 64-bit (SVR4 package) | 139.59 MB | |
Solaris SPARC 64-bit | 98.95 MB | |
Solaris x64 (SVR4 package) | 140.29 MB | |
Solaris x64 | 96.78 MB | |
Windows x86 | 182.29 MB | |
Windows x64 | 187.4 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 49.07 MB | |
Linux x86 | 70.56 MB | |
Linux x64 | 46.95 MB | |
Linux x64 | 68.48 MB | |
Mac OS X | 64.27 MB | |
Mac OS X | 55.97 MB | |
Solaris SPARC 64-bit | 51.97 MB | |
Solaris x64 | 49.83 MB | |
Windows x86 Online | 0.7 MB | |
Windows x86 Offline | 48.71 MB | |
Windows x86 | 59.36 MB | |
Windows x64 | 55 MB | |
Windows x64 | 62.7 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 57.09 MB | |
Solaris SPARC 64-bit | 68.72 MB | |
Solaris x64 | 66.56 MB | |
Windows x64 | 53.76 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux ARM 32 Hard Float ABI | 77.7 MB | |
Linux ARM 64 Hard Float ABI | 74.68 MB | |
Linux x86 | 154.74 MB | |
Linux x86 | 174.92 MB | |
Linux x64 | 152.76 MB | |
Linux x64 | 172.96 MB | |
Mac OS X | 227.27 MB | |
Solaris SPARC 64-bit (SVR4 package) | 139.77 MB | |
Solaris SPARC 64-bit | 99.06 MB | |
Solaris x64 (SVR4 package) | 140.01 MB | |
Solaris x64 | 96.18 MB | |
Windows x86 | 182.01 MB | |
Windows x64 | 187.31 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 49.06 MB | |
Linux x86 | 70.54 MB | |
Linux x64 | 46.94 MB | |
Linux x64 | 68.47 MB | |
Mac OS X | 64.27 MB | |
Mac OS X | 55.95 MB | |
Solaris SPARC 64-bit | 52.1 MB | |
Solaris x64 | 49.67 MB | |
Windows x86 Online | 0.7 MB | |
Windows x86 Offline | 48.44 MB | |
Windows x86 | 59.35 MB | |
Windows x64 | 54.93 MB | |
Windows x64 | 62.68 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 57.08 MB | |
Solaris SPARC 64-bit | 68.84 MB | |
Solaris x64 | 66.01 MB | |
Windows x64 | 53.74 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 154.74 MB | |
Linux x86 | 174.92 MB | |
Linux x64 | 152.74 MB | |
Linux x64 | 172.9 MB | |
Mac OS X x64 | 227.27 MB | |
Solaris SPARC 64-bit (SVR4 package) | 139.72 MB | |
Solaris SPARC 64-bit | 99.09 MB | |
Solaris x64 (SVR4 package) | 140.02 MB | |
Solaris x64 | 96.19 MB | |
Windows x86 | 182.01 MB | |
Windows x64 | 187.31 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 49.06 MB | |
Linux x86 | 70.53 MB | |
Linux x64 | 46.94 MB | |
Linux x64 | 68.45 MB | |
Mac OS X x64 | 64.26 MB | |
Mac OS X x64 | 55.95 MB | |
Solaris SPARC 64-bit | 52.13 MB | |
Solaris x64 | 49.68 MB | |
Windows x86 Online | 0.7 MB | |
Windows x86 Offline | 48.43 MB | |
Windows x86 | 59.36 MB | |
Windows x64 | 54.9 MB | |
Windows x64 | 62.69 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 57.05 MB | |
Solaris SPARC 64-bit | 68.89 MB | |
Solaris x64 | 66.02 MB | |
Windows x64 | 53.74 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux ARM v6/v7 Hard Float ABI | 77.73 MB | |
Linux ARM v6/v7 Hard Float ABI | 74.68 MB | |
Linux x86 | 154.75 MB | |
Linux x86 | 174.91 MB | |
Linux x64 | 152.73 MB | |
Linux x64 | 172.91 MB | |
Mac OS X | 227.25 MB | |
Solaris SPARC 64-bit (SVR4 package) | 139.7 MB | |
Solaris SPARC 64-bit | 99.08 MB | |
Solaris x64 (SVR4 package) | 140.36 MB | |
Solaris x64 | 96.78 MB | |
Windows x86 | 181.5 MB | |
Windows x64 | 186.84 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 49.05 MB | |
Linux x86 | 70.52 MB | |
Linux x64 | 46.93 MB | |
Linux x64 | 68.44 MB | |
Mac OS X | 64.26 MB | |
Mac OS X | 55.94 MB | |
Solaris SPARC 64-bit | 52.1 MB | |
Solaris x64 | 49.84 MB | |
Windows x86 Online | 0.7 MB | |
Windows x86 Offline | 47.94 MB | |
Windows x86 | 59.34 MB | |
Windows x64 | 54.45 MB | |
Windows x64 | 62.68 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 57.05 MB | |
Solaris SPARC 64-bit | 68.84 MB | |
Solaris x64 | 66.57 MB | |
Windows x64 | 53.74 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 154.74 MB | |
Linux x86 | 174.92 MB | |
Linux x64 | 152.75 MB | |
Linux x64 | 172.94 MB | |
Mac OS X x64 | 227.27 MB | |
Solaris SPARC 64-bit (SVR4 package) | 139.76 MB | |
Solaris SPARC 64-bit | 99.05 MB | |
Solaris x64 (SVR4 package) | 140.02 MB | |
Solaris x64 | 96.18 MB | |
Windows x86 | 181.75 MB | |
Windows x64 | 187.03 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 49.06 MB | |
Linux x86 | 70.54 MB | |
Linux x64 | 46.94 MB | |
Linux x64 | 68.46 MB | |
Mac OS X | 64.26 MB | |
Mac OS X | 55.95 MB | |
Solaris SPARC 64-bit | 52.09 MB | |
Solaris x64 | 49.67 MB | |
Windows x86 Online | 0.61 MB | |
Windows x86 Offline | 48.17 MB | |
Windows x86 | 59.35 MB | |
Windows x64 | 54.63 MB | |
Windows x64 | 62.69 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 57.06 MB | |
Solaris SPARC 64-bit | 68.83 MB | |
Solaris x64 | 66.02 MB | |
Windows x64 | 53.74 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux ARM 32 Hard Float ABI | 77.71 MB | |
Linux ARM 64 Hard Float ABI | 74.65 MB | |
Linux x86 | 154.75 MB | |
Linux x86 | 174.91 MB | |
Linux x64 | 152.74 MB | |
Linux x64 | 172.9 MB | |
Mac OS X | 227.24 MB | |
Solaris SPARC 64-bit | 139.78 MB | |
Solaris SPARC 64-bit | 99.05 MB | |
Solaris x64 | 139.98 MB | |
Solaris x64 | 96.19 MB | |
Windows x86 | 181.21 MB | |
Windows x64 | 186.55 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 49.05 MB | |
Linux x86 | 70.52 MB | |
Linux x64 | 46.93 MB | |
Linux x64 | 68.42 MB | |
Mac OS X | 64.25 MB | |
Mac OS X | 55.95 MB | |
Solaris SPARC 64-bit | 52.08 MB | |
Solaris x64 | 49.66 MB | |
Windows x86 Online | 0.61 MB | |
Windows x86 Offline | 47.66 MB | |
Windows x86 | 59.34 MB | |
Windows x64 | 54.16 MB | |
Windows x64 | 62.68 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 57.02 MB | |
Solaris SPARC 64-bit | 68.83 MB | |
Solaris x64 | 66.01 MB | |
Windows x64 | 53.74 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 154.67 MB | |
Linux x86 | 174.83 MB | |
Linux x64 | 152.69 MB | |
Linux x64 | 172.89 MB | |
Mac OS X x64 | 227.12 MB | |
Solaris SPARC 64-bit (SVR4 package) | 139.65 MB | |
Solaris SPARC 64-bit | 99.05 MB | |
Solaris x64 (SVR4 package) | 140 MB | |
Solaris x64 | 96.2 MB | |
Windows x86 | 181.33 MB | |
Windows x64 | 186.65 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 48.98 MB | |
Linux x86 | 70.46 MB | |
Linux x64 | 46.87 MB | |
Linux x64 | 68.4 MB | |
Mac OS X x64 | 60.23 MB | |
Mac OS X x64 | 55.93 MB | |
Solaris SPARC 64-bit | 52.08 MB | |
Solaris x64 | 49.68 MB | |
Windows x86 Online | 0.56 MB | |
Windows x86 Offline | 47.87 MB | |
Windows x86 | 59.28 MB | |
Windows x64 | 54.38 MB | |
Windows x64 | 62.61 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 57.07 MB | |
Solaris SPARC 64-bit | 68.83 MB | |
Solaris x64 | 66.03 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux ARM v6/v7 Hard Float ABI | 77.69 MB | |
Linux ARM v6/v7 Hard Float ABI | 74.66 MB | |
Linux x86 | 154.67 MB | |
Linux x86 | 174.83 MB | |
Linux x64 | 152.69 MB | |
Linux x64 | 172.86 MB | |
Mac OS X x64 | 227.13 MB | |
Solaris SPARC 64-bit (SVR4 package) | 139.58 MB | |
Solaris SPARC 64-bit | 99.02 MB | |
Solaris x64 (SVR4 package) | 140.31 MB | |
Solaris x64 | 96.76 MB | |
Windows x86 | 181.23 MB | |
Windows x64 | 186.57 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 48.98 MB | |
Linux x86 | 70.46 MB | |
Linux x64 | 46.87 MB | |
Linux x64 | 68.38 MB | |
Mac OS X x64 | 64.23 MB | |
Mac OS X x64 | 55.93 MB | |
Solaris SPARC 64-bit | 52.06 MB | |
Solaris x64 | 49.83 MB | |
Windows x86 Online | 0.56 MB | |
Windows x86 Offline | 47.81 MB | |
Windows x86 | 59.28 MB | |
Windows x64 | 54.29 MB | |
Windows x64 | 62.61 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 57.05 MB | |
Solaris SPARC 64-bit | 68.81 MB | |
Solaris x64 | 66.53 MB | |
Windows x64 | 53.73 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux ARM v6/v7 Hard Float ABI | 77.69 MB | |
Linux ARM v6/v7 Hard Float ABI | 74.64 MB | |
Linux x86 | 154.66 MB | |
Linux x86 | 174.83 MB | |
Linux x64 | 152.67 MB | |
Linux x64 | 172.84 MB | |
Mac OS X x64 | 227.07 MB | |
Solaris SPARC 64-bit (SVR4 package) | 139.67 MB | |
Solaris SPARC 64-bit | 99.02 MB | |
Solaris x64 (SVR4 package) | 140.18 MB | |
Solaris x64 | 96.71 MB | |
Windows x86 | 180.82 MB | |
Windows x64 | 186.16 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 48.97 MB | |
Linux x86 | 70.44 MB | |
Linux x64 | 46.86 MB | |
Linux x64 | 68.36 MB | |
Mac OS X x64 | 60.2 MB | |
Mac OS X x64 | 55.92 MB | |
Solaris SPARC 64-bit | 52.06 MB | |
Solaris x64 | 49.78 MB | |
Windows x86 Online | 0.56 MB | |
Windows x86 Offline | 47.39 MB | |
Windows x86 | 59.25 MB | |
Windows x64 | 53.88 MB | |
Windows x64 | 62.59 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 57.03 MB | |
Solaris SPARC 64-bit | 68.81 MB | |
Solaris x64 | 66.5 MB | |
Windows x64 | 53.71 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 146.9 MB | |
Linux x86 | 166.95 MB | |
Linux x64 | 145.19 MB | |
Linux x64 | 165.25 MB | |
Mac OS X x64 | 222.09 MB | |
Solaris SPARC 64-bit (SVR4 package) | 139.36 MB | |
Solaris SPARC 64-bit | 98.8 MB | |
Solaris x64 (SVR4 package) | 139.79 MB | |
Solaris x64 | 96.45 MB | |
Windows x86 | 176.02 MB | |
Windows x64 | 180.51 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 41.35 MB | |
Linux x86 | 62.69 MB | |
Linux x64 | 39.52 MB | |
Linux x64 | 60.9 MB | |
Mac OS X x64 | 57.77 MB | |
Mac OS X x64 | 53.61 MB | |
Solaris SPARC 64-bit | 51.95 MB | |
Solaris x64 | 49.63 MB | |
Windows x86 Online | 0.54 MB | |
Windows x86 Offline | 35.62 MB | |
Windows x86 | 52.64 MB | |
Windows x64 | 41.22 MB | |
Windows x64 | 55.67 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 56.87 MB | |
Solaris SPARC 64-bit | 68.63 MB | |
Solaris x64 | 66.27 MB | |
Windows x64 | 53.51 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 146.89 MB | |
Linux x86 | 166.88 MB | |
Linux x64 | 145.19 MB | |
Linux x64 | 165.24 MB | |
Mac OS X x64 | 221.98 MB | |
Solaris SPARC 64-bit (SVR4 package) | 131.73 MB | |
Solaris SPARC 64-bit | 92.9 MB | |
Solaris x64 (SVR4 package) | 139.51 MB | |
Solaris x64 | 95.88 MB | |
Windows x86 | 175.98 MB | |
Windows x64 | 180.44 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 41.34 MB | |
Linux x86 | 62.63 MB | |
Linux x64 | 39.51 MB | |
Linux x64 | 60.87 MB | |
Mac OS X x64 | 57.71 MB | |
Mac OS X x64 | 53.6 MB | |
Solaris SPARC 64-bit | 46.06 MB | |
Solaris x64 | 49.5 MB | |
Windows x86 Online | 0.54 MB | |
Windows x86 Offline | 35.6 MB | |
Windows x86 | 52.57 MB | |
Windows x64 | 41.19 MB | |
Windows x64 | 55.6 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 56.85 MB | |
Solaris SPARC 64-bit | 62.72 MB | |
Solaris x64 | 65.75 MB | |
Windows x64 | 53.5 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 146.84 MB | |
Linux x86 | 166.85 MB | |
Linux x64 | 145.14 MB | |
Linux x64 | 165.17 MB | |
Mac OS X x64 | 221.91 MB | |
Solaris SPARC 64-bit (SVR4 package) | 139.09 MB | |
Solaris SPARC 64-bit | 98.68 MB | |
Solaris x64 (SVR4 package) | 130.57 MB | |
Solaris x64 | 89.91 MB | |
Windows x86 | 175.71 MB | |
Windows x64 | 180.19 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 41.31 MB | |
Linux x86 | 62.61 MB | |
Linux x64 | 39.48 MB | |
Linux x64 | 60.82 MB | |
Mac OS X x64 | 58.48 MB | |
Mac OS X x64 | 53.58 MB | |
Solaris SPARC 64-bit | 51.88 MB | |
Solaris x64 | 43.13 MB | |
Windows x86 Online | 0.53 MB | |
Windows x86 Offline | 35.35 MB | |
Windows x86 | 52.58 MB | |
Windows x64 | 40.94 MB | |
Windows x64 | 55.62 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 56.82 MB | |
Solaris SPARC 64-bit | 68.5 MB | |
Solaris x64 | 59.73 MB | |
Windows x64 | 53.49 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 135.24 MB | |
Linux x86 | 154.91 MB | |
Linux x64 | 135.62 MB | |
Linux x64 | 153.45 MB | |
Mac OS X x64 | 209.17 MB | |
Solaris SPARC 64-bit (SVR4 package) | 136.91 MB | |
Solaris SPARC 64-bit | 97.11 MB | |
Solaris x64 (SVR4 package) | 137.51 MB | |
Solaris x64 | 94.82 MB | |
Windows x86 | 157.96 MB | |
Windows x64 | 170.36 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 40.49 MB | |
Linux x86 | 61.57 MB | |
Linux x64 | 40.62 MB | |
Linux x64 | 59.87 MB | |
Mac OS X x64 | 56.79 MB | |
Mac OS X x64 | 52.71 MB | |
Solaris SPARC 64-bit | 50.86 MB | |
Solaris x64 | 48.61 MB | |
Windows x86 Online | 0.61 MB | |
Windows x86 Offline | 29.02 MB | |
Windows x86 | 51.7 MB | |
Windows x64 | 89.1 MB | |
Windows x64 | 54.72 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 55.79 MB | |
Solaris SPARC 64-bit | 67.08 MB | |
Solaris x64 | 64.79 MB | |
Windows x64 | 52.47 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 135.24 MB | |
Linux x86 | 154.88 MB | |
Linux x64 | 135.6 MB | |
Linux x64 | 153.42 MB | |
Mac OS X x64 | 209.13 MB | |
Solaris SPARC 64-bit (SVR4 package) | 137.01 MB | |
Solaris SPARC 64-bit | 97.14 MB | |
Solaris x64 (SVR4 package) | 137.11 MB | |
Solaris x64 | 94.24 MB | |
Windows x86 | 157.26 MB | |
Windows x64 | 169.62 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 40.49 MB | |
Linux x86 | 61.56 MB | |
Linux x64 | 40.63 MB | |
Linux x64 | 59.86 MB | |
Mac OS X x64 | 56.76 MB | |
Mac OS X x64 | 52.71 MB | |
Solaris SPARC 64-bit | 50.88 MB | |
Solaris x64 | 48.44 MB | |
Windows x86 Online | 0.61 MB | |
Windows x86 Offline | 28.35 MB | |
Windows x86 | 51.68 MB | |
Windows x64 | 88.37 MB | |
Windows x64 | 54.69 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 55.76 MB | |
Solaris SPARC 64-bit | 67.09 MB | |
Solaris x64 | 64.24 MB | |
Windows x64 | 52.45 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 135.24 MB | |
Linux x86 | 154.87 MB | |
Linux x64 | 135.6 MB | |
Linux x64 | 153.42 MB | |
Mac OS X x64 | 209.11 MB | |
Solaris SPARC 64-bit (SVR4 package) | 137.02 MB | |
Solaris SPARC 64-bit | 97.09 MB | |
Solaris x64 (SVR4 package) | 137.16 MB | |
Solaris x64 | 94.22 MB | |
Windows x86 | 161.08 MB | |
Windows x64 | 173.08 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 40.47 MB | |
Linux x86 | 61.53 MB | |
Linux x64 | 40.6 MB | |
Linux x64 | 59.84 MB | |
Mac OS X x64 | 56.74 MB | |
Mac OS X x64 | 52.7 MB | |
Solaris SPARC 64-bit | 50.85 MB | |
Solaris x64 | 48.42 MB | |
Windows x86 Online | 0.61 MB | |
Windows x86 Offline | 32.17 MB | |
Windows x86 | 51.66 MB | |
Windows x64 | 91.68 MB | |
Windows x64 | 54.68 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 55.77 MB | |
Solaris SPARC 64-bit | 67.06 MB | |
Solaris x64 | 64.23 MB | |
Windows x64 | 52.44 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 133.58 MB | |
Linux x86 | 152.55 MB | |
Linux x64 | 133.89 MB | |
Linux x64 | 151.65 MB | |
Mac OS X x64 | 207.82 MB | |
Solaris SPARC 64-bit (SVR4 package) | 135.66 MB | |
Solaris SPARC 64-bit | 96.14 MB | |
Solaris x64 (SVR4 package) | 135.7 MB | |
Solaris x64 | 93.18 MB | |
Windows x86 | 151.81 MB | |
Windows x64 | 155.29 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 40.28 MB | |
Linux x86 | 55.49 MB | |
Linux x64 | 40.42 MB | |
Linux x64 | 54.44 MB | |
Mac OS X x64 | 56.62 MB | |
Mac OS X x64 | 52.62 MB | |
Solaris SPARC 64-bit | 50.48 MB | |
Solaris x64 | 47.99 MB | |
Windows x86 Online | 1.53 MB | |
Windows x86 Offline | 29.71 MB | |
Windows x86 | 45.93 MB | |
Windows x64 | 32.59 MB | |
Windows x64 | 48.94 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 55.58 MB | |
Solaris SPARC 64-bit | 66.68 MB | |
Solaris x64 | 63.78 MB | |
Windows x64 | 52.29 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 133.58 MB | |
Linux x86 | 152.5 MB | |
Linux x64 | 133.87 MB | |
Linux x64 | 151.64 MB | |
Mac OS X x64 | 207.79 MB | |
Solaris SPARC 64-bit (SVR4 package) | 135.68 MB | |
Solaris SPARC 64-bit | 95.54 MB | |
Solaris x64 (SVR4 package) | 135.9 MB | |
Solaris x64 | 93.19 MB | |
Windows x86 | 151.71 MB | |
Windows x64 | 155.18 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 40.27 MB | |
Linux x86 | 55.46 MB | |
Linux x64 | 40.4 MB | |
Linux x64 | 54.41 MB | |
Mac OS X x64 | 56.61 MB | |
Mac OS X x64 | 52.61 MB | |
Solaris SPARC 64-bit | 50.32 MB | |
Solaris x64 | 47.99 MB | |
Windows x86 Online | 1.53 MB | |
Windows x86 Offline | 29.67 MB | |
Windows x86 | 45.87 MB | |
Windows x64 | 32.55 MB | |
Windows x64 | 48.87 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 55.56 MB | |
Solaris SPARC 64-bit | 66.13 MB | |
Solaris x64 | 63.79 MB | |
Windows x64 | 52.28 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux ARM v6/v7 Hard Float ABI | 83.51 MB | |
Linux x86 | 133.57 MB | |
Linux x86 | 152.47 MB | |
Linux x64 | 133.85 MB | |
Linux x64 | 151.61 MB | |
Mac OS X x64 | 207.72 MB | |
Solaris SPARC 64-bit (SVR4 package) | 135.5 MB | |
Solaris SPARC 64-bit | 95.53 MB | |
Solaris x64 (SVR4 package) | 135.78 MB | |
Solaris x64 | 93.15 MB | |
Windows x86 | 151.68 MB | |
Windows x64 | 155.14 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x86 | 40.24 MB | |
Linux x86 | 55.44 MB | |
Linux x64 | 40.37 MB | |
Linux x64 | 54.38 MB | |
Mac OS X x64 | 56.59 MB | |
Mac OS X x64 | 52.59 MB | |
Solaris SPARC 64-bit | 50.32 MB | |
Solaris x64 | 47.96 MB | |
Windows x86 Online | 1.53 MB | |
Windows x86 Offline | 29.67 MB | |
Windows x86 | 45.84 MB | |
Windows x64 | 32.54 MB | |
Windows x64 | 48.83 MB |
This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products
|
|
|
Linux x64 | 55.54 MB | |
Solaris SPARC 64-bit | 66.12 MB | |
Solaris x64 | 63.74 MB | |
Windows x64 | 52.25 MB |
JDK là gì? JDK và JRE khác nhau chỗ nào
Bài đăng này đã không được cập nhật trong 4 năm
Để có thể tự học lập trình dễ dàng thì bạn không thể bỏ qua khái niệm JDK. Tìm hiểu sơ qua về JDK nhé các bạn. JRE, JDK, Java khác nhau chỗ nào? JDK là dùng cho mục đích phát triển (lập trình, debug), nếu bạn chỉ cần chạy chương trình Java thì không nhất thiết phải cài JDK mà chỉ cần cài JRE.
JRE hoạt động như thế nào?
Môi trường thời gian chạy Java (JRE) chạy trên hệ điều hành, cung cấp các tài nguyên bổ sung dành riêng cho Java. Bộ phát triển Java (JDK) và JRE tương tác để tạo ra một môi trường thời gian chạy ổn định, cho phép chạy các tệp chương trình Java trên mọi thiết bị. JRE sử dụng ba thành phần cốt lõi để làm việc.
ClassLoader
Thư viện lớp Java có chứa các bộ mã viết sẵn mà bạn có thể gọi khi cần. Các thư viện này đơn giản hóa công việc của nhà phát triển Java bằng cách cung cấp phương pháp tích hợp sẵn cho tác vụ lớn và phổ biến như nhận nội dung đầu vào từ người dùng, hiển thị nội dung đầu ra cho người dùng, v.v. Tất cả các chương trình Java đều tham chiếu đến một số lớp thư viện. Java ClassLoader chủ động tải tất cả các tệp lớp cần thiết vào Máy ảo Java (JVM) theo yêu cầu.
Trình xác minh bytecode
JDK có trình biên dịch giúp chuyển đổi mã giống tiếng Anh mà bạn viết thành một phiên bản ngôn ngữ máy được gọi là bytecode Java. Trình xác minh bytecode trong JRE kiểm tra định dạng và độ chính xác của mã Java trước khi tải vào JVM. Ví dụ: nếu mã vi phạm tính toàn vẹn của hệ thống hoặc quyền truy cập, JRE sẽ không tải tệp lớp.
Trình diễn giải
Sau khi bytecode tải thành công, trình diễn giải của Java sẽ tạo một phiên bản JVM cho phép chạy chương trình Java trên máy cơ sở.
JDK, JRE, Java, Java Virtual Machine và Java Compiler có gì khác nhau?
JDK = JRE + Các công cụ hỗ trợ phát triển ứng dụng Java compiler là một trong số các công cụ hỗ trợ phát triển ứng dụng của JDK. Java compiler được sử dụng để biên soạn các tập tin Java (đuôi .java) để tạo ra tập tin .class tương ứng.
Các gói JDK
Sau khi chọn phiên bản Java, bạn cũng sẽ cần chọn gói Java muốn sử dụng. Các gói là các Java Development Kit dành cho các kiểu phát triển khác nhau. Các gói có sẵn là Java Enterprise Edition (Java EE), Java Standard Edition (Java SE) và Java Mobile Edition (Java ME).
JVM (Java Virtual Machine): là máy ảo Java. Nó được dùng để thực thi các chương trình Java.
Mỗi nền tảng/hệ điều hành khác nhau (Windows, IOS, Linux…) lại có một loại JVM khác nhau. Hiểu nôm na thì các chương trình Java của các bạn chạy trên JVM. Nói Java đa nền tảng, thực chất thì nó được hỗ trợ JVM trên nhiều nền tảng. Chương trình Java chạy được trên Window/Linux/IOS vì nó có JVM chạy được trên các nền tảng đó.
Thông thường, một phiên bản JDK sẽ chứa Java SE. Nếu bạn tải xuống Java EE hoặc Java ME, bạn sẽ có một phiên bản Java SE tiêu chuẩn. Ví dụ, Java EE là nền tảng tiêu chuẩn với các công cụ bổ trợ tiện ích cho phát triển ứng dụng doanh nghiệp như Enterprise JavaBeans hay hỗ trợ cho Object Relational Mapping.
Việc chuyển đổi từ JDK này sang JDK cũng không có gì khó khăn. Vì vậy, bạn không cần phải quá lo lắng về việc chọn đúng phiên bản và gói JDK ngay từ đầu.
Đọc thêm: Download java jdk
JDK trong câu lệnh
Cài đặt JDK và JRE sẽ thêm lệnh java vào command của bạn. Bạn có thể xác minh bằng cách mở command shell và gõ java -version, bạn sẽ nhận được phiên bản Java vừa cài đặt. (Trong một số trường hợp, bạn sẽ phải khởi động lại hệ thống để nhận các thay đổi). Ngoài ra. bạn cũng sẽ cần javac này để biên dịch các tệp Java của bạn.
Lệnh javac
Lệnh javac nằm trong thư mục “/jdk”, nhưng sẽ không được tự động thêm vào path của hệ thống trong khi cài đặt. Bạn sẽ có tùy chọn để tự cài đặt javac hoặc cài đặt một IDE có chứa lệnh này.
Đừng quên theo dõi khóa học lập trình bên Vntalking nhé!
All rights reserved
Các thành phần quan trọng nhất của Java SE
Trong Java Se, có 2 thành phần quan trọng mà chúng ta cần nhắc đến. Đó là: JRE – Java SE Runtime Environment và JDK – Java Development Kit.
Java Development Kit là gì?
JDK là công nghệ cốt lõi được sử dụng trong lập trình Java
Java Development Kit (JDK) là một trong ba gói công nghệ cốt lõi được sử dụng trong lập trình Java, cùng với JVM (Máy ảo Java – Java Virtual Machine) và JRE (Java Runtime Environment – Môi trường Java Runtime). Việc phân biệt 3 công nghệ này và hiểu được cách cách chúng kết nối với nhau là việc rất quan trọng. Chúng ta có thể phân biệt nhanh chúng bằng những đặc điểm cơ bản, dễ nhận thấy sau:
– JVM là công nghệ Java nền tảng để hỗ trợ chạy các chương trình.
– JRE là phần on-disk của Java, chúng góp phần tạo ra JVM.
– JDK là công nghệ tạo các chương trình Java. Các chương trình đó có thể được JVM và JRE xử lý và khởi chạy.
Khi mới sử dụng, các developer đôi khi vẫn nhầm lẫn JDK với JRE. Để phân biệt, ta cần nhớ rằng JDK là một gói các công cụ phát triển phần mềm dựa trên Java, trong khi JRE là gói công cụ sử dụng để chạy Java code.
Trong một vài chương trình, JRE có thể chạy các chương trình Java hoàn toàn độc lập. Dù vậy, JRE vẫn luôn được biết rõ là một phần của JDK. Bởi vì bộ công cụ JRE là một phần của JDK và liên quan trực tiếp đến việc phát triển chúng.
Các gói trong JDK
Sau khi đã chọn phiên bản Java phù hợp với mình, bước tiếp theo là bạn cần chọn được gói Java muốn sử dụng. Các gói ở đây là các JDK dành cho các kiểu phát triển khác nhau. 3 gói có sẵn thường được sử dụng là: Java EE – Java Enterprise Edition, Java SE – Java Standard Edition và Java ME – Java Mobile Edition.
Chọn gói JDK phù hợp với phiên bản của bạn
Thông thường trong một phiên bản JDK bất kỳ sẽ chứa Java SE. Nếu bạn tải xuống Java EE hoặc Java ME, bạn đã có một phiên bản Java SE tiêu chuẩn. Ví dụ, Java EE là nền tảng tiêu chuẩn với các công cụ bổ trợ tiện ích cho phát triển ứng dụng doanh nghiệp như Enterprise JavaBeans hay hỗ trợ cho Object Relational Mapping.
Việc chuyển đổi từ JDK này sang JDK khác cũng không quá khó khăn. Vì vậy, bạn hãy yên tâm và không cần quá lo lắng về việc mình chọn sai phiên bản JDK đâu.
Phiên bản JDK tương thích
Bởi vì JDK cung cấp trình biên dịch cho các chương trình Java, nên JDK bạn sử dụng sẽ xác định phiên bản Java nào bạn có thể mã hóa. Ví dụ: nếu bạn muốn sử dụng chức năng trong Java 8 thì bạn sẽ cần phiên bản JDK Java 8 để biên dịch. Nếu bạn chọn các phiên bản khác, các lệnh bạn gửi đi sẽ bị từ chối với lỗi cú pháp.
Java Runtime Environment (JRE)
Với JRE – Java Runtime Environment
Với JRE – Java Runtime Environment, cái tên của nó cũng đã nói lên những cái nó có.
Cụ thể, JRE cung cấp các thư viện, Virtual Machine (máy ảo) và các thành phần khác để chạy các applet và các ứng dụng được viết bằng ngôn ngữ lập trình Java. Hai công nghệ triển khai chính những chương trình này là một phần của JRE: Java Plugin, cho phép các applet chạy trong các trình duyệt phổ biến và Java Web Start, triển khai các ứng dụng độc lập qua mạng.
Nó cũng là nền tảng để phát triển các công nghệ Java 2 Platform, Enterprise Edition (J2EE) để phát triển và triển khai phần mềm doanh nghiệp.
Tuy nhiên, trong JRE không chứa các tiện ích và công cụ như trình biên dịch hoặc trình gỡ lỗi để phát triển các applets và ứng dụng.
Thành thạo ngôn ngữ lập trình Java (bao gồm Java Se), trở thành lập trình viên trong 6 tháng: tại đây.
Bộ nhớ Java và JRE
Bộ nhớ Java bao gồm ba thành phần: heap, stack và metaspace (trước đây được gọi là permgen).
- Metaspace là nơi Java giữ thông tin không thay đổi của chương trình như các định nghĩa lớp.
- Không gian heap (Heap space) là nơi Java giữ nội dung biến(variable content).
- Không gian ngăn xếp (Stack space) là nơi Java lưu trữ thực thi hàm(function execution) và tham chiếu biến(variable references).
Cấu hình không gian heap(Configuring heap space)
Không gian heap là phần động nhất của hệ thống bộ nhớ Java. Bạn có thể sử dụng các cờ -Xms và -Xmx để cho Java biết mức độ lớn để bắt đầu heap và mức độ lớn để cho phép nó trở thành. Hiểu cách điều chỉnh các cờ này cho các nhu cầu chương trình cụ thể là một khía cạnh quan trọng của quản lý bộ nhớ trong Java. Ý tưởng là làm cho heap đủ lớn để garbage collection hoạt động hiệu quả nhất. Đó là, bạn muốn cho phép đủ bộ nhớ để cho chương trình chạy, nhưng bạn không muốn nó lớn hơn mức cần thiết.
JDK (Java Development Kit)
JDK (Java Development Kit) là bộ công cụ phát triển phần mềm Java. JDK (Java Development Kit) bao gồm JRE và những công cụ cần thiết để phát triển ứng dụng bằng ngôn ngữ Java. Khi download JDK thì JRE cũng được tích hợp trong JDK.
Các bạn có thể download JDK từ website Java SE Development Kit của Oracle.
Ngoài JRE, JDK bao gồm các công cụ phát triển Java:
-
- JAVAC: Chương trình dịch chuyển mã nguồn sang ByteCode;
- JAVA: Bộ thông dịch, thực thi Java Application;
- APPLETVIEWER: Bộ thông dịch, thực thi Java Applet;
- JAVADOC: Bộ tạo tài liệu dạng HTML từ mã nguồn và chú thích;
- JDB: Bộ gỡ lỗi (Java Debugger);
- JAVAP: Trình dịch ngược bytecode;
- JAR: Dùng để đóng gói lưu trữ các module viết bằng Java (tạo ra file đuôi *.jar), là phương pháp tiện lợi để phân phối những chương trình Java.
Mối quan hệ giữa JVM, JRE và JDK
Các phiên bản của JDK (Java Devenlopment Kit)
-
- JDK 1.02 (1995);
- JDK 1.1 (1996);
- JDK 1.2 (1998);
- JDK 1.3 (2000);
- JDK 1.4 (2002);
- JDK 1.5 (2004) (JDK 5 hoặc Java 5);
- JDK 1.6 (2006) (JDK 6 hoặc Java 6);
- JDK 1.7 (2011) (JDK 7 hoặc Java 7);
- JDK 1.8 (2014) (JDK 8 hoặc Java 8);
- Đến 2021, đã có JDK 17.
JDK còn có các bộ công cụ phát triển khác nhau cho các loại ứng dụng:
-
- Desktop applications – J2SE: viết các ứng dụng trên Desktop
- Server applications – J2EE: viết các ứng dụng chạy trên máy chủ website
- Mobile (embedded) applications – J2ME: viết các ứng dụng trên thiết bị di động, không dây, thiết bị nhúng,…
JVM (Java Virtual Machine)
JVM (Java Virtual Machine) là máy ảo dùng để chạy chương trình Java. Khi chạy chương trình Java, trình biên dịch Java sẽ biên dịch Java code thành bytecode. Sau đó, JVM sẽ thông dịch bytecode thành mã máy để CPU thực thi.
Các JVM nổi tiếng được Oracle phát hành là Java HotSpot Performance Engine, Jrockit. Trong đó, Java HotSpot là một JVM dành cho máy tính để bàn và máy chủ được sử dụng phổ biến nhất hiện nay.
Lời kết
Trong bài viết trên, hi vọng các bạn đã giải quyết được thắc mắc “Java Se là gì“. Trên con đường học Java của mình, đây là những kiến thức bạn nên nắm chắc để trở thành một hero. Chúc các bạn thành công.
>> Tìm hiểu thêm về ngôn ngữ Java tại đây:
- Scanner trong Java là gì? Phương thức và hàm tạo lớp trong Java
- Java core là gì? Cách phân biệt với Java Core với Java
Go to the Oracle Java Archive page.
The JDK is a development environment for building applications using the Java programming language.
The JDK includes tools useful for developing and testing programs written in the Java programming language and running on the JavaTM platform.
WARNING: These older versions of the JRE and JDK are provided to help developers debug issues in older systems. They are not updated with the latest security patches and are not recommended for use in production.
For production use Oracle recommends downloading the latest JDK and JRE versions and allowing auto-update.
Only developers and Enterprise administrators should download these releases.
Downloading these releases requires an oracle.com account. If you don’t have an oracle.com account you can use the links on the top of this page to learn more about it and register for one for free.
For current Java releases, please consult the Oracle Software Download page.
This software is licensed under the Oracle Binary Code License Agreement for the Java SE Platform Products
|
|
|
Linux | 306 MB | |
Linux | 338.43 MB | |
macOS | 395.46 MB | |
Solaris SPARC | 207.07 MB | |
Windows | 390.25 MB |
This software is licensed under the Oracle Binary Code License Agreement for the Java SE Platform Products
|
|
|
Linux | 60.36 MB | |
Linux | 83.91 MB | |
macOS | 78.49 MB | |
macOS | 73.87 MB | |
Solaris SPARC | 53.35 MB | |
Windows | 100.57 MB | |
Windows | 75.38 MB |
This software is licensed under the Oracle Binary Code License Agreement for the Java SE Platform Products
|
|
|
Linux | 57.17 MB | |
Solaris SPARC | 67.29 MB | |
Windows | 53.48 MB |
This software is licensed under the Oracle Binary Code License Agreement for the Java SE Platform Products
|
|
|
Linux | 305.97 MB | |
Linux | 338.41 MB | |
macOS | 395.46 MB | |
Solaris SPARC | 206.63 MB | |
Windows | 390.19 MB |
This software is licensed under the Oracle Binary Code License Agreement for the Java SE Platform Products
|
|
|
Linux | 60.36 MB | |
Linux | 83.9 MB | |
macOS | 78.47 MB | |
macOS | 73.86 MB | |
Solaris SPARC | 53.01 MB | |
Windows | 100.54 MB | |
Windows | 75.38 MB |
This software is licensed under the Oracle Binary Code License Agreement for the Java SE Platform Products
|
|
|
Linux | 57.17 MB | |
Solaris SPARC | 66.95 MB | |
Windows | 53.48 MB |
This software is licensed under the Oracle Binary Code License Agreement for the Java SE Platform Products
|
|
|
Linux | 305.93 MB | |
Linux | 338.37 MB | |
macOS | 395.42 MB | |
Solaris SPARC | 206.77 MB | |
Windows | 390.08 MB |
This software is licensed under the Oracle Binary Code License Agreement for the Java SE Platform Products
|
|
|
Linux | 60.35 MB | |
Linux | 83.89 MB | |
macOS | 78.45 MB | |
macOS | 73.85 MB | |
Solaris SPARC | 53.22 MB | |
Windows | 100.48 MB | |
Windows | 75.36 MB |
This software is licensed under the Oracle Binary Code License Agreement for the Java SE Platform Products
|
|
|
Linux | 57.16 MB | |
Solaris SPARC | 67.16 MB | |
Windows | 53.47 MB |
JVM, JDK, JRE: Có gì khác biệt giữa chúng?
Bài đăng này đã không được cập nhật trong 4 năm
Ba thành phần nền tảng Java không thể thiếu và cách chúng hoạt động cùng nhau trong các ứng dụng Java của bạn
Các nhà phát triển mới sử dụng Java thường tự hỏi có gì khác biệt Java Virtual Machine, Java Development Kit, Java Runtime Environment. Họ cũng tò mò về cách ba thành phần nền tảng Java này hoạt động cùng nhau trong các ứng dụng Java. Cuối cùng, các nhà phát triển cần biết họ sẽ tương tác với từng thành phần như thế nào.
Nói ngắn gọn:
- JVM là thành phần nền tảng Java thực thi các chương trình của bạn.
- JRE khởi tạo JVM và đảm bảo các phụ thuộc có sẵn cho các chương trình của bạn.
- JDK cho phép bạn tạo các chương trình Java có thể được thực thi và chạy bởi JVM và JRE.
Là nhà phát triển, bạn sẽ làm việc với JDK để viết các ứng dụng của mình và với JVM để gỡ lỗi và tối ưu hóa chúng, đặc biệt là về hiệu năng. JRE chủ yếu chạy ở chế độ nền, nhưng bạn có thể sử dụng nó để theo dõi ứng dụng và cấu hình bộ nhớ.
JVM là gi? Giới thiệu Java Virtual Machine
JVM quản lý bộ nhớ hệ thống và cung cấp môi trường thực thi di động cho các ứng dụng dựa trên Java
Runtime Enviroment là gì?
Một chương trình phần mềm cần phải thực thi và để thực hiện nó cần một môi trường để chạy. Runtime Enviroment tải các tệp lớp và đảm bảo có quyền truy cập vào bộ nhớ và các tài nguyên hệ thống khác để chạy chúng. Trước đây, hầu hết các phần mềm đều sử dụng hệ điều hành (HĐH) làm Runtime Enviroment. Chương trình chạy bên trong bất kỳ máy tính nào được bật, nhưng dựa vào cài đặt hệ điều hành để truy cập tài nguyên. Tài nguyên trong trường hợp này sẽ là những thứ như bộ nhớ và tệp chương trình và dependencies. Java Runtime Enviroment đã thay đổi tất cả, ít nhất là đối với các chương trình Java.
JRE chứa các thư viện và phần mềm mà các chương trình Java của bạn cần chạy. Ví dụ, trình tải lớp Java là một phần của Java Runtime Environment. Phần mềm quan trọng này tải mã Java được biên dịch vào bộ nhớ và kết nối mã với các thư viện lớp Java thích hợp.
Tìm hiểu về Java Se – Java Se là gì?
Java SE là viết tắt của Java Standard Edition
Java SE là viết tắt của Java Standard Edition. Khi được công bố, nó được gọi là Java 2 Platform Standard Edition (J2SE). Nhưng bây giờ nó được biết tới với cái tên ngắn gọn, dễ nhớ hơn đó là: Java Se.
JavaSE còn được gọi là Java Core. Nó là phiên bản cơ bản nhất của Java và được làm nền tảng cho các phiên bản khác cao hơn. Tuy vậy, Java SE cũng có rất nhiều ứng dụng thực tế. Bạn có thể lập trình phần mềm tiện ích hoặc game (miễn là thiết bị có hỗ trợ máy ảo Java). Nếu bạn muốn lập trình ứng dụng bằng Java Se thì bạn cần phải cài đặt JDK. Đây được hiểu như là bộ công cụ toàn năng dành cho các nhà phát triển phần mềm.
Như vậy bạn đã hiểu được java se là gì rồi phải không? Bây giờ hãy cùng CodeGym đi tìm hiểu những thành phần của nó nhé.
=> Giúp bạn không nhầm lẫn ngay từ khi bắt đầu, phân biệt rõ ràng và chi tiết Java Core với Java ngay tại đây.
Môi trường thời gian chạy Java là gì?
Java Runtime Environment (JRE) là phần mềm cần thiết để các chương trình Java hoạt động chính xác. Java là một ngôn ngữ máy tính hỗ trợ nhiều ứng dụng web và di động hiện nay. JRE là công nghệ cơ sở giúp giao tiếp giữa chương trình Java và hệ điều hành. Công nghệ này đóng vai trò làm trình biên dịch và trình điều phối, cung cấp tất cả các tài nguyên giúp phần mềm Java mà bạn viết có thể chạy trên mọi loại hệ điều hành mà không cần sửa đổi thêm.
Cấu hình không gian ngăn xếp(Configuring stack space)
Không gian ngăn xếp là nơi các hàm gọi và tham chiếu biến được xếp hàng. Không gian ngăn xếp là nguồn gốc của lỗi nổi tiếng thứ hai trong lập trình Java: ngoại lệ tràn ngăn xếp (đầu tiên là ngoại lệ con trỏ null). Ngoại lệ tràn ngăn xếp chỉ ra rằng bạn đã hết dung lượng ngăn xếp vì quá nhiều phần đã được bảo lưu. Thông thường, bạn sẽ nhận được một ngăn xếp tràn khi một phương thức hoặc phương thức gọi nhau theo kiểu vòng tròn, do đó dành một số lượng lớn các lệnh gọi hàm ngày càng tăng vào ngăn xếp.
Bạn sử dụng công tắc -Xss để định cấu hình kích thước bắt đầu ngăn xếp. Ngăn xếp sau đó phát triển linh hoạt theo nhu cầu của chương trình.
JDK là gì? Giới thiệu Java Development Kit
JDK là một thành phần nền tảng chính để xây dựng các ứng dụng Java. Trái tim của nó là trình biên dịch Java.
Java Development Kit (JDK) là một trong ba gói công nghệ cốt lõi được sử dụng trong lập trình Java, cùng với JVM (Java Virtual Machine) và JRE (Java Runtime Environment)
JRE có thể được sử dụng như một thành phần độc lập để chạy các chương trình Java, nhưng nó cũng là một phần của JDK. JDK yêu cầu JRE vì chạy các chương trình Java là một phần của việc phát triển chúng.
Các định nghĩa:
- Định nghĩa kỹ thuật: JDK là một triển khai của đặc tả nền tảng Java, bao gồm các trình biên dịch và thư viện lớp.
- Định nghĩa hàng ngày: JDK là gói phần mềm bạn tải xuống để tạo các ứng dụng dựa trên Java.
Nguồn tham khảo: https://www.javaworld.com/article/3272244/what-is-the-jvm-introducing-the-java-virtual-machine.html https://www.javaworld.com/article/3296360/what-is-the-jdk-introduction-to-the-java-development-kit.html https://www.javaworld.com/article/3304858/what-is-the-jre-introduction-to-the-java-runtime-environment.html
All rights reserved
Quản lí bộ nhớ trong JVM
Tương tác phổ biến nhất với JVM đang chạy là kiểm tra mức sử dụng bộ nhớ trong heap và stack. Điều chỉnh phổ biến nhất là điều chỉnh các cài đặt bộ nhớ của JVM.
Thu gom rác(Garbage collection)
Trước Java, tất cả bộ nhớ chương trình được quản lý bởi lập trình viên. Trong Java, bộ nhớ chương trình được quản lý bởi JVM. JVM quản lý bộ nhớ thông qua một quá trình gọi là bộ sưu tập rác(garbage collection), liên tục xác định và loại bỏ bộ nhớ không sử dụng trong các chương trình Java. Việc thu gom rác xảy ra bên trong một JVM đang chạy.
Keywords searched by users: java se jdk jre
Categories: Chi tiết 70 Java Se Jdk Jre
See more here: kientrucannam.vn
See more: https://kientrucannam.vn/vn/