sobota, 27 marca 2010

JDK 7 - nowości 1

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 :)

2 komentarze:

  1. Na sobotnim 4Developers była mowa o zmianach w JDK7

    OdpowiedzUsuń
  2. 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ń