JKot, могу ошибаться, но кажется именно они взяли и написали свою реализацию .NET под Android/iOS (было на хабре пару месяцев назад), поэтому компиляция в нативный код весьма вероятно. Жаль их детище стоит немалых денег.
Ненавижу google за то, что они назвали прослойку, которая помогает запускать сторонний, а не нативный код на Android именно native development kit. Из-за этого у всех разрыв шаблона, что считать нативным кодом для Android.
Daemon, ява (JVM) на андроиде (DVM) это прослойка позволяющая запускать сторонний код. я думаю её приняли потому что в мире развелось слишком много говнокодеров не умеющих правильно управлять памятью. NDK это способ обхода этой прослойки и работа с настоящим нативным кодом.
Dan написал:
Daemon, ява (JVM) на андроиде (DVM) это прослойка позволяющая запускать сторонний код. я думаю её приняли потому что в мире развелось слишком много говнокодеров не умеющих правильно управлять памятью. NDK это способ обхода этой прослойки и работа с настоящим нативным кодом.
Вот как, не знал, спасибо за ликбез, товарищ!
Это называется Dead Lock
Пропустил что-то эту строку в ответе. Нет, dead lock бывает у нитей, когда одна ждет другую и наоборот. То, что я привел, называется циклической ссылкой (вспомнил-таки).
Добавлю только насчет JIT - в яве он не просто так откладывает компиляцию как можно дольше - он анализирует КАК именно код выполняется и в зависимости от этого при компиляции выполняет оптимизации недоступные никаким другим компиляторам. Именно благодаря этому так много холиваров было, когда некоторые тесты показали, что в некоторых случаях Java код выполняется скорее даже C++ кода. Именно поэтому Java так популярна на серверах и в облаках - там не надо чтобы сервер работал максимально быстро сразу после запуска, главное что после "разогрева" JIT выдает суперпроизводительный код. GC кстати на серверах тоже не так критичен как в реалтайм приложениях.. Но в Андроиде реалии другие, и Гугл потратил немало времени, пока добился чтобы JIT "разогревался" быстрее и GC не вызывал таких заметных притормаживаний и запускался в более "правильные" моменты - помню я следил за чейнджлогами и в версиях Андроеда 2.2-2.3 очень много работы было сделано по этому поводу.