Giới thiệu về Java
⚡ Tóm tắt thông minh
Giới thiệu về Java Bài hướng dẫn này giải thích một ngôn ngữ lập trình hướng đối tượng, dựa trên lớp, đa năng, đồng thời cũng là một nền tảng điện toán. Bài hướng dẫn bao gồm các nội dung sau: JavaLịch sử, các phiên bản, tính năng, các thành phần cốt lõi (JDK, JVM, JRE), các phiên bản nền tảng và cơ chế mã bytecode tạo nên nó. Java Một ngôn ngữ thực sự "viết một lần, chạy ở mọi nơi".

Là gì Java?
Java Đây là một ngôn ngữ lập trình hướng đối tượng, dựa trên lớp, đa năng, được thiết kế để giảm thiểu sự phụ thuộc vào việc triển khai. Nó cũng là một nền tảng điện toán cho việc phát triển ứng dụng. Java Nó nhanh, an toàn và đáng tin cậy, đó là lý do tại sao nó cung cấp sức mạnh cho phần mềm trên máy tính xách tay, trung tâm dữ liệu, máy chơi game, siêu máy tính khoa học, điện thoại di động và các thiết bị nhúng. Là một ngôn ngữ đa nền tảng, hướng mạng, Java Đây vẫn là một trong những ngôn ngữ lập trình được sử dụng rộng rãi nhất trong ngành và được hầu hết các tổ chức ưu tiên lựa chọn để xây dựng các dự án quan trọng.
Là gì Java Nền tảng?
Java Nền tảng là một tập hợp các chương trình giúp các nhà phát triển tạo và chạy Java Nó giúp ứng dụng hoạt động hiệu quả. Nó tích hợp một công cụ thực thi, một trình biên dịch và một tập hợp các thư viện, cùng với các thông số kỹ thuật xác định cách chúng tương tác với nhau. James Gosling đã phát triển công cụ này. Java nền tảng tại Sun Microsystems, và Oracle Tập đoàn này đã mua lại nó thông qua thương vụ thâu tóm Sun vào năm 2009.
Video này giới thiệu Java nền tảng và giải thích lý do tại sao Java Nó vừa là một nền tảng, vừa là một ngôn ngữ lập trình:
Nhấp chuột đây Nếu video không truy cập được.
Là gì Java Được dùng cho?
Dưới đây là một số ứng dụng thực tiễn quan trọng nhất của Java:
- phát triểnping Android ứng dụng.
- Xây dựng phần mềm doanh nghiệp cho các tổ chức lớn.
- Cung cấp năng lượng cho nhiều thiết bị di động Java các ứng dụng.
- Chạy các ứng dụng tính toán khoa học.
- Xây dựng các quy trình phân tích dữ liệu lớn.
- Lập trình các thiết bị phần cứng nhúng.
- Các công nghệ phía máy chủ như Apache, JBoss, GlassFish và Tomcat.
Lịch sử của Java Ngôn ngữ lập trình
Dưới đây là những cột mốc quan trọng trong lịch sử của... Java ngôn ngữ:
- Java ngôn ngữ ban đầu được gọi là OAK.
- Ban đầu, hệ điều hành này được phát triển để xử lý các thiết bị di động và đầu thu kỹ thuật số, nhưng OAK lại thất bại về mặt thương mại.
- Năm 1995, Sun đổi tên ngôn ngữ này thành “Javavà tập trung lại vào việc tận dụng sự phát triển nhanh chóng của mạng Internet toàn cầu.
- Song song với sự tăng trưởng vượt xa mong đợi của Oracle Corporation đã mua lại Sun Microsystems và nắm quyền sở hữu ba tài sản phần mềm chính của Sun: Java, MySQLvà Solaris.
Java Các phiên bản
Dưới đây là tóm tắt lịch sử của Java Các phiên bản và ngày phát hành của chúng, được cập nhật đến bản phát hành hỗ trợ dài hạn mới nhất:
| Java phiên bản | Phát hành ngày |
|---|---|
| JDK Alpha và Beta | 1995 |
| JDK 1.0 | Ngày 23 tháng 1996 năm XNUMX |
| JDK 1.1 | 19th Tháng 2 1997 |
| J2SE 1.2 | 8th Tháng 12 1998 |
| J2SE 1.3 | 8th Tháng 5 2000 |
| J2SE 1.4 | 6th Tháng 2 2002 |
| J2SE 5.0 | 30th Tháng chín 2004 |
| Java SE 6 | 11th Tháng 12 2006 |
| Java SE 7 | 28th Tháng 7 2011 |
| Java SE 8 (LTS) | 18th Tháng 3 2014 |
| Java SE 9 | 21st Tháng chín 2017 |
| Java SE 10 | 20th Tháng 3 2018 |
| Java SE 11 (LTS) | 25th Tháng chín 2018 |
| Java SE 12 | 19th Tháng 3 2019 |
| Java SE 13 | 17th Tháng chín 2019 |
| Java SE 14 | 17th Tháng 3 2020 |
| Java SE 15 | 15th Tháng chín 2020 |
| Java SE 16 | 16th Tháng 3 2021 |
| Java SE 17 (LTS) | 14th Tháng chín 2021 |
| Java SE 18 | Ngày 22 tháng 2022 năm XNUMX |
| Java SE 19 | 20th Tháng chín 2022 |
| Java SE 20 | 21st Mar 2023 |
| Java SE 21 (LTS) | 19th Tháng chín 2023 |
| Java SE 22 | 19th Tháng 3 2024 |
| Java SE 23 | 17th Tháng chín 2024 |
| Java SE 24 | 18th Tháng 3 2025 |
| Java SE 25 (LTS) | 16th Tháng chín 2025 |
Java Tính năng
Dưới đây là một số điều quan trọng nhất Java Những tính năng đã giúp nó duy trì vị thế của mình trong gần ba thập kỷ:
- Đây là một trong những ngôn ngữ lập trình hướng đối tượng dễ học nhất.
- “Viết một lần, chạy ở mọi nơi” — mã được biên dịch trên một máy có thể chạy trên hầu hết mọi nền tảng máy tính.
- Java Nó hoạt động độc lập với nền tảng nhờ mô hình thực thi mã bytecode.
- Nó được thiết kế từ đầu dành cho các ứng dụng hướng đối tượng.
- Đây là ngôn ngữ đa luồng với cơ chế quản lý bộ nhớ tự động (thu gom rác).
- Nó được tạo ra cho môi trường phân tán của internet.
- Nó tạo điều kiện thuận lợi cho điện toán phân tán nhờ thiết kế hướng mạng.
Các thành phần của Java Ngôn ngữ lập trình
A Java Lập trình viên viết mã bằng ngôn ngữ mà con người có thể đọc được, được gọi là... mã nguồnCPU không bao giờ hiểu trực tiếp mã nguồn — CPU chỉ chạy mã máy, và mã máy đó khác nhau giữa các dòng CPU. Để khắc phục khoảng cách này, Java Nền tảng này dịch mã nguồn thành một dạng trung gian có thể di động. Tất cả điều này diễn ra bên trong ba thành phần cốt lõi: JDK, JVM và JRE.
Java Bộ công cụ phát triển (JDK)
JDK là một môi trường phát triển phần mềm được sử dụng để xây dựng các applet và Java ứng dụng. Hình thức đầy đủ của JDK là Java Bộ dụng cụ phát triển. Java các nhà phát triển có thể sử dụng nó trên Windows, macOS, Solarisvà Linux. JDK giúp họ lập trình và chạy. Java các chương trình. Có thể cài đặt nhiều phiên bản JDK trên cùng một máy tính.
Tại sao nên sử dụng JDK?
- JDK chứa các công cụ cần thiết để viết Java các chương trình và một JRE để thực thi chúng.
- Nó bao gồm một trình biên dịch (
javac), Java Trình khởi chạy ứng dụng, AppletViewer và các tiện ích tương tự. - Trình biên dịch chuyển đổi mã được viết bằng Java thành mã byte.
- Java trình khởi chạy ứng dụng mở JRE, tải lớp cần thiết và thực thi phương thức chính của nó.
Java Máy ảo (JVM)
Java Máy ảo (JVM) là một công cụ cung cấp môi trường thời gian chạy để vận hành. Java mã hoặc ứng dụng. Nó chuyển đổi Java Chuyển đổi mã bytecode thành ngôn ngữ máy. JVM là một phần của... Java Môi trường thực thi (JRE). Trong các ngôn ngữ lập trình khác, trình biên dịch tạo ra mã máy cho một hệ thống cụ thể. Tuy nhiên, Java Trình biên dịch tạo ra mã cho một máy ảo được gọi là Java Máy ảo.
Tại sao lại là JVM?
- JVM cung cấp cách thực thi độc lập với nền tảng Java mã nguồn.
- Nó có rất nhiều thư viện, công cụ và framework có sẵn ngay từ đầu.
- Sau khi bạn biên dịch một Java Chương trình này có thể chạy trên mọi nền tảng, giúp tiết kiệm đáng kể thời gian.
- JVM được tích hợp trình biên dịch JIT (Just-In-Time) chuyển đổi mã bytecode thành ngôn ngữ máy cấp thấp trong thời gian chạy, thường giúp nó chạy nhanh hơn so với ứng dụng được thông dịch.
Java Môi trường thời gian chạy (JRE)
JRE là một phần mềm được thiết kế để chạy các phần mềm khác. Nó chứa các thư viện lớp, lớp tải và JVM. Nói một cách đơn giản, nếu bạn chỉ muốn chạy một phần mềm duy nhất... Java (Nếu bạn chỉ muốn lập trình chứ không phải phát triển một chương trình), bạn cần JRE thay vì toàn bộ JDK.
Tại sao nên sử dụng JRE?
- JRE chứa các thư viện lớp, JVM và các tệp hỗ trợ khác. Nó không bao gồm các công cụ dành cho nhà phát triển như trình gỡ lỗi hoặc trình biên dịch.
- Nó sử dụng các lớp gói quan trọng bao gồm
math,swing,util,lang,awtvà các thư viện thời gian chạy. - Nếu bạn phải chạy Java Đối với các applet hoặc ứng dụng, JRE phải được cài đặt trên hệ thống của bạn.
Các loại khác nhau của Java Nền tảng
Có bốn Java Các nền tảng ngôn ngữ lập trình, mỗi nền tảng được điều chỉnh cho một mục tiêu triển khai khác nhau:
1. Java Nền tảng, Phiên bản Tiêu chuẩn (Java SE): Java API của SE cung cấp Java Chức năng cốt lõi của ngôn ngữ lập trình. Nó định nghĩa mọi thứ, từ các kiểu dữ liệu và đối tượng cơ bản đến các lớp cấp cao được sử dụng cho mạng, bảo mật, truy cập cơ sở dữ liệu, phát triển giao diện người dùng đồ họa (GUI) và phân tích cú pháp XML.
2. Java Nền tảng, Phiên bản Doanh nghiệp (Jakarta EE, trước đây là...) Java EE): Nền tảng Jakarta EE cung cấp API và môi trường chạy cho việc phát triển.ping và vận hành các ứng dụng mạng đa tầng, quy mô lớn, đáng tin cậy và an toàn với khả năng mở rộng cao. Oracle đã chuyển nền tảng sang Eclipse Foundation Vào năm 2017, công ty đã đổi tên thành Jakarta EE.
3. Java Nền tảng, Phiên bản vi mô (Java TÔI): Java Nền tảng ME cung cấp API và máy ảo có dung lượng nhỏ để chạy. Java các ứng dụng trên các thiết bị nhỏ như điện thoại phổ thông và bộ điều khiển nhúng.
4. JavaNgoại hối: JavaFX là một nền tảng dành cho nhà phát triển.ping Các ứng dụng internet phong phú sử dụng API giao diện người dùng nhẹ. Nó sử dụng các công cụ đồ họa và đa phương tiện được tăng tốc phần cứng giúp... Java Tận dụng lợi thế của các máy khách hiệu năng cao hơn, giao diện hiện đại và các API cấp cao để kết nối với các nguồn dữ liệu mạng.
Để hiểu Java Để hiểu rõ hơn về ngôn ngữ lập trình, chúng ta cần xem lại một số khái niệm cơ bản về cách một chương trình máy tính chạy các lệnh và thực thi các hành động.
PC là gì?
Máy tính là một thiết bị điện tử có khả năng thực hiện các phép tính. Nó bao gồm màn hình, bàn phím, chuột và bộ nhớ để lưu trữ thông tin. Tuy nhiên, thành phần quan trọng nhất là BỘ XỬ LÝ. Bộ xử lý thực hiện tất cả các thao tác tư duy của máy tính — nhưng nó thực sự tư duy như thế nào? Làm thế nào nó hiểu được văn bản, hình ảnh và video?

