Trình biên dịch và thông dịch của java là gì

Java xuất hiện vào giữa những năm 1990 và nhanh chóng trở nên phổ biến. Hàng nghìn lập trình viên đã chuyển từ C++ sang Java. Điều này chỉ khẳng định một lần nữa rằng Java là một ngôn ngữ lập trình rất hay .

Vì vậy, những gì rất mát mẻ về nó? Những người tạo ra nó đã cung cấp cho nó những tính năng gì?

Bạn sẽ rất ngạc nhiên nếu so sánh Java và C++: Java rất giống với một C++ bị cắt bớt nhiều!

Vâng, ngôn ngữ Java ở một mức độ nào đó đã bị loại bỏ rất nhiều so với C++ . Nếu C++ cho phép bạn làm điều gì đó theo 20 cách, thì Java chỉ cho phép bạn làm điều đó theo một cách . Vì vậy, lợi thế ở đây là gì, bạn yêu cầu?

Chà, các chương trình ngày nay rất lớn, các lập trình viên thường dành tới 90% thời gian làm việc để hiểu mã do người khác viết. Và chỉ 10% dành cho việc viết mã mới. Vì vậy, có, đơn giản là một lợi thế.


2. Trình biên dịch Java

Nhân tiện, bạn sẽ nhiều lần nghe nói rằng lợi thế chưa từng có của Java là nền tảng độc lập của nó . Đó là gì và nó để làm gì, bạn hỏi? Hãy bắt đầu từ đầu.

Một máy tính chỉ có thể thực hiện các lệnh đơn giản nhất.

Khi huấn luyện chó, chúng ta sử dụng các mệnh lệnh như 'Gót chân', 'Lắc', v.v. để khiến chó làm điều gì đó mà chúng ta muốn nó làm. Đối với máy tính, các con số đóng vai trò của các lệnh như vậy: mỗi lệnh được mã hóa bởi một số nhất định (nó còn được gọi là mã máy) .

Nhưng thật khó để viết một chương trình chỉ sử dụng các con số, vì vậy người ta đã phát minh ra các ngôn ngữ lập trình và trình biên dịch . Một ngôn ngữ lập trình có thể được hiểu bởi cả con người và trình biên dịch. Trình biên dịch là một chương trình đặc biệt chuyển đổi chương trình được viết bằng ngôn ngữ lập trình thành một chuỗi mã máy.

Một lập trình viên thường viết một chương trình bằng ngôn ngữ lập trình và sau đó chạy một trình biên dịch, trình biên dịch này biến các tệp mã chương trình do lập trình viên viết thành một tệp duy nhất có mã máy - chương trình (được biên dịch) cuối cùng.

  • Chương trình trong C++
  • Trình biên dịch
  • Một chương trình bao gồm mã máy

Các giai đoạn biên dịch ngôn ngữ C++

Chương trình kết quả có thể được thực hiện bởi máy tính ngay lập tức. Tin xấu là mã của chương trình cuối cùng phụ thuộc rất nhiều vào bộ xử lý và hệ điều hành. Điều này có nghĩa là một chương trình được biên dịch cho Windows sẽ không hoạt động trên điện thoại thông minh Android.

Nếu bạn viết một chương trình cho Android , thì nó sẽ không chạy trên hệ điều hành Windows !

Tuy nhiên, Java sử dụng một cách tiếp cận sáng tạo hơn nhiều.

  • Chương trình trong Java
  • trình biên dịch Java
  • Một chương trình bao gồm các mã độc lập đặc biệt (bytecode)
  • Máy ảo Java
  • Một chương trình bao gồm mã máy

Các giai đoạn biên dịch cho ngôn ngữ Java

Trình biên dịch Java không biên dịch tất cả các lớp thành một chương trình mã máy. Thay vào đó, nó biên dịch mọi lớp một cách độc lập và hơn thế nữa, không phải thành mã máy mà thành một mã trung gian đặc biệt (mã byte). Mã byte được biên dịch thành mã máy khi chương trình được khởi động.

Vì vậy, ai biên dịch chương trình thành mã máy khi nó đang được thực thi?

Có một chương trình đặc biệt cho việc này được gọi là máy ảo Java (JVM). Nó được khởi chạy trước và sau đó là chương trình bao gồm mã byte. Sau đó, JVM sẽ biên dịch bytecode thành mã máy trước khi chương trình được thực thi.

Đó là một cách tiếp cận rất hiệu quả và là một trong những lý do khiến Java hoàn toàn thống trị.


3. Các lĩnh vực mà Java chiếm ưu thế

Những ưu điểm được mô tả ở trên cho phép các chương trình viết bằng Java chạy được trên hầu hết mọi thiết bị — máy tính, điện thoại thông minh, máy ATM, lò nướng bánh và thẻ tín dụng.

Cách tiếp cận này có nhiều lợi thế . Đó là lý do tại sao các chương trình Android cũng được viết bằng Java . Nhờ sự phát triển nhanh chóng của ngành công nghiệp điện thoại di động, Java thống trị các lĩnh vực lập trình sau:

  1. Doanh nghiệp : các ứng dụng hướng máy chủ hạng nặng dành cho ngân hàng, tập đoàn, quỹ đầu tư, v.v.
  2. Di động : phát triển di động (điện thoại thông minh, máy tính bảng), nhờ Android.
  3. Web : PHP đang dẫn đầu, nhưng Java đã chiếm được thị phần vững chắc trên thị trường.
  4. Dữ liệu lớn : tính toán phân tán trong các cụm bao gồm hàng nghìn máy chủ.
  5. Smart Devices : các chương trình cho ngôi nhà thông minh, thiết bị điện tử, tủ lạnh IoT, v.v.

Java không chỉ là một ngôn ngữ, mà là cả một hệ sinh thái: hàng triệu mô-đun được tạo sẵn mà bạn có thể sử dụng trong chương trình của mình. Hàng nghìn cộng đồng trực tuyến và bảng tin nơi bạn có thể nhận trợ giúp hoặc lời khuyên.

Biên dịch và thông dịch Java khác nhau như thế nào?

Trình biên dịch là trình dịch chuyển đổi từ ngôn ngữ nguồn (các ngôn ngữ lập trình bậc cao) thành ngôn ngữ đối tượng (ví dự như ngôn ngữ máy). Ngược lại với trình biên dịch , trình thông dịch là một chương trình bắt chước việc thực hiện của các chương trình được viết bằng ngôn ngữ nguồn.

Trình biên dịch và trình thông dịch là gì?

Trình thông dịch sẽ dịch ngôn ngữ mới sang ngôn ngữ máy song song với việc chạy chương trình và thực thi chúng. Còn với trình biên dịch, chương trình sẽ được dịch toàn bộ sang mã máy sau đó mới tiến hành thực thi. Quá trình biên dịch mã máy diễn ra nhanh hơn so với trình thông dịch.

Trình biên dịch trong Java là gì?

Trình biên dịch (tiếng Anh: compiler) hay phần mềm biên dịch là một chương trình máy tính làm công việc dịch một chuỗi các câu lệnh được viết bằng một ngôn ngữ lập trình (gọi là ngôn ngữ nguồn hay mã nguồn), thành một chương trình tương đương nhưng ở dưới dạng một ngôn ngữ máy tính mới (gọi là ngôn ngữ đích) và thường ...

Kỹ thuật lập trình Java là gì?

Java là ngôn ngữ lập trình đa nền tảng (cross-platform), được phát triển bởi James Gosling tại Sun Microsystems (nay là Oracle Corporation). Ngôn ngữ lập trình này ra đời vào năm 1995 và được thiết kế để có thể chạy trên các nền tảng khác nhau, từ máy tính cá nhân đến thiết bị di động, các máy chủ và thiết bị nhúng.