Java là ngôn ngữ gì

Trong bài đầu tiên về series tự học Java cơ bản (Java Core) này, chúng ta sẽ lần lượt tìm hiểu về khái niệm Java là gì, sự hình thành của ngôn ngữ này, vì sao ngôn ngữ này lại được đặt tên là Java? Bên cạnh đó, bài viết này cũng sẽ lần lượt giới thiệu những đặc điểm cơ bản và ứng dụng của ngôn ngữ Java và các Platform cơ bản của ngôn ngữ lập trình Java.

Java là ngôn ngữ gì

Java là ngôn ngữ gì

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Java là gì?

Java là một ngôn ngữ lập lập trình, được phát triển bởi Sun Microsystem vào năm 1995, là ngôn ngữ kế thừa trực tiếp từ C/C++ và là một ngôn ngữ lập trình hướng đối tượng.

Vì sao ngôn ngữ này lại được đặt tên là Java? Java là tên một hòn đảo ở Indonesia - hòn đảo nổi tiếng với loại coffee Peet và cũng là loại nước uống phổ biến của các kỹ sư Sun. Ban đầu Ngôn ngữ này được đặt tên là "Oak" (có nghĩa là "Cây sồi" - 1991), nhưng các luật sư của Sun xác định rằng tên đó đã được đăng ký nhãn hiệu nên các nhà phát triển đã phải thay thế bằng một tên mới -  và cũng vì lý do trên mà cái tên Java đã ra đời và trở thành tên gọi chính thức của Ngôn ngữ này - Ngôn ngữ Lập trình Java. 

2. Ứng dụng của Java

Ngày nay Java được sử dụng với các mục đích sau:

Bài viết này được đăng tại [free tuts .net]

  • Phát triển ứng dụng cho các thiết bị điện tử thông minh, các ứng dụng cho doanh nghiệp với quy mô lớn.
  • Tạo các trang web có nội dung động (web applet), nâng cao chức năng của server.
  • Phát triển nhiều loại ứng dụng khác nhau: Cơ sở dữ liệu, mạng, Internet, viễn thông, giải trí,...

3. Những đặc điểm cơ bản của Java

Tiêu chí hàng đầu của Ngôn ngữ Lập trình Java là "Write Once, Run Anywhere" (Viết một lần, chạy mọi nơi), nghĩa là Java cho phép chúng ta viết code một lần và thực thi được trên các hệ điều hành khác nhau. Ví dụ, chúng ta viết code trên Hệ điều hành Windows và nó có thể thực thi được trên các Hệ điều hành Linux và Mac OS...

Với đặc điểm nổi bật đó, Java có những đặc điểm cơ bản như sau:

  • Đơn giản và quen thuộc: Vì Java kế thừa trực tiếp từ C/C++ nên nó có những đặc điểm của ngôn ngữ này, Java đơn giản vì mặc dù dựa trên cơ sở C++ nhưng Sun đã cẩn thận lược bỏ các tính năng khó nhất của của C++ để làm cho ngôn ngữ này dễ sử dụng hơn.
  • Hướng đối tượng và quen thuộc.
  • Mạnh mẽ (thể hiện ở cơ chế tự động thu gom rác - Garbage Collection) và an toàn.
  • Kiến trúc trung lập, độc lập nền tảng và có tính khả chuyển (Portability).
  • Hiệu suất cao.
  • Máy ảo (biên dịch và thông dịch).
  • Phân tán.
  • Đa nhiệm: Ngôn ngữ Java cho phép xâ dựng trình ứng dụng, trong đó nhiều quá trình có thể xảy ra đồng thời. Tính đa nhiệm cho phép các nhà lập trình có thể biên soạn phần mềm đáp ứng tốt hơn, tương tác tốt hơn và thực hiện theo thời gian thực.
  • ...

4. Các platform cơ bản của Java.

Java Platform gồm có 3 thành phần chính:

  • Java Virtual Machine (Java VM): Máy ảo Java.
  • Java Application Programming Interface (Java API).
  • Java Development Kit (JDK) gồm trình biên dịch, thông dịch, trợ giúp, soạn tài liệu... và các thư viện chuẩn.

