Pisałem ostatnio, że jestem rozczarowany zmianami w najnowszym JDK które będzie wydane. Chyba nie zgłębiłem dostatecznie tematu. Zaprezentowane przez mnie nowości okazały się tylko fragmentem całości, a dokładnie jednym z projektów zaczętych przez Sun-a pod nazwą "Project Coin". W ramach tego projektu każdy programista mógł wysłać formularz z drobnymi zmianami jakie są potrzebne w języku Java. Zaprezentowane w poprzednim poście zmiany są właśnie wybranymi zmianami które będą wprowadzone.
Oprócz tych zmian szykuje się trochę innych. Najlepsze informacje można znaleźć na stronie http://openjdk.java.net/projects/jdk7/features/, a pewne kalendarium na podstawie którego można przewidywać kiedy pojawi się finalna wersja jest dostępne pod http://openjdk.java.net/projects/jdk7/milestones/.
Ponieważ temat jest dość ciekawy postaram się zerknąć i zapoznać z zmianami jakie szykuje nam JDK7. W końcu trzeba być gotowym na zmiany :)
Zmiany w VM
- Kompresja 64bitowych wskaźników Coraz większe programy w Javie wymagają coraz więcej pamięci. Dla przyśpieszenia wersji 64bitowych wymyślono kompresję wskaźników 64bitowych do 32bitowych. Powinno to przyśpieszyć jave na 64bitach.
- Garbage First (G1) Nowy garbage collector. W tym momencie w jdk używany jest gc o nazwie CMS, dość sprytnie dzielący obiekty w javie na takie które będą długo w pamięci i takie które są tylko krótkoterminowe. Niestety wymaga on częstych "stop-the-world", czyli przerw w pracy aplikacji... Nowy gc o nazwie "Garbage First" (G1) ma zminimalizować fragmenty "stop-the-world" czyli nasze aplikacje będą chodziły bardziej płynnie.
- Zmiany w JVM ułatwiające/przyśpieszające działanie języków innych niż Java Chodzi o wprowadzenie pewnych zmian w maszynie wirtualnej (JVM), które ułatwiłyby działanie języków dynamicznych i skryptowch. JVM była projektowana dla Javy, więc w wielu miejscach kompilatory języków dynamicznych muszą stosować czasochłonne obejścia. Rozszerzenie JVM o kilka nowych możliwości mogłoby mocno przyśpieszyć inne języki korzystające z JVM. Brzmi bardzo zachęcająco zwłaszcza, że zaczynam się uczyć Grooviego ;) Ale chyba nie będziemy z tego mogli korzystać od razu, gdyż wymagana jest zmiana w JDK, upowszechnienie się nowego JDK, a następnie zmiany w kompilatorach tych języków. Choć patrząc na tempo rozwoju języków skryptowych, można mieć nadzieję, że nie będzie trzeba czekać aż tak długo.
Ciąg dalszy w następnym poście - mam nadzieję, że jutro znajdę czas :)
Na sobotnim 4Developers była mowa o zmianach w JDK7
OdpowiedzUsuńNiestety dość mało mam wolnego czasu aby jechać na konferencję :( a mam nadzieję, że znajdą się tacy co też nie byli na konferencji a chcą poczytać o nowościach.
OdpowiedzUsuń