2012-07-03 11 views
6

Niedawno słyszałem o Jikes RVM i próbowałem przejść przez jego funkcje, które oferuje to, że inne maszyny wirtualne nie oferują i jak skalowalne jest to.Co jest zaletą Jikes RVM

Więc idąc chociaż liście są m.in. na stronie internetowej znalazłem ciekawostki

Wysoka wydajność. Jikes RVM jest kompilator o wysokiej wydajności, dzięki czemu jest idealny do użytku z większych projektów

Pytania

  1. Jak autentyczny jest oświadczenie powyżej, ponieważ pracuję z Java w ciągu ostatnich 5 lat i mają nigdy wcześniej nie słyszałem o Jikes RVM. Większość prac jest wykonywana w Hot Spot VM (Provided by Sun). Wiem, są jeszcze inne VM, ale nigdy nie słyszałem o Jikes RVM. Być może jedną z przyczyn może być mój brak świadomości na temat Jikes RVM, ale potem ciężko jest przetrawić to, że tak wiele osób było nieświadomych tak wysokiej wydajności VM.

  2. Jaki jest dokładnie scenariusz, który powinien zachęcić użytkownika do korzystania z JVM RVM?

+1

Upewnij się, że nie mylisz [Jikes RVM] (http://jikesrvm.org/) (co jest eksperymentalną maszyną JVM) z [Jikes] (http://jikes.sourceforge.net/) (który jest kompilatorem Java napisanym w C). –

+0

Dzięki za wskazanie tego, rzeczywiście mówię o Jikes RVM. –

Odpowiedz

8

Mówisz tutaj o dwóch różnych produktach, mimo że są one powiązane, ponieważ oba pierwotnie pochodziły z tej samej grupy w IBM.

  1. The Jikes Java compiler. W przeciwieństwie do Sun javac, który jest napisany w Javie, jikes jest napisany w C++. Dawno temu oznaczało to, że był znacznie szybszy niż javac i był szeroko stosowany. W dzisiejszych czasach pisanie w natywnym kodzie nie jest wcale zaletą wydajności, a zresztą, o ile wiem, kompilator to martwy projekt, który nie był od lat aktualizowany.

  2. The Jikes "Research VM" (RVM) to projekt utworzenia wirtualnej maszyny Java, która została napisana głównie w Javie. Dzięki temu można eksperymentować z takimi nowymi algorytmami odśmiecania pamięci, pisząc kod Java, a nie kod natywny. RVM jest powolny w porównaniu z innymi maszynami JVM i nigdy nie był przeznaczony do rzeczywistego wykorzystania w produkcji, tylko (jak sama nazwa wskazuje) do badań. W przeciwieństwie do kompilatora, JV RVM nadal ma aktywną społeczność badawczą.

+0

Jak mówisz Jikes RVM jest wolniejszy niż inne JVM dostępne, ale dlaczego http://jikes.sourceforge.net/ stwierdza, że ​​jest maszyną VM o wysokiej wydajności dla dużych projektów? –

+2

@Bala, jak już powiedziałem, to strona * kompilatora *. Kompilator to program, który zamienia kod Java na pliki '* .class'. RVM to program, który wykonuje pliki klas. * Kompilator * był szybki; RVM jest powolna. –