JavaRush /Blog Java /Random-VI /Lý thuyết về bytecode, JVM và vi điều khiển | Mã Java cho...
Gro
Mức độ
Минск

Lý thuyết về bytecode, JVM và vi điều khiển | Mã Java cho MK

Xuất bản trong nhóm
Bài viết dự thảo. Cuối cùng, tôi sẽ viết một số bài viết giống như wiki, theo sơ đồ sau:

Chủ đề: Java hoạt động ở đâu và như thế nào
- Về cấu trúc của Java
- Về phần cứng
- Cách phần mềm này hoạt động trên phần cứng

. Bài viết nói về những vấn đề mà tôi gặp phải. Sau khi nghiên cứu thông tin, tôi bổ sung câu trả lời.
Đó là sự kết hợp của các chủ đề trên.

Xin chào!

Lời nói đầu. (Offtopic)
Tôi đã và vẫn ngày càng mong muốn xây dựng một loại đơn vị vật lý hoàn toàn nào đó.
Một đơn vị dựa trên một ý tưởng đơn giản đã hoàn toàn thu hút tôi.
Một ý tưởng định hướng cho sự phát triển của tôi trong mười năm tới.
Về lý thuyết, thiết kế của một thiết bị đã sẵn sàng một nửa, triển khai một phần nhỏ khả năng của thiết bị khổng lồ đã được lên kế hoạch đó.

Hiện tại, khi hoàn thiện thiết kế bán thành phẩm, đắm mình vào các bộ phận một cách chi tiết hơn, tôi phải đối mặt với nhu cầu điều khiển động cơ servo và theo đó là lập trình một số “bộ não”.

Đây là lúc xuất hiện một loạt câu hỏi, có thể được tóm tắt trong phần “Có thể và làm cách nào để buộc MK thực thi mã java?”




Thân hình. Chi tiết về các câu hỏi.
Chúng tôi nhớ rằng mã java mà chúng tôi viết được chuyển đổi thành mã byte, do đó, mã này được JVM diễn giải thành mã máy, mã bao gồm các lệnh được phần cứng hiểu được. Mọi người đều hiểu lý do của tình huống cụ thể này - tính di động/tính di động kết hợp với tốc độ cao hơn (so với các ngôn ngữ được giải thích đơn giản).

Sau khi tôi phát hiện ra điều này, tôi có những câu hỏi vẫn chưa được giải đáp, hiện lên và được bổ sung thêm những câu hỏi mới.
1. Có thể sử dụng các công cụ JVM tiêu chuẩn để chuyển đổi hoàn toàn tất cả mã byte thành mã máy cùng một lúc/Biên dịch nó không?
nếu sai.Có công cụ của bên thứ ba không? Ít nhất là bằng cách nào đó?

2. JVM có hỗ trợ bộ vi điều khiển/bộ điều khiển không? (Tôi không biết nhiều về “bộ não” sắt; ai biết thì chỉ cho tôi với).
nếu đúng. Có sự khác biệt/tính năng đặc biệt nào khi làm việc trên PC thông thường của chúng ta không?




Đã cập nhật! 09.04
Giới thiệu về 1. Không thể chạy mã theo tốc độ máy bằng cách sử dụng một công cụ tiêu chuẩn (có nghĩa là JVM), ít nhất đó là những gì wiki cho chúng ta biết , nhưng từ đó rõ ràng là có một công cụ của bên thứ ba - GCJ . Nó là một giải pháp thay thế cho JVM và có một tính năng bổ sung tuyệt vời trong kho vũ khí của nó. Tôi không thể tìm thấy thông tin chính xác về nền tảng (phần cứng) mà quá trình biên dịch được hỗ trợ - "nhiều".
Sự khác biệt giữa mã byte và mã gốc:
1) mã gốc khởi động nhanh hơn
2) Không có gì đảm bảo rằng mã gốc sẽ hoạt động nhanh hơn
3) Theo tôi tin, mã gốc sẽ không mang hệ điều hành và JVM, điều này ảnh hưởng đáng kể đến số lượng cần thiết cho hoạt động của chương trình ROM .

Có lẽ giải pháp này có thể hoạt động như một giải pháp thay thế cho phiên bản ME .
(Câu hỏi nặng nề, bởi vì:
1) Không biết liệu GCJ có hỗ trợ các nền tảng phần cứng hiệu suất thấp như vậy hay không.
2) Không có thông tin về hiệu suất của mã này.

Đã cập nhật. 11.04
Giới thiệu về 2. Bất kỳ phiên bản nào của ngôn ngữ Java, có thể là ME, SE hoặc Embedded, đều hoạt động song song với JRE và được thông dịch. Ngoại trừ trường hợp trên và hai trường hợp tương lai được mô tả dưới đây.
Đầu tiên, đã có những nỗ lực loại bỏ hệ điều hành này ra khỏi chuỗi, thay thế nó bằng công cụ định hướng Java độc quyền của riêng họ. Về nó là gì, ở đây .
Thứ hai, hóa ra là có các bộ xử lý hướng Java, tính năng của chúng là bộ đồng xử lý tích hợp giúp diễn giải mã byte trong phần cứng (! Không phải trong phần mềm) và gửi nó để thực thi.
Đọc thêm về Jazelle . Ở đây
giàu có .


Offtopic
Ý tưởng được đề cập là “phản hồi”, một loại được triển khai cụ thể trong nguyên mẫu tương lai - khả năng chịu áp suất/áp suất.
Nhân cơ hội này để. Đọc những người ở cấp độ 15-25, hãy tạo một cộng đồng nhỏ để giao tiếp/tete-a-tete. Đối với một mình không có can đảm nào cả, và hơn thế nữa - hoàn toàn kinh dị.

Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION