My Opera is closing 1st of March

Mobile Programming

Đang quá trình học hỏi và tìm hiểu ^^!

Làm sao một chương trình có thể chạy mọi nơi?

thường ta nghe nói về java là "viết 1 lần thực thi mọi nơi"..bạn hiểu thế nào vê cụm từ này. Cùng tưởng tượng nhé.(tài liệu chôm chỉa từ 1 diễn đàn ..wên mất tiêu cái link)

Đ: Một ứng dụng cổ điển, như Lotus 1-2-3, bản thân nó đã tự chạy được. Cuộc sống của phần mềm bắt đầu khi người ta viết ra bằng một ngôn ngữ lập trình nào đó như C chẳng hạn. Chương trình phát triển sẽ dịch nó sang mã nhị phân (binary format) để bộ xử lý của máy bạn chạy trực tiếp được. Do máy Mac và PC dùng bộ xử lý khác nhau, chúng không thể dùng chung một bản chương trình gốc (native executable), trừ phi dùng một phần mềm nào đó giải lập kiến trúc của máy kia. Nói chung việc giả lập thường làm giảm tốc độ và dễ gây ra vấn đề do kém tương thích. Các chương trình Java được dịch sang kiến trúc của riêng nó, gọi là định dạng bytecode. Để chạy chương trình Java, bạn cần một phần mềm nữa phiên dịch mã bytecode cũng như cung cấp cho nó môi trường và các dịch vụ cần thiết. Tầng phần mềm này chính là JVM. Máy ảo Java biến tất cả mọi nền phần cứng và phần mềm trở nên giống nhau dưới con mắt của chương trình Java. Về hiệu quả, JVM giống một trình điều khiển thiết bị của chương trình Java.

Chạy chương trình Java trên JVM vẫn còn chậm hơn một chút so với chạy chương trình viết thẳng cho hệ máy đó. Dầu vậy, công nghệ JVM đang tiến bộ mau chóng về mặt tốc độ và khoảng cách sẽ được thu ngắn lại rất nhiều trước cuối năm nay. Symatec và Microsoft đã bán ra rất đúng lúc các trình biên dịch và Sun sẽ tung ra HotSpot VM trong quý 4 năm 1997. Với sự kết hợp này, người ta mong đợi chương trình Java sẽ chạy nhanh như các trình viết bằng C. Các hãng phần mềm coi hướng phát triển bằng JVM là rất hấp dẫn vì họ có thể đẩy các chương trình Java chạy trên mọi hệ máy. Chỉ cần họ viết một JVM cho hệ máy đó. Cho đến nay, đã có JVM cho rất nhiều hệ máy, từ máy tính lớn (mainframe) đến hầu hết tất cả các kiểu máy để bàn kể cả PC và Mac.

Theo Wiki:
Nói Java compiler không compile ra machine code là không đúng. Thực chất file code Java sau khi đưa vào compiler sẽ được compile ra thành machine code dành cho cái máy này. Trên các platform thực, JRE sẽ emulate JVM để recompile toàn bộ bytecode thành native code của platform đó. Để cho các chương trình Java chạy trên nhiều platform khác nhau, Sun chỉ việc port cái emulator, tức JRE, sang các platform đó. Nhờ vậy mà một chương trình Java đồ sộ viết cho máy tính, đem sang điện thoại di động vẫn chạy được bình thường.
Java giúp giảm một khoảng chi phí lớn trong việc port phần mềm từ platform này sang platform khác. Đặc biệt là trong lĩnh vực phát triển game. Nhiều nhà phát triển chọn Java để sau khi viết xong, game có thể chạy được trên cả Windows lẫn điện thoại di động

Các Website bổ ích về Java và J2METổng quan về Android

Write a comment

New comments have been disabled for this post.