Khái niệm, định nghĩa Java Virtual Machine là gì?

Java Virtual Machine (JVM) hay còn gọi là máy ảo JAVA là môi trường giả lập giao tiếp thực thi được tạo ra với mục đích chạy các đoạn code được viết bằng ngôn ngữ lập trình JAVA. Nói đến máy ảo Java là người ta nói đến khái niệm thông dịch và khả chuyển trong các chương trình được phát triển trên ngôn ngữ JAVA.

THÔNG TIN CHÍNH

Nếu bạn là một lập trình viên chắc cũng có lần đâu đó sẽ nghe nói tới java thực thi chương trình rất chậm bởi vì nó là ngôn ngữ thông dịch. Tuy nhiên chính vì lý do nó là ngôn ngữ thông dịch mà JAVA phát triển mạnh mẽ như thế. Đúng là mã biên dịch hầu như chạy nhanh hơn mã thông dịch, những cũng chẳng sai khi dùng mã thông dịch để phát triển vì nó rẻ hơn, nhanh hơn và linh động hơn.

Java, để thực sự là môt ngôn ngữ độc lập với hệ nền nó cần được phát triền theo kiến trúc là một ngôn ngữ thông dịch. Nó chạy không nhanh bằng mã biên dịch nhưng cũng không chạy chậm hơn. Trong trường hợp đảm bảo tốc độ chương trình và bị buộc yêu cầu phải xử lý cực nhanh ở một số tác vụ thì java cũng có thể sử dụng các API cơ bản của hệ thống.

Thuận lợi và lợi ích của mã thông dịch vượt trội so với các ảnh hưởng xấu mà nó đem lại, bạn hãy quên đi cái nhận định này vì thời điểm mà máy tính cá nhân chỉ có khoảng 4mb bộ nhớ đã cách chúng ta rất xa rồi. Theo định lý moore thì tốc độ phát triển của phần mềm không bao giờ đuổi theo kịp tốc phát triển của xử lý của phần cứng, trong thời đại mà chi phí bỏ ra để thêm tài nguyên phần cứng không đáng là bao nhiêu trong việc gia tăng thời gian hoàn thành việc phát triển phần mềm thì yếu tố chạy chậm của chương trình thông dịch là có thể bỏ qua. Bời vì Java là thông dịch nên nó khả chuyển hơn. Nếu hệ điều hành có thể cài đặt và chạy trình thông dịch Java Runtime Enviroment(JRE) thì đối với các chương trình viết bằng JAVA đều chạy chính xác những yêu cầu mà nó được thiết kế.

Các chương trình thông dịch dễ dàng được cập nhật hơn nhiều, việc fix các lỗi bảo mật tập trung hết ở JRE sẽ giúp cho chúng ta tiết kiệm rất nhiều chi phí bảo dưỡng phần mềm hơn là phải code lại kiến trúc phần mềm và biên dịch lại thêm nhiều lần nữa. Trong Java việc thông dịch lại mang tính tự động. Trình thông dịch phát hiện tập tin mã byte đã lỗi thời so với tập tin mã nguồn và biên dịch lại trương trình khi nó được nạp.

Nhờ vào bản chất thông dịch của java mà tính liên kết cũng được hỗ trợ một cách mạnh mẽ hơn và linh động hơn. Hệ thống thực thi của Java hỗ trợ tải những liên kết động giữa những lớp cục bộ và những lớp được tải xuống từ internet. Đặc tính này cung cấp nền tảng để lập trình WEB.

JAVA API VÀ JAVA DEVELOPMENT KIT (JDK)

Java API chính là những gì tinh túy nhất và là điều làm cho Java trở nên thực sự hấp dẫn và hữu dụng. Java Api gồm tập hợp những gói được phân phối dưới dạng các tập tin class cùng với JDK (Java Development Kit) bộ công cụ dùng để hỗ trợ toàn diện nhà phát triền trên nền tảng java được sun cung cấp. Gói công cụ này cung cấp những quy định giao diện chung cho việc phát triển chương trình Java trên tất cả các hệ nền mà máy ảo java (JVM) có thể chạy. Java Api cung cấp mọi khả năng cần thiết để phát triển những chương trình điều khiển, chương trình dựa trên cửa sổ ( win form), phần mềm mạng server/client, các ứng dụng android.Chính điều này đã thực sự mang lại lợi ích to lớn cho người lập trình và là điểm sáng giá nhất của java.

9 GÓI CƠ BẢN TRONG JAVA

Java Api có tám gói core cơ bản  và một gói debug kể từ lúc ra đời, các API sau này được phát triển và thêm vào cũng như cập nhật sửa đổi đều xoay quanh 9 packages này. Khái niệm gói api (package) cũng được ra đời và định nghĩa từ ngôn ngữ Java, “GÓI” là tập hợp các đối tượng, các hàm, các method có quan hệ lẫn nhau. Gói trong java chưa lớp (classes), giao diện (interfaces) và những biệt lệ (exceptions).

Class trong java: là đơn vị cơ bản hình thành nền tảng cho sự phát triền phần mềm hướng đối tượng trong JAVA. Lớp chưa các biến và phương thức. Biến là nơi chứa dữ liệu. Phương thức thực hiện những hoạt động trên lớp và trên biến của nó. Ví dụ, có 1 lớp trong gói java.awt gọi là Rectangle. Lớp này chứa những biến xác định vị trí và chiều kích thước của hình chữ nhật, các phường thức như move (di chuyển) và resize (chỉnh kích thước) thực hiện “những hành vi trên hình chữ nhật”.

Interface trong java: là tập hợp những phương thức có quan hệ với nhau. Ví dụ giao diện DataInput trong gói java.io. Nó xác định tập hợp những phường thức phải được định nghĩa cho một lớp để thực hiện giao diện DataInput.

Exceptions trong java: là những biến cố làm thay đổi tiến trình bình thường của việc thực thi chương trình.

Java API là nền tảng dùng để phát triển các chương trình trên ngôn JAVA. Bạn viết các chương trình JAVA bằng cách dùng Java APi như là một khuôn mẫu và xây dựng khối. Bạn dùng API để xây dựng những đối tượng và các thực thể của lớp API, thực hiện giao diện API và đáp lại những biệt lệ của API. Những đối tượng này được chương trình ứng dụng của bạn sử dụng, chính chương trình tự nó là một thực thể của lớp Java API.

Hãy nghĩ rằng chương trình của bạn là môt tập hợp đối tượng làm việc với nhau để hỗ trợ những hoạt động chung. Bạn cũng có thể tạo lớp, giao diện, và những biệt lệ cho riêng bạn dựa trên những gì đã được định nghĩa trong API. Bạn có thể tập hợp chúng vào những gói riêng biệt để tích hợp bên trong và mỡ rộng Java API.