Các thành phần của Kiến trúc Java là gì?



Kiến trúc Java kết hợp quá trình biên dịch và thông dịch. Trong bài viết này, tôi sẽ cho bạn biết về các thành phần khác nhau của Kiến trúc Java

Kiến trúc Java kết hợp quá trình biên dịch và thông dịch. Nó giải thích các quy trình khác nhau liên quan trong khi xây dựng một . Trước khi bắt đầu với chủ đề, hãy để tôi giới thiệu với bạn chương trình làm việc cho bài viết này.

Các gợi ý được đề cập dưới đây sẽ là chủ đề thảo luận của chúng tôi:





Chúng ta hãy bắt đầu bằng cách hiểu chính xác Kiến trúc Java là gì?



Kiến trúc Java là gì?

Ở đây, tôi sẽ giải thích cho bạn kiến ​​trúc java trong các bước đơn giản.

  • Trong Java, có một quá trình biên dịch và thông dịch.
  • Mã được viết bằng , được chuyển đổi thành mã byte được thực hiện bởi Trình biên dịch Java.
  • Các mã byte, sau đó được chuyển đổi thành mã máy bởi JVM.
  • Mã máy được thực thi trực tiếp bởi máy.

Sơ đồ này minh họa hoạt động bên trong của mã Java, hay chính xác là Kiến trúc Java!



JVM - Kiến trúc Java - EdurekaBây giờ, chúng ta hãy tìm hiểu sâu hơn một chút về kiến ​​trúc java và nói về các .

Các thành phần của kiến ​​trúc Java

Có ba thành phần chính của ngôn ngữ Java: JVM, JRE và JDK .

Java Virtual Machine, Java Runtime Environment và Java Development Kit tương ứng.

Hãy để tôi trình bày chi tiết từng cái một:

Máy ảo Java:

Bạn đã từng nghe về WORA? (Viết một lần, chạy mọi nơi). Các ứng dụng Java được gọi là WORA vì khả năng chạy mã trên bất kỳ nền tảng nào. Điều này được thực hiện chỉ vì JVM. JVM là một thành phần nền tảng Java cung cấp môi trường để thực thi các chương trình Java. JVM diễn giải mã bytecode thành mã máy được thực thi trong máy chạy chương trình Java.

Tóm lại, JVM thực hiện các chức năng sau:

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

Bây giờ, hãy để tôi chỉ cho bạn kiến ​​trúc JVM. Đây rồi!

Giải trình:

Class Loader : Bộ nạp lớp là một hệ thống con của JVM. Nó được sử dụng để tải các tệp lớp. Bất cứ khi nào chúng ta chạy chương trình java, trình nạp lớp sẽ tải nó trước.

cách sử dụng tệp trong java

Khu vực phương pháp lớp : Nó là một trong những Vùng dữ liệu trong JVM, trong đó dữ liệu Lớp sẽ được lưu trữ. Biến tĩnh, khối tĩnh, phương thức tĩnh, phương thức phiên bản được lưu trữ trong khu vực này.

Đống : Một đống được tạo khi JVM khởi động. Nó có thể tăng hoặc giảm kích thước trong khi ứng dụng chạy.

Cây rơm : Ngăn xếp JVM được biết đến như một ngăn xếp luồng. Nó là vùng dữ liệu trong bộ nhớ JVM được tạo cho một luồng thực thi duy nhất. Ngăn xếp JVM của một luồng được luồng sử dụng để lưu trữ các phần tử khác nhau, tức là các biến cục bộ, kết quả từng phần và dữ liệu cho phương thức gọi và trả về.

Ngăn xếp gốc : Nó phụ thuộc vào tất cả các phương thức gốc được sử dụng trong ứng dụng của bạn.

Công cụ thực thi:

  • Trình biên dịch jit
  • Người thu gom rác

Trình biên dịch JIT: Các Trình biên dịch Just-In-Time (JIT) là một phần của môi trường thời gian chạy. Nó giúp cải thiện hiệu suất của các ứng dụng Java bằng cách biên dịch các mã byte thành mã máy tại thời điểm chạy. Trình biên dịch JIT được bật theo mặc định. Khi một phương thức được biên dịch, JVM gọi trực tiếp mã đã biên dịch của phương thức đó. Trình biên dịch JIT biên dịch mã bytecode của phương thức đó thành mã máy, biên dịch nó “đúng lúc” để chạy.

Người thu gom rác: Như cái tên đã giải thích điều đó Người thu gom rác có nghĩa là để thu thập các vật liệu không sử dụng. Vâng, trong JVM, công việc này được thực hiện bằng cách thu gom Rác. Nó theo dõi từng đối tượng có sẵn trong không gian heap JVM và loại bỏ những đối tượng không mong muốn.
Bộ thu gom rác hoạt động theo hai bước đơn giản được gọi là Đánh dấu và Quét:

  • Đánh dấu - đó là nơi bộ thu gom rác xác định phần bộ nhớ nào đang được sử dụng và phần nào không
  • Quét - nó loại bỏ các đối tượng được xác định trong giai đoạn 'đánh dấu'.

Môi trường thời gian chạy Java:

