2011-11-24 5 views
5

Wiem, że wdrożenie sortowania pythona (timsort) jest zaimplementowane w C, aby uzyskać lepszą wydajność. Czy jest tak również w przypadku implementacji java, czy też wszystkie algorytmy java są zaimplementowane w java?Czy algorytmy Java są zaimplementowane w języku C lub w java?

+0

Zobacz kod źródłowy, aby go znaleźć (znajduje się w pliku ZIP w katalogu JDK). (lub poczekaj minutę, aż ktoś opublikuje odpowiedź) –

Odpowiedz

6

Większość standardowych bibliotek jest zwykle implementowana w Javie. To powiedziawszy, wiele funkcji systemu operacyjnego lub platformy musi być zaimplementowanych w "natywnym" kodzie, więc dobry procent jest zwykle zapisywany w C i/lub C++. Oczywiście zależy to oczywiście od konkretnej implementacji JVM.

Typowa funkcjonalność zastosowana w językach innych niż Java obejmuje wątki, sieciowe operacje we/wy, we/wy pliku i interfejs API niskiego poziomu. Zauważ, że wszystkie te cechy są dość niskopoziomowe - bardziej abstrakcyjne/ogólne algorytmy są idealnie dostosowane do implementacji w Javie, a zatem zazwyczaj są.

4

Większość biblioteki Java jest zaimplementowana w języku Java, w tym sort algorithm

+0

Ale OpenJDK nie jest standardową implementacją JVM. – Viruzzo

+4

@Viruzzo jesteś tego pewien? :) – unbeli

+0

Stoję poprawione, to jest teraz (z Java 7, to jest). To właśnie przez większość czasu musisz pracować z Javą 1.4.2 ... – Viruzzo

1

Odpowiedź brzmi: to zależy od rzeczywistej implementacji JVM i rodzaju algorytmu. Większość publicznych alogrithms API stadard jest w języku Java. Jedynym wyjątkiem jest na pewno planowanie wątków.

1

O ile mi wiadomo, są one implementowane w Javie. Here można znaleźć informacje na jego temat.

1

Jeśli spojrzeć na źródła java.util.Arrays.sort(), można zauważyć, że algorytm sortowania jest zaimplementowany w Javie. Jednak nie oznacza to koniecznie, że wszystkie inne algorytmy również są.

Powiązane problemy