2010-10-18 12 views
12

Tytuł dość dobrze oddaje moje pytanie. Zastanawiam się, czy istnieje dobry zasób lub punkt wyjścia na pytania dotyczące tego, w jaki sposób JVM (nie tylko HotSpot, ale to oczywiście miejsce rozpoczęcia) implementuje lub obsługuje określoną funkcjonalność? Nie szukam rzeczy, które są w JLS lub JVM Spec - Wiem, że najpierw tam pójdę.Referencje kanoniczne dotyczące elementów wewnętrznych JVM dla programistów/programistów

Na przykład: Gdy próbuje zrozumieć problemy z wydajnością, często nie dostać się do rozmowy o tym, co mówi spec, ale to, co współczesny najlepszych praktyk wyglądać w praktycznych implementacjach. Na przykład, istnieje pewna miejska mitologia, która mówi, że "klasy końcowe działają lepiej w Javie, ponieważ JVM może wbudowywać lub w inny sposób optymalizować takie rzeczy". Czy istnieje ogólny zasób, do którego możemy się zwrócić, aby ocenić te twierdzenia, które się pojawiają?

Oferuję odpowiedź na moje własne pytanie, z referencjami dotyczącymi HotSpot. A co z ofertami innych dostawców? Specyfika dla małych JVM? Specyfika wielu rdzeni? Specyfika platform, jeśli mają one znaczenie? Specyfika dla innych języków JVM?

Wystarczy odeprzeć kilka potencjalnych reklamacji: 1) Nie chodzi o szukanie przedwczesnych optymalizacji (w rzeczywistości lepsze zrozumienie platformy powinno zniechęcić lepiej wykształconego programistę!); i 2) Wiem, że programiści Javy powinni skupić się na ładnym, przenośnym, uruchomionym dowolnym kodzie, ale dla wielu z nas specyfikacja platformy w końcu się liczy!

Zostało to zainspirowane kilkoma przydatnymi komentarzami na temat specific question autorstwa Thorbjørn Ravn Andersen. Cieszę się, że mogę zebrać kilka innych pomocnych przykładów, poza tymi, które przytaczam powyżej, aby zmotywować ludzi, którzy mogą chcieć tego rodzaju zasoby.

Kilka interesujących pytań związanych z SO: Tail-call optimization in JVM, Killer JVM features, optimizations that are going to be useless tomorrow, Differences between JVM implementations.

Edytowane do dodania: będę udzielać odpowiedzi albo do najlepszej indywidualnego odniesienia, o którym mowa, lub do kogoś, kto daje wskaźnik do strony internetowej (być może zbudowany w odpowiedzi na to pytanie), który najlepsze koncentraty/katalogi Wdrażanie implementacji JVM i praktyczne konsekwencje dla języków i deweloperów klienta.

Odpowiedz

Powiązane problemy