Wpis z mikrobloga

#java #programowanie

Java 8 od stycznia 2019 przestanie być publicznie wspierana. Tzn. nie będą dostępne darmowe aktualizacje, chyba że zapłaci się Oraclowi.

Java 9 i 10, to nie są wersje LTS. Wersją LTS będzie dopiero Java 11.

http://www.oracle.com/technetwork/java/javase/eol-135779.html

Jak powinno się postąpić z aktualizacją?
Opcja 1. Przechodzić z LTS na LTS. Tzn. przejść z 8 bezpośrednio na 11, bo dopiero ta będzie LTS.
Opcja 2. Przechodzić od razu na najnowsze. Tzn. przejść Java 8 -> 9 -> 10 -> 11, bo tak jest łatwiej (mniej zmian do ogarnięcia w jednym przejściu). Lub obecnie to już: 8 -> 10 -> 11 (bo 9 już nie jest wspierana, bo bezpośrednio zastąpiło ją 10).

Tylko czy LTS rzeczywiście coś daje? Jest na stronie Oracle, że te aktualizacje LTS i tak będą w "Premier Support" (a do kiedy będą normalne bezpłatne aktualizacje? nie napisane?), czyli rozumiem, że płatne.

Czy wychodzi na to, że czekanie na LTS (opcja 1) jest bez sensu, bo jak wyjdzie Java 12, to od razu aktualizacje 11 nie będą dostępne bezpłatnie? Jedynym rozwiązaniem jest przesiadać się zawsze na najnowszą Javę i robić co pół roku upgrade aplikacji (opcja 2)?
  • 19
LTS jest bardziej dla firm ktore potrzebuja wsparcia i jak znajda jakiegos buga czy security issue to wtedy oracle to fixuje


@Ewentualnie: a która firma (czy w ogóle jakakolwiek aplikacja) nie potrzebuje fixów bugów i problemów z bezpieczeństwem? Jak zostanie znaleziony jakiś błąd, to wszyscy by chcieli mieć to załatane, a nie siedzieć na niebezpiecznej wersji. Skutek będzie taki, że takie wersje po prostu nie będą mogły być używane.

@interface:
Grupa OpenJDK już dość dawno zobligowała się że bugi/security będą backportować do 8 jeszcze kilkanaście miesięcy


@interface: jakieś źródło? Ja znalazłem tylko to AdoptOpenJDK.

Nawet nie chodzi o to, że teraz trzeba zrobić upgrade. Chodzi o przyszłość, że jak się nie będzie chciało płacić, to trzeba przesiadać się co pół roku albo zaufać OpenJDK. Skąd pewność, że wersję 11 też będą łatać?

Przez to ekosystem stanie się niestabilny i firmy mniej
via Wykop Mobilny (Android)
  • 0
w pracy przechodzimy z LTS na LTS

@interface: ale LTS płatne od Oracle (Oracle JDK 8, 11 LTS) czy niby-LTS od OpenJDK (Open JDK 8, 11 z backportowanymi fixami)?
Oni nie mogą nic brać co oracle sprzedaje dodatkowo bo oracle będzie sprzedawało support, 100% kodu źródłowego openjdk 11 jest w oracle jdk 11.


@interface: obecnie tak. Ale już za kilka miesięcy, jeśli zostaną wykryte jakieś bugi w Javie 8, to rozumiem, że wersje się rozjadą. Oracle JDK 8 w wersji od stycznia od pierwszego buga będzie miało inny kod niż Open JDK 8. Dopiero AdoptOpenJDK będzie mogło załatać buga analizując
@interface: wydaje mi się, że to spora zmiana, bo wychodzi na to, że obecnie kod źródłowy Oracle JDK = OpenJDK (tylko binarki się różnią, bo są te dodatki Oracla). A teraz wersje LTS po pewnej dacie będą się różniły (np. inaczej lub później będzie załatane).

juz używasz openjdk


@interface: używam Javy 8 od Oracle. OK, teraz kody źródłowe się nie różnią. Ale jakbym chciał zostać przy 8 i przeszedł na
@mk321: Mam pytanie, w teorii można przyjanuszować i nie płacić za javę 8 nie robiąc aktualizacji ?

Pytanie numer dwa to czy nową aktualizację w teorii trzeba będzie jakoś zatwierdzić czy nastąpi automatycznie?
@Kryspin013: możesz januszować i mieć JDK 8 w starej wersji. Tzn. bez aktualizacji np. bezpieczeństwa. Do zabawy jasne, ale na produkcji nikt nie będzie chciał mieć takiej bomby. To tak jakbyś miał Windows Vistę bez najnowszych aktualizacji. Niby można, ale można też łatwo przeprowadzać ataki na taki system.

Nowe aktualizacje to standardowe aktualizacje JDK w systemie operacyjnym. Zależnie od tego czy Windows czy Linux. Jak ustawisz to masz automatycznie, ale zazwyczaj