Java là ngôn ngữ gì

5. Tiêu chuẩn của một môi trường Java điển hình.

Thông thường, các chương trình Java trải qua 5 giai đoạn chính:

  • Editor: Lập trình viên viết chương trình và được lưu vào máy tính với định dạng .java.
  • Compiler: Biên dịch chương trình thành bytecodes (định dạng .class) - nhờ bước trung gian này mà Java được viết 1 lần và chạy trên các hệ điều hành khác nhau.
  • Class Loader: Đọc file .class chứa mã bytecodes và lưu vào trong bộ nhớ.
  • Bytecode Verifier: Đảm bảo rằng mã bytecodes là hợp lệ và không vi phạm các vấn đề về bảo mật của Java.
  • Intepreter: Biên dịch bytecodes thành mã máy để máy tính có thể hiểu được và sau đó thực thi chương trình.

Java là ngôn ngữ gì

6. Lời kết.

Trong bài này chúng ta đã tìm hiểu được các khái niệm ban đầu, đặc điểm và tầm quan trọng của Ngôn ngữ Lập trình Java. Sang bài sau, mình sẽ giới thiệu đến các bạn các bước ban đầu để tiến hành lập trình với Java - đó là tìm hiểu về cách cài đặt Java, cấu hình biến môi trường cho Java và các bước cài đặt và cấu hình Eclipse. Các bạn theo dõi nhé!

Java vốn là một ngôn ngữ lập trình “lão làng” trong số nhiều ngôn ngữ lập trình trên thế giới. Đây  là một loại ngôn ngữ lập trình hướng đối tượng được viết dựa trên ngôn ngữ C/C++ dựa trên Class, môi trường runtime bao gồm JVM, là nền tảng của Java. 

Java là gì? Khái niệm Java

Java là một ngôn ngữ lập trình có mục đích chung và hướng đối tượng được phát triển cho môi trường phân tán và phát triển phần mềm cho các thiết bị điện tử tiêu dùng như TV, VCR,...

Ngôn ngữ lập trình Java là một ngôn ngữ độc lập với nền tảng, có nghĩa là không có giới hạn đối với bất kỳ phần cứng hoặc hệ điều hành cụ thể nào. Nó cung cấp cho người dùng cơ sở để 'viết một lần, chạy ở mọi nơi'. Nhiều hệ điều hành như Sun Solaris, RedHat, Windows, v.v., hỗ trợ Java.

Java là gì

Khái niệm về ngôn ngữ lập trình Java

Java là một ngôn ngữ đồng thời, dựa trên lớp và hướng đối tượng. Nó có thể truy cập miễn phí và chúng tôi có thể chạy nó trên tất cả các nền tảng hoặc hệ điều hành. Java rất đơn giản và dễ học.

Nếu  muốn chạy “HelloWorld!” chúng ta sẽ cần nhập đoạn mã sau:

public class HelloWorld {

  public static void main(String[] args) {

    System.out.println("HelloWorld!");

  }

}

Các tính năng của Java

Theo chỉ số TIOBE, thứ hạng của Java liên tục duy trì trong 2 ngôn ngữ hàng đầu vì các tính năng mạnh mẽ và bảo mật của nó. Vậy đâu là tính năng khiến Java trở nên phổ biến như vây?

Sau đây là một số tính năng của Java khiến nó trở nên phổ biến trong thế giới lập trình:

Tính năng của Python

Các ưu điểm của Java

Đơn giản

Java là một phiên bản đơn giản của ngôn ngữ C ++, và do đó, nó cũng rất quen thuộc. Hơn nữa, nó loại bỏ tất cả các mã thừa và không đáng tin cậy. Không hỗ trợ con trỏ, tệp tiêu đề bộ xử lý trước, nạp chồng toán tử và nhiều kế thừa trong Java. Điều này làm cho Java dễ dàng hơn so với C ++.

Hướng đối tượng

