Przyjazne środowisko Java

OptimizeIt Profiler to typowe narzędzie do profilowania aplikacji w czasie rzeczywistym. Analizuje zużycie procesora (w rozbiciu na poszczególne klasy, funkcje czy nawet linie programu) i pamięci. Interfejs do analizy jest bardzo wygodny. Ilustruje podział mocy procesora pomiędzy poszczególne składowe w kodzie. Pozwala przemieszczać się po drzewie alokacji pamięci (śledząc np. gdzie nastąpiła początkowa alokacja). Można też porównać dwa stany stosu (heap) i dzięki temu zobaczyć, czy na pewno cała zaalokowana pamięć została zwolniona (profiler liczy m.in. referencje do obiektów). Specjalne opcje pozwalają także na wyróżnienie alokacji tzw. obiektów tymczasowych (jeżeli takich alokacji jest za dużo, zbytnio obciążony jest automatyczny "odśmiecacz"). Warto tu podkreślić, że profiler pozwala na ręczne sterowanie "odśmiecaczem", np. można wymusić rozpoczęcie procesu oczyszczania pamięci. Udostępnia też API dla analizowanych programów (w ten sposób sam program może określić, kiedy np. ma być analizowane zużycie pamięci).

Profiler pozwala także w pewnym sensie na analizę stanu maszyny wirtualnej. Analizując działania JVM z punktu widzenia systemu operacyjnego, można zobaczyć, w których miejscach np. kod Javy powoduje nieefektywne zarządzanie przydziałem czasu procesora.

Przyjazne środowisko Java

Optymalizator dokładnie ilustruje podział czasu pomiędzy poszczególne składowe programu

Jednak samo narzędzie do profilowania czasami nie wystarcza. Oprócz przeglądania raportów, trzeba zwykle porównać dwa różne "obrazy" działania aplikacji, by przekonać się, czy prowadzone prace programistyczne zwiększają czy też zmniejszają wydajność. W ocenie tego pomaga czwarte narzędzie z pakietu OptimizeIT - Progress Tracker. Porównuje dwa "obrazy" analizy optymalizacyjnej i wskazuje te obszary, w których nastąpiła zmiana. Progress Tracker analizuje dane o zużyciu procesora, pamięci i pokryciu kodu. Warto wspomnieć, że wykresy generowane przez to narzędzie mogą być prezentowane w skali logarytmicznej, co ułatwia porównanie nawet małych wartości. Progress Tracker może być wykorzystany także do porównywania różnych "stanów" aplikacji, np. może analizować rozkład obciążenia przy różnych parametrach wejściowych.

Narzędzia wchodzące w skład OptimizeIT nie wymagają specjalnej kompilacji kodu. Pakiet może być uruchamiany jako część IDE JBuilder lub też jako samodzielny program, z własnym środowiskiem. Wszystkie narzędzia mają w podobny sposób ustawiane opcje konfiguracyjne.

Urządzenia mobilne

JBuilder zawiera środowisko do pisania aplikacji dla urządzeń przenośnych zgodnych z J2ME. Do dyspozycji programisty są specjalne kreatory projektujące MID-letów (aplety dla urządzeń przenośnych) oraz praktycznie te same mechanizmy, które są dostępne przy tworzeniu "dużych" aplikacji. Ze środowiskiem IDE jest zintegrowany emulator. Niestety, z emulatorem nie współpracuje pakiet OptimizeIT (bezproblemowo działa za to debugger). Ciekawą opcją emulatora jest możliwość ustalania prędkości działania, tak by lepiej symulować pracę telefonu komórkowego wyposażonego w wolny procesor.

Ceny i edycje

JBuilder jest dostępny w różnych wersjach. Najbardziej rozbudowana Enterprise (zawiera pakiet StarTeam Personal Edition) kosztuje ok. 3,5 tys. USD. Nowością jest wersja Developer przeznaczona dla programistów "kodujących" rozwiązania w Javie. Pozbawiona jest funkcjonalności rozwiązania klasy "enterprise", ale w dalszym ciągu oferuje bardzo zaawansowaną funkcjonalność. Kosztuje ok. 1 tys. USD.

Tak jak dotychczas dostępna będzie także wersja Personal, przeznaczona do nauki i tworzenia aplikacji na własny użytek (bez możliwości sprzedawania rozwiązania). Jest dostępna niemal po kosztach nośnika - 19 USD.

Ponadto dostępne są wersje JBuildera dostosowane do współpracy z serwerami aplikacyjnymi BEA WebLogic i Sybase, rozprowadzane przez producentów tych serwerów.

Nie tylko Jbuilder

Oprócz JBuildera, Borland oferuje zestaw Enterprise Studio for Java. W wersji 6 wprowadzono pełną integrację pomiędzy środowiskiem JBuilder a pakietem do modelowania aplikacji Together. Interfejs do modelowania jest częścią IDE JBuildera - programista może albo modyfikować kod, albo zmieniać diagram UML.

Enterprise Studio zawiera również CaliberRM (narzędzie do definiowania wymagań i analizy projektowej) i StarTeam.


TOP 200