Là gì Assembly Ngôn ngữ?
Máy tính là một thiết bị điện tử, vì vậy nó chỉ hiểu các tín hiệu điện tử — tín hiệu nhị phân. Một tín hiệu điện tử 5 volt có thể biểu thị số nhị phân 1, trong khi 0 volt có thể biểu thị số nhị phân 0. Máy tính của bạn liên tục nhận được những tín hiệu này.
Tám bit tín hiệu này được nhóm lại với nhau để giải thích văn bản, số và ký hiệu.
Ví dụ, ký hiệu # được máy tính nhận dạng là 10101010. Tương tự, mẫu cho hàm “cộng” được biểu diễn bằng 10000011.
Đây được gọi là điện toán 8-bit. Các bộ xử lý hiện đại có khả năng giải mã các lệnh 64-bit cùng một lúc. Vậy khái niệm này có liên quan gì đến... JavaChúng ta hãy cùng xem xét một ví dụ.
Giả sử bạn muốn yêu cầu máy tính cộng hai số (1 + 2) được biểu diễn bằng một số nhị phân nào đó (10000011). Làm thế nào để bạn truyền đạt điều đó cho máy tính? Bạn sử dụng ngôn ngữ lập trình hợp ngữ để thực thi mã của mình.
"Assembly Ngôn ngữ là dạng cơ bản nhất của ngôn ngữ phát triển phần mềm.”
Bạn đưa ra các lệnh theo định dạng sau. Đoạn mã để cộng hai số trong ngôn ngữ lập trình hợp ngữ sẽ trông như thế này:
- Lưu số 1 vào vị trí bộ nhớ A.
- Lưu trữ số 2 tại vị trí bộ nhớ B.
- Cộng nội dung của vị trí A và vị trí B lại với nhau.
- Lưu trữ kết quả.
Vào những năm 1950, khi máy tính còn cồng kềnh và ngốn nhiều năng lượng, người ta sẽ chuyển đổi mã hợp ngữ thành mã máy tương ứng (các bit 1 và 0) bằng cách sử dụng lệnh map.ping Các tờ giấy. Mã số sau đó được đục lỗ vào các thẻ máy và đưa vào máy tính. Máy tính đọc các mã này và thực thi chương trình. Đây là một quá trình dài — cho đến khi trình biên dịch (ASSEMBLER) xuất hiện để tự động hóa quá trình chuyển đổi.
Trình biên dịch và trình biên dịch là gì?
Với sự tiến bộ của công nghệ, các thiết bị I/O đã được phát minh. Bạn có thể gõ chương trình trực tiếp vào máy tính bằng trình biên dịch hợp ngữ (ASSEMBLER), trình biên dịch này sẽ chuyển đổi mã hợp ngữ thành mã máy tương ứng (110001…) và đưa vào bộ xử lý của bạn. Quay lại ví dụ 1 + 2, trình biên dịch hợp ngữ sẽ chuyển đổi mã hợp ngữ thành mã máy để xuất ra.
Ngoài việc lập trình hợp ngữ, bạn cũng phải gọi các hàm do hệ điều hành cung cấp để hiển thị kết quả.
Chỉ riêng trình biên dịch hợp ngữ thôi là chưa đủ; nó cũng cần một TRÌNH BIÊN DỊCH để nén mã nguồn dài thành các đoạn nhỏ hơn, được tối ưu hóa. Với các ngôn ngữ lập trình cấp cao hơn, toàn bộ đoạn mã hợp ngữ ở trên sẽ được thu gọn thành một dòng duy nhất như sau: printf(“%d”, 1+2)Trình biên dịch sẽ chuyển đổi... ngôn ngữ C chuyển đổi mã nguồn thành mã hợp ngữ; sau đó trình biên dịch hợp ngữ sẽ chuyển đổi mã hợp ngữ đó thành mã máy. transmitTùy thuộc vào bộ xử lý. Bộ xử lý phổ biến nhất được sử dụng trong máy tính cá nhân là bộ xử lý Intel.
Các trình biên dịch hiện đại thường tích hợp trình hợp dịch để có thể chuyển đổi mã ngôn ngữ cấp cao trực tiếp thành mã máy.
Bây giờ, giả sử Windows Chạy trên bộ xử lý Intel — sự kết hợp giữa hệ điều hành và bộ xử lý được gọi là NỀN TẢNG. Nền tảng phổ biến nhất là Windows Trên nền tảng Intel, còn được gọi là nền tảng Wintel. Các nền tảng phổ biến khác bao gồm AMD, Linux, PowerPC, và macOS.
Khi thay đổi bộ xử lý, các lệnh hợp ngữ cũng thay đổi theo. Ví dụ:
- Lệnh “add” trên Intel có thể được gọi là ADDITION trên AMD.
- Hoặc "Math ADD" trên PowerPC.
Và khi hệ điều hành thay đổi, cấp độ và bản chất của các lệnh gọi cấp hệ điều hành cũng thay đổi.
Là một nhà phát triển, bạn muốn phần mềm của mình hoạt động trên mọi nền tảng để tối đa hóa phạm vi tiếp cận. Điều đó có nghĩa là bạn sẽ phải mua các trình biên dịch riêng biệt để chuyển đổi mã nguồn của mình. printf chuyển lệnh thành mã máy gốc cho từng mục tiêu.
Trình biên dịch rất đắt tiền, và luôn có nguy cơ xảy ra vấn đề tương thích giữa các hệ điều hành. Việc mua và cài đặt một trình biên dịch riêng cho mỗi sự kết hợp giữa hệ điều hành và bộ xử lý là không thực tế. Vậy giải pháp thay thế là gì? Đó chính là... Java ngôn ngữ.
Làm thế nào Java Máy ảo có hoạt động không?
Bằng việc sử dụng Java Máy ảoVấn đề này có thể được giải quyết. Nhưng nó hoạt động như thế nào trên các bộ xử lý và hệ điều hành khác nhau? Chúng ta hãy cùng tìm hiểu từng bước một.
Bước 1) Đoạn mã để hiển thị phép cộng hai số — System.out.println(1+2) — được lưu dưới dạng .java tập tin.
Bước 2) Sử dụng Java trình biên dịch (javac), mã được chuyển đổi thành mã trung gian có tên là mã byteKết quả đầu ra là một .lớp học tập tin.
Bước 3) Mã bytecode này không được bất kỳ nền tảng vật lý nào hiểu, mà chỉ được hiểu bởi một nền tảng ảo gọi là... Java Máy ảo.
Bước 4) JVM nằm trong bộ nhớ RAM của hệ điều hành. Khi nhận được mã bytecode, JVM sẽ xác định nền tảng đang chạy và chuyển đổi mã bytecode thành mã máy gốc ngay lập tức.
Trong khi làm việc trên máy tính hoặc duyệt web, bất cứ khi nào bạn thấy Java- Các biểu tượng liên quan, bạn có thể chắc chắn rằng JVM đã được tải vào RAM. Điều gì tạo nên Java attracƯu điểm là mã đã biên dịch không chỉ có thể chạy trên mọi nền tảng PC mà còn trên thiết bị di động và các thiết bị điện tử khác hỗ trợ Java.
"Java Nó vừa là một ngôn ngữ lập trình, vừa là một nền tảng.”
Làm thế nào là Java Nền tảng độc lập?
Không giống như trình biên dịch C, Java trình biên dịch không tạo ra mã thực thi riêng cho một máy cụ thể. Thay vì, Java tạo ra một định dạng trung gian độc đáo được gọi là mã byteMã bytecode được thực thi theo các quy tắc được quy định trong đặc tả JVM, đó là lý do tại sao Java là một ngôn ngữ độc lập với nền tảng.
Mã bytecode có thể được hiểu bởi bất kỳ JVM nào được cài đặt trên bất kỳ hệ điều hành nào. Nói tóm lại, Java Mã nguồn có thể chạy trên mọi hệ điều hành hiện đại mà không cần biên dịch lại, đó là nền tảng của... JavaLời hứa "viết một lần, chạy ở mọi nơi" của họ.