Java là một ngôn ngữ hướng đối tượng và chủ yếu tập trung vào các đối tượng hơn là các quy trình. Java tuân theo khái niệm Lập trình hướng đối tượng (OOP) như:

  • Các đối tượng
  • Các lớp học
  • Di sản
  • Đóng gói / Ẩn dữ liệu
  • Trừu tượng
  • Tính đa hình

Không phụ thuộc vào nền tảng

Java là một ngôn ngữ độc lập với nền tảng vì mã nguồn của Java có thể chạy trên nhiều hệ điều hành. Các chương trình Java có thể chạy trên bất kỳ máy nào hoặc hệ điều hành không cần cài đặt bất kỳ phần mềm đặc biệt nào. Mặc dù JVM cần phải có mặt trong máy. Mã Java biên dịch thành bytecode (tệp .class), độc lập với nền tảng. Chúng tôi có thể chạy mã bytecode này trên Windows, Linux, Mac OS,....

Di động

Java có tính di động vì mã Java có thể thực thi trên tất cả các nền tảng chính. Khi chúng tôi biên dịch mã nguồn Java thành bytecode, chúng tôi có thể sử dụng nó trong bất kỳ nền tảng nào được Java hỗ trợ mà không cần sửa đổi, không giống như các ngôn ngữ khác yêu cầu biên dịch mã cho từng nền tảng. Java có tính di động vì chúng ta có thể chuyển bytecode sang bất kỳ nền tảng nào khác mà nó chạy.

Mạnh mẽ

Các tính năng sau làm cho Java mạnh mẽ và mạnh mẽ:

  • Không sử dụng con trỏ rõ ràng trong Java.
  • Java cung cấp khả năng quản lý bộ nhớ mạnh mẽ
  • Nó hỗ trợ thu gom rác tự động, vì vậy không cần phải xóa các đối tượng không được tham chiếu theo cách thủ công.
  • Java cũng cung cấp các cơ chế xử lý ngoại lệ và kiểm tra kiểu.

Bảo mật

Java là một ngôn ngữ an toàn vì những lý do sau:

  • Java không hỗ trợ các con trỏ giúp Java mạnh mẽ và an toàn.
  • Tất cả các chương trình Java đều chạy bên trong hộp cát của máy ảo.
  • Môi trường thời gian chạy Java (JRE) có một trình nạp lớp để tải động các lớp vào Máy ảo Java.
  • Trình xác minh Bytecode của Java kiểm tra các phần mã để kiểm tra mã bất hợp pháp có thể bỏ qua quyền truy cập.
  • Trình quản lý Bảo mật của Java quyết định tài nguyên nào sẽ phân bổ cho một lớp. Quyền truy cập như vậy bao gồm đọc và ghi vào tệp.
  • Java cũng giúp chúng tôi phát triển các hệ thống không có vi rút.

 Đa luồng và tương tác

Java là một ngôn ngữ đa luồng có nghĩa là nó có thể xử lý các tác vụ khác nhau đồng thời. Java hỗ trợ các chương trình đa luồng, trong đó không cần đợi một tác vụ hoàn thành để bắt đầu một tác vụ khác. Tính năng này của Java cải thiện đáng kể hiệu suất tương tác của các ứng dụng đồ họa.

Kiến trúc và môi trường của Java 

Bây giờ, chúng ta sẽ tìm hiểu kiến ​​trúc của Java và các thành phần chính của nó như JRE, JVM và JDK. Sơ đồ sau đây cho thấy kiến ​​trúc của Java:

Kiến trúc môi trường của Java

Kiến trúc và môi trường Java

JVM (Máy ảo Java)

Máy ảo Java (JVM) cung cấp một môi trường thời gian chạy trong đó bytecode thực thi. Máy ảo Java phụ thuộc vào nền tảng. JVM thực hiện các nhiệm vụ sau:

  • Tải mã
  • Xác minh mã
  • Thực thi mã
  • Cung cấp môi trường thời gian chạy

JRE( Môi trường thời gian chạy Java)

