Низкоуровневый проект с использованием Java - PullRequest
0 голосов
/ 28 марта 2010

Мне интересно, имеет ли смысл делать какие-то вещи низкого уровня или ОС (проект) с использованием Java. Причина, по которой я спрашиваю, заключается в том, что я хотел бы расширить свои знания в Java и заняться такими вещами, как компрессор файлов, переименование массовых файлов и т. Д. Есть ли какие-нибудь примеры, на которые я могу посмотреть или поиграть? Или я должен просто использовать C или C ++ вместо этого?

Ответы [ 3 ]

2 голосов
/ 28 марта 2010

такие вещи, как компрессор файлов, массовый файл переименование и т. д.

Я бы не стал рассматривать этот "низкоуровневый или ОС материал".

В моей книге "низкоуровневый или ОС" означает такие вещи, как драйверы устройств. Для таких целей Java очень плохо подходит, потому что она работает в виртуальной машине и просто не имеет доступа к API-интерфейсу ОС и аппаратному обеспечению (хорошо, если вы не используете ОС на базе Java ).

Для двух названных вами примеров Java может работать довольно хорошо, но вы также можете легко столкнуться с ограничениями, которые трудно или невозможно преодолеть: API файловой системы Java диктует, что вы можете сделать, и, если этого недостаточно, единственная вещь осталось вызвать нативный (т.е. C / C ++) код через JNI или Runtime.exec().

2 голосов
/ 28 марта 2010

Мне интересно, имеет ли смысл делать какие-то вещи низкого уровня или ОС (проект) с использованием Java.

Вообще говоря, нет. О низкоуровневых вещах либо заботится JVM (или операционная система), либо это невозможно сделать на чистой Java.

Однако, если вы действительно заинтересованы в подобных вещах, перейдите к проекту JNode и посмотрите на различные предлагаемые студенческие проекты. JNode - это полная операционная система, которая загружается и работает на «голом» ПК и реализована (почти) полностью на Java.

0 голосов
/ 28 марта 2010

Низкоуровневые операционные системы не очень связаны с Java; Java использует много абстракций (и, следовательно, делает его более высоким уровнем). Однако вы можете использовать язык Java и виртуальную машину для взаимодействия с API более низкого уровня, используя Собственный доступ к Java .

Проблема с «низким уровнем»: что такое низкий уровень? Хотите выполнить инструкции по сборке? И затем есть Java: полностью независимый от платформы. Использование более низкоуровневых API в Java означает, что вы теряете независимость от вашей платформы (например, ОС или оборудование).

Однако вы также можете узнать больше о байт-кодах Java : это тоже довольно низкий уровень.

Если вы предоставите больше информации о вашем проекте, я могу дать вам более конкретный ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...