Phần mềm JRE xây dựng một môi trường thời gian chạy trong đó các chương trình Java có thể được thực thi. JRE là hệ thống trên đĩa lấy mã Java của bạn, kết hợp nó với các thư viện cần thiết và khởi động JVM để thực thi nó. 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. JRE là một phần của JDK (mà chúng ta sẽ nghiên cứu sau) nhưng có thể được tải xuống riêng.

Bộ phát triển Java:

Bộ phát triển Java (JDK) là một môi trường phát triển phần mềm được sử dụng để phát triển các ứng dụng và ứng dụng Java. Nó chứa JRE và một số công cụ phát triển, trình thông dịch / trình tải (java), trình biên dịch (javac), trình lưu trữ (jar), trình tạo tài liệu (javadoc) đi kèm với một công cụ khác.

Vùng màu xanh lam được hiển thị trong sơ đồ là JDK. Bây giờ, hãy để tôi trình bày chi tiết các công cụ phát triển cho tất cả các bạn.

làm thế nào để chuyển đổi double sang int

java : nó là trình khởi chạy cho tất cả các ứng dụng java.
javac : trình biên dịch của các ngôn ngữ lập trình java.
javadoc : nó là trình tạo tài liệu API.
cái lọ : tạo và quản lý tất cả các tệp JAR.

Tiến lên với kiến ​​trúc Java, hãy để chúng tôi hiểu nền tảng Java độc lập như thế nào?

Nền tảng Java độc lập như thế nào?

Khi nào thì bất kỳ ngôn ngữ lập trình nào được gọi là độc lập với nền tảng? Chà, nếu và chỉ khi nó có thể chạy trên tất cả các hệ điều hành có sẵn liên quan đến sự phát triển và biên dịch của nó.
Hiện nay, Java độc lập với nền tảng chỉ vì mã bytecode. Hãy để tôi cho bạn biết chính xác bytecode là gì? Nói một cách dễ hiểu,
Bytecode là mã của JVM mà máy có thể hiểu được.
Việc thực thi Bytecode trong Java chứng tỏ nó là một ngôn ngữ độc lập với nền tảng.
Ở đây, tôi sẽ chỉ cho bạn các bước liên quan đến quá trình thực thi bytecode của java.

Dưới đây là giải thích về các bước liên quan:

sample.java → javac (sample. class) → JVM (sample.obj) → đầu ra cuối cùng

Mã nguồn đầu tiên được sử dụng bởi trình biên dịch java và được chuyển đổi trong tệp .class. Mã tệp lớp ở dạng mã byte và tệp lớp đó được JVM sử dụng để chuyển đổi thành tệp đối tượng. Sau đó, bạn có thể thấy kết quả cuối cùng trên màn hình của mình.

Tiếp tục bài viết về kiến ​​trúc Java, chúng ta hãy hiểu khái niệm về JIT trong Java .

JIT trong Java

Trình biên dịch Just In Time thường được gọi là JIT, về cơ bản chịu trách nhiệm tối ưu hóa hiệu suất của các ứng dụng dựa trên java tại thời điểm chạy. Hiệu suất của một ứng dụng phụ thuộc vào trình biên dịch.
Đây là một sơ đồ đơn giản cho bạn thấy quá trình nội bộ đang diễn ra.

Trình biên dịch JIT - Kiến trúc Java - Edureka

Trình biên dịch JIT biên dịch mã byte của phương thức thành mã máy, biên dịch nó “Just In Time” để chạy. Khi một phương thức được biên dịch, JVM gọi trực tiếp mã đã biên dịch của phương thức đó.
Hãy đi sâu hơn:
Mã byte phải được thông dịch hoặc biên dịch thành các lệnh máy thích hợp tùy thuộc vào tập lệnh được cung cấp. Ngoài ra, chúng có thể được thực thi trực tiếp nếu kiến ​​trúc lệnh dựa trên mã byte. Việc diễn giải mã byte ảnh hưởng đến tốc độ thực thi.
Để cải thiện hiệu suất, trình biên dịch JIT tương tác với Máy ảo Java (JVM) tại thời điểm chạy và biên dịch các chuỗi bytecode phù hợp thành mã máy gốc (như thể hiện trong sơ đồ). Trong khi sử dụng trình biên dịch JIT, phần cứng có thể thực thi mã gốc, so với việc JVM thông dịch lặp đi lặp lại cùng một chuỗi bytecode và phát sinh chi phí cho quá trình dịch.

Với điều này, tôi đã nói đến phần cuối của bài viết này về Kiến trúc Java. Tôi hy vọng các chủ đề thảo luận ở trên sẽ bổ sung giá trị cho kiến ​​thức Java của bạn. Hãy theo dõi các bài viết khác!

Bây giờ bạn đã hiểu cơ bản về Java, hãy xem của Edureka, một công ty học trực tuyến đáng tin cậy với mạng lưới hơn 250.000 người học hài lòng trải dài trên toàn cầu. Khóa đào tạo và cấp chứng chỉ về Java J2EE và SOA của Edureka được thiết kế cho sinh viên và các chuyên gia muốn trở thành Nhà phát triển Java. Khóa học được thiết kế để cung cấp cho bạn khởi đầu về lập trình Java và đào tạo bạn về cả khái niệm Java cốt lõi và nâng cao cùng với các khung Java khác nhau như Hibernate & Spring.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần nhận xét của blog “Kiến trúc Java và các thành phần của nó” và chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.