JRE là một tập hợp các công cụ cho phép phát triển các ứng dụng và cung cấp môi trường thời gian chạy để chạy các chương trình Java. JVM là một phần của JRE. JRE cũng phụ thuộc vào nền tảng. JRE hỗ trợ thực thi các chương trình Java và bao gồm JVM, thư viện lớp Thời gian chạy, bộ công cụ giao diện người dùng, Công nghệ triển khai, plugin Java, v.v.

JDK (Bộ phát triển Java)

Java Development Kit là một bộ cung cấp môi trường để phát triển và thực thi một chương trình Java. JDK bao gồm các công cụ phát triển nhằm cung cấp môi trường để phát triển các chương trình Java. Nó cũng chứa JRE chạy mã Java của bạn. JDK cũng chứa các tài nguyên khác như trình thông dịch / trình tải, trình biên dịch (javac), trình lưu trữ (jar) và trình tạo tài liệu (Javadoc). Các thành phần này cùng nhau giúp bạn xây dựng các chương trình Java.

Bộ phát triển Java bao gồm-

  • appletviewer (để xem các applet Java)
  • javac (trình biên dịch Java)
  • java (trình thông dịch Java)
  • javap (trình tháo gỡ Java)
  • javah (dành cho tệp tiêu đề C)
  • javadoc (để tạo tệp HTML)
  • jdb (trình gỡ lỗi Java)

Tiếp tục trong hướng dẫn java này, chúng ta hãy xem những ưu điểm và hạn chế của java.

>>> Tham khảo: Khóa học lập trình Java

Ưu nhược điểm của Java

Ưu điểm của Java

  • Nó là một ngôn ngữ độc lập với nền tảng vì chúng ta có thể chạy mã Java trên bất kỳ máy nào mà không cần bất kỳ phần mềm đặc biệt nào.
  • Nó là một ngôn ngữ hướng đối tượng vì các lớp và đối tượng của nó. Lập trình hướng đối tượng làm tăng khả năng phát triển mã dễ dàng và tăng hiệu quả.
  • Nó là một ngôn ngữ an toàn và lý do đằng sau sự an toàn là con trỏ, Java không sử dụng con trỏ.
  • Nó hỗ trợ đa luồng; chúng ta có thể thực hiện đồng thời nhiều chương trình.
  • Java là một ngôn ngữ mạnh mẽ vì nó có nhiều tính năng như tự động thu gom rác, không sử dụng con trỏ rõ ràng, xử lý ngoại lệ, v.v.
  • Java là một ngôn ngữ lập trình cấp cao giúp dễ học và dễ hiểu.
  • Nó cung cấp khả năng quản lý bộ nhớ hiệu quả.

Nhược điểm của Java

  • Java là một ngôn ngữ cấp cao. Do đó Java phải xử lý các mức biên dịch và trừu tượng của một máy ảo.
  • Java thể hiện hiệu suất kém vì bộ thu gom rác, cấu hình bộ nhớ đệm sai và bế tắc giữa các quy trình.
  • Java có rất ít trình xây dựng GUI (Giao diện người dùng đồ họa) như Swing, SWT, JSF và JavaFX.
  • Cuối cùng chúng ta có thể viết những đoạn mã dài và phức tạp nếu chúng ta cố gắng thực hiện một tập hợp các hoạt động đơn giản. Điều này ảnh hưởng đến khả năng đọc của mã.

Sự khác biệt giữa C ++ và Java

Sự khác biệt chính giữa C ++ và Java là Java là một ngôn ngữ hướng đối tượng, trong khi C ++ chỉ thêm một tính năng hướng đối tượng vào C.

