JVM Bytecode java
Mã bytecode là mã trung gian, chưa phải là mã máy. Máy ảo Java sẽ biến mã này thành mã máy lúc thực thi. Và KHÔNG có chuyện khi chạy trên phần cứng nào thì sẽ tạo ra mã bytecode tương ứng với tập lệnh của phần cứng đó, bởi vì khi bạn chạy nghĩa là bạn đã chạy với mã bytecode rồi, bạn đã phải compile mã nguồn thành bytecode trước khi chạy bằng trình biên dịch javac trong bộ JDK. Bạn lo ngại về việc bạn viết Java ở máy này khi bỏ sang máy khác không chạy ư? Dĩ nhiên có trường hợp đó xảy ra trong thực tế: Java viết trên máy tính PC bỏ sang Android làm sao chạy khi bạn viết trên máy tính PC mà không dùng bộ phát triển cho Android, cái này là vấn đề của sự tự do trong phần mềm nguồn mở chứ không phải là vấn đề của ngôn ngữ lập trình, và người lập trình sẽ biết họ nên làm gì,...
No comments: