2011-08-16 28 views
7

Niedawno dowiedziałem się, że są błędy w JDK7 do optymalizacji kompilatora hotspot. Zobacz this thread.Czy JDK7 jest teraz bezpieczny?

Nie bardzo rozumiem szczegóły tych błędów, ale wydają się być związane z optymalizacją pętli. Ponieważ mam zamiar uruchomić jakiś program na dużą skalę w trybie -server (który oczywiście zawiera wiele pętli), zastanawiam się, czy bezpieczne byłoby używanie JDK7 czy nie? Dziękuję Ci.

+0

Proste pytanie: czy został już wydany jako oficjalna wersja * sankcjonowana *? Do tego czasu uważam, że odpowiedź jest oczywista w każdym krytycznym dla misji kodzie. –

+0

@ Poduszkowiec: usankcjonowane przez kogo? Został oficjalnie wydany przez Oracle i jest domyślnym i polecanym plikiem do pobrania na swoich stronach Java. – Thilo

+0

@Thilo: to nie jest oficjalna zalecana wersja Java, którą widzę na stronie pobierania. Widzę "Zalecana wersja 6 Aktualizacja 26 (rozmiar pliku: ~ 11 MB)" –

Odpowiedz

6

Ten sam błąd występuje w JDK 6, ale ponieważ domyślna optymalizacja jest różna, wchodzi tylko w grę, gdy używane są agresywne flagi optymalizacji.

Aby wyłączyć optymalizację dla JDK 7 Użyj przycisku -XX: -UseLoopPredicate flagę i będzie bezpieczny w dowolnej wersji JDK 7.

3

należy rozpocząć testowanie kodu z JDK7 teraz.

Od tego, czy chcesz wprowadzić go do produkcji, prawdopodobnie zawsze można odczekać chwilę. Dotyczy to nie tylko JDK, ale i każdej istotnej aktualizacji do jakiegokolwiek większego oprogramowania. Niech zrobią aktualizację1 i aktualizację2, i poczekaj, co Apache i inni mają do powiedzenia. Nie musisz się spieszyć, prawda? JDK6 działa ...

+0

Jako programista, chcesz zacząć korzystać z nowych funkcji, ale ... – Thilo

+0

Ty * chcesz *, ale to, czy to dobry pomysł, zależy od tego, jak długo będzie to konieczne, zanim Twój kod będzie musiał przejść do produkcji. –

Powiązane problemy