Hãy xem điều gì làm cho Java khác với C ++:

  • Không hỗ trợ nạp chồng toán tử trong Java như trong C ++.
  • Java không cung cấp các lớp mẫu như trong C ++.
  • Java không hỗ trợ con trỏ rõ ràng, nhưng C ++ hỗ trợ.
  • Không có hỗ trợ cho các biến toàn cục trong Java như trong C ++.
  • Java sử dụng một hàm finalize () và C ++ sử dụng hàm hủy.
  • Không có tệp tiêu đề trong Java như trong C ++.
  • Java không hỗ trợ các câu lệnh “goto”, C ++ duy nhất.
  • C ++ hỗ trợ nhiều kế thừa thông qua các lớp, nhưng Java hỗ trợ tương tự thông qua các giao diện.
  • Java không hỗ trợ "call-by-reference"; nó chỉ hỗ trợ "call-by-value."
  • Không có hỗ trợ cho các cấu trúc và liên hiệp trong Java, như trong C ++.
  • Java không hỗ trợ từ khóa "ảo".

Hãy so sánh một chương trình hello world trong C ++ và Java.

Ví dụ về C++

#include

using namespace std;

int main()

{

cout << "HelloWorld!";

return 0;

}

Ví dụ về ngôn ngữ lập trình Java-

public class Hello {

  public static void main(String[] args) {

    System.out.println("Hello, World!");

  }

}

Hệ thống hỗ trợ Java

Các hoạt động của Java và các trình duyệt hỗ trợ Java trên Internet yêu cầu nhiều hệ thống hỗ trợ, như

  • Kết nối Internet
  • máy chủ web
  • Trình duyệt web
  • HTML (Ngôn ngữ đánh dấu siêu văn bản) là một ngôn ngữ để tạo siêu văn bản cho web.
  • Thẻ APPLICET
  • Mã Java
  • Bytecode
  • Proxy Server hoạt động như một máy chủ trung gian giữa máy trạm khách và máy chủ gốc.

Kết luận: 

Vậy Java là gì? Java có thể được coi là vua của tất cả các ngôn ngữ lập trình. Chúng ta có thể thấy Java giữ vị trí đầu tiên trong chỉ số TIOBE trong nhiều năm qua. Java rất hữu ích trong việc phát triển ứng dụng, nhưng chúng ta cũng có thể sử dụng Java trong Dữ liệu lớn, mạng, Khoa học dữ liệu, …

Trong hướng dẫn này, chúng ta đã thảo luận một cách ngắn gọn về ngôn ngữ lập trình Java là gì, các tính năng, ưu điểm và nhược điểm của nó, đồng thời cũng tìm hiểu so sánh giữa Java với C ++. Hy vọng các thông tin trên đã đủ để bạn lựa chọn làm việc với Java trong các dự án sắp tới. Tìm hiểu thêm về Java và các  ngôn ngữ lập trình khác qua các khóa học lập trình tại T3H bạn nhé.

Java là gì trong C++?

Java vốn một ngôn ngữ lập trình “lão làng” trong số nhiều ngôn ngữ lập trình trên thế giới. Đây một loại ngôn ngữ lập trình hướng đối tượng được viết dựa trên ngôn ngữ C/C++ dựa trên Class, môi trường runtime bao gồm JVM, nền tảng của Java.

Java là mã nguồn gì?

ngôn ngữ lập trình có mục đích chung cho phép các nhà phát triển ứng dụng viết một lần, chạy ở mọi nơi (WORA), nghĩa là mã Java đã biên dịch có thể chạy trên tất cả các nền tảng hỗ trợ Java mà không cần biên dịch lại.

JavaScript và Java khác gì nhau?

Java là ngôn ngữ lập trình tĩnh, hướng đối tượng, hoạt động trên nhiều nền tảng. JavaScript là ngôn ngữ lập trình động (hay ngôn ngữ kịch bản – scripted language) được sử dụng để làm cho các trang web ứng dụng trở nên sinh động. Java dựa trên lớp (class), còn JavaScript thì động.

Đâu là nền tảng của Java?

Java Platform (nền tảng Java) một tập hợp các chương trình giúp phát triển và chạy các chương trình được viết bằng ngôn ngữ lập trình Java. Java Platform bao gồm một công cụ thực thi (execution engine), trình biên dịch (compiler) và một bộ thư viện Java. JAVA là ngôn ngữ độc lập với nền tảng.