Lista artykułów o tagu: Java


Zrównoleglenie operacji w aplikacji webowej

W dzisiejszym artykule opiszę, jak łatwo można zwiększyć wydajność przykładowej aplikacji webowej, zamieniając sposób wykonywania wewnętrznych akcji/odwołań z sekwencyjnego na równoległe. W świecie systemów klasy enterprise do tego celu dojść można wieloma drogami. W przypadku aplikacji JEE moglibyśmy np. „rozrzucić” JMS-em zadania po kolejkach, pozostawiając „czarną robotę” dla Message-Driven Beans. W projekcie EAI opcji mielibyśmy jeszcze więcej (np. FlowN BPEL-a czy Splitter EIP). Ale co zrobić, kiedy rzecz dotyczy zwykłego, prostego servleta?


Java NIO.2

Java NIO, czyli New Input/Output lub Non-blocking Input/Output jest dostępne od Javy 1.4 (JSR-51). Wraz z wydaniem Javy w wersji 7 API zostało znacząco rozbudowane – światło dzienne ujrzała implementacja NIO.2 (JSR-203). Dwie najistotniejsze zmiany wydane wraz z NIO.2 to asynchroniczne (nieblokujące) I/O oraz API dostępu do systemu plików (klasy z pakietów java.nio.file i java.nio.file.attribute). Poza tym dopracowano funkcjonalność już wcześniej dostępną w NIO (m.in. bufory, sockety).


Wprowadzenie do JEE6

Specyfikacja JEE6 została opublikowana pod koniec 2009 roku. Obecnie jest wspierana przez wszystkie liczące się serwery aplikacyjne. Specyfikacja nie jest rewolucją w JEE tak jak miało to miejsce w przypadku wydania specyfikacji JEE5 – jest raczej bardzo przemyślaną ewolucją i kontynuacją zmian mających na celu uproszczenie wytwarzania aplikacji. W specyfikacji pojawiły się między innymi JSF 2.0, Servlets 3.0, JPA 2.0, EJB 3.1, Bean Validation oraz CDI (Context and Dependency Injection).


JavaFX 2 – aplikacja wielowątkowa

Kontynuując nasz wątek blogowy o JavaFX 2.0, chciałbym dziś zaprezentować kilka możliwości JavaFX. Głównym tematem jest oczywiście wielowątkowość, ale znajdzie się też miejsce na wiązanie danych pomiędzy warstwą danych a warstwą prezentacji, definiowanie akcji oraz pracę z biblioteką JavaFX z wykorzystaniem środowiska Maven.


Różnorodność mobilnych systemów operacyjnych – ograniczenie czy szansa?

Rynek urządzeń mobilnych jest zdecydowanie jednym z najszybciej rozwijających się na świecie, a co za tym idzie – także zapotrzebowanie na aplikacje jest ogromne. A wraz ze wzrostem możliwości i dostępności tego rynku, również jego oczekiwania będą coraz większe. Mówiąc wprost, prędzej czy później firmy IT będą musiały rozpocząć prace nad tego typu aplikacjami, aby sprostać wymaganiom rynku. Jednak każdy, kto wytwarzał aplikacje mobilne lub zastanawiał się nad tym, zapewne zdaje sobie sprawę z trudności związanych z różnorodnością obecnych telefonów oraz tempem pojawiania się nowych modeli. Popularne od lat API Javy czy Symbiana także nie jest przyjazne dla programisty. Czy […]


Badanie wydajności repozytorium plików JackRabbit

Apache JackRabbit jest znaną i uznaną biblioteką implementującą standard JSR-170 czyli repozytorium treści. Potrafi przechowywać w hierarchiczny sposób z obsługą ustrukturyzowanych oraz nieustrukturyzowanych danych, z możliwością ich tekstowego przeszukiwania, zarządzania wersjami itp. Jednym z interfejsów dostępu do JackRabbit jest WebDAV. Celem tego artykułu jest pokazanie jak można przetestować wydajność podstawowych operacji zapisu i odczytu plików komunikując się z repozytorium poprzez interfejs WebDAV. Wykorzystam do tego niezastąpiony Apache JMeter.


W walce o jakość kodu

Wielu programistów, zwłaszcza początkujących, nie zwraca uwagi na jakość kodu, który tworzą. Czasami brak nam czasu lub wiedzy na wytworzenie kodu, który – poza tym że działa – jest czytelny, zrozumiały i wydajny. Jakość kodu to nie tylko sławne „do not repeat yourself” (swoją drogą często zapomniane…), ale także całe zestawy reguł dbające o prostotę utrzymania, łatwość zrozumienia, wydajność itd. Na szczęście nie musimy znać ich wszystkich, bo istnieją narzędzia które mogą nas wspierać w pisaniu kodu wysokiej jakości. Jedno z nich chciałbym przedstawić w tym artykule – jest to Sonar.