Blog o gadżetach i technologii. Najnowsze telefony, tablety, laptopy, smartwatche i etui na telefony. Telefon Samsung oraz telefon Microsoft.

23/11/2015

Programowanie w języku Java

Java, to jeden z najpopularniejszych obiektowych języków programowania, służący do tworzenia programów źródłowych, kompilowanych do kodu bajtowego – postaci wykonywanej przez maszynę wirtualną.

Język programowania Java został stworzony przez firmę Sun Microsystems pod kierunkiem Jamesa Goslinga; opublikowano go w 1995 roku wraz z Maszyną Wirtualną Java (Java Virtual Machine). W 2010 roku firma została wykupiona przez Oracle. Język ten miał być konkurencją dla języka C++ i dlatego większość elementów składni i słów kluczowych pokrywa się z C++ (choć składnia jest uproszczona), natomiast podstawowe koncepcje (maszyna wirtualna, automatyczne zwalnianie pamięci) zaczerpnięto z języka Smalltalk.

Programowanie w języku Java

żródło: pixabay.com

Kluczowe koncepcje języka Java

Najistotniejszymi cechami języka są:

:: obiektowość
Język programowania Java jest silnie ukierunkowany na obiektowość; wszystkie dane i podejmowane akcje są pogrupowane w klasy obiektów. Obiekt, to samoistna część programu, która przyjmuje określone stany i ma określone zachowania, które z kolei mogą zmieniać stany lub przesyłać dane do innych obiektów. Poza typami obiektowymi posiada także typy proste, reprezentujące liczby całkowite, zmiennopozycyjne, wartości logiczne i pojedyncze znaki. Mechanizm autoboxingu, pozwala na swobodne mieszanie typów prostych i ich obiektowych odpowiedników.

:: dziedziczenie
W języku Java wszystkie obiekty mają wspólny podzbiór podstawowych możliwości (identyfikacja, porównywanie, kopiowanie, niszczenie, wsparcie dla programowania współbieżnego), ponieważ wszystkie one są pochodną obiektu nadrzędnego, od którego dziedziczą podstawowe zachowania i właściwości. Jest to dziedziczenie jednobazowe, to znaczy, że tylko jedna klasa (klasa Object) może przekazać swoje właściwości i operacje jako podstawę do rozszerzania o kolejne możliwości. Ten rodzaj dziedziczenia eliminuje możliwość konfliktów między właściwościami, przekazywanymi przez klasy nadrzędne. Wprowadzono interfejsy i podklasy umożliwiające wielokrotne dziedziczenie implementacji jako rekompensatę dla obniżenia elastyczności dziedziczenia jednobazowego.

:: niezależność od architektury
Jest to główna cecha charakterystyczna dla języka programowania Java. Kod źródłowy, który kompiluje się do kodu pośredniego, jest niezależny od systemu operacyjnego i procesora, wykonuje go wirtualna maszyna Javy, która tłumaczy kod na kod dostosowany do specyfiki danego systemu operacyjnego oraz procesora. Plusem tego rozwiązania jest rozgraniczenie elementów platformy systemowej i tych dostępnych w języku bez konieczności wykorzystania wywołań systemowych.

:: sieciowość
W przypadku języka Java nie ma różnicy między danymi z plików lokalnych a tymi dostępnymi przez http czy ftp.

:: obsługa programowania rozproszonego
Biblioteki Javy wyposażone są w funkcje umożliwiające programowanie rozproszone między aplikacjami Javy (RMI) oraz między aplikacjami Javy a tymi napisanymi w innych językach programowania.

:: niezawodność i bezpieczeństwo
Java posiada mechanizmy zabezpieczające przed popularnymi błędami, tj. automatyczne zwalnianie pamięci (usuwanie nieużywanych obiektów), silne typowanie, konieczność dostarczenia wszystkich użytych klas podczas kompilacji, sposób obsługi wyjątków, wydzielenie grupy wyjątków weryfikowalnych, zestaw reguł pozwalających na definiowanie działań dostępnych i zabronionych dla programów na danej maszynie Javy.

:: wydajność
Wprowadzenie licznych modyfikacji i kompilatora JIT skutkuje tym, że Java to język, w którym niektóre problemy mogą być rozwiązane szybciej niż w innych.

:: rozszerzalność
Istnieje możliwość rozszerzania składni, a także tworzenie rozszerzeń wprowadzających nowe paradygmaty, np. aspektowy czy funkcyjny.

Java Enterprise – Java Korporacyjna
Jest to bardzo rozpowszechniona serwerowa platforma programistyczna języka Java (inne jej nazwy to: Java Platform, Java Enterprise, Enterprise Edition, J2EE, Java EE). Definiuje ona standard tworzenia aplikacji w języku programowania Java, które są oparte o wielowarstwową architekturę komponentową. Standard Enterprise określa zestaw interfejsów programistycznych, jakich musi dostarczać kompatybilny serwer aplikacyjny. Java Enterprise powinna poprawnie funkcjonować na dowolnej platformie sprzętowej i systemie operacyjnym.

Pierwsza wersja, czyli J2EE 1.2 została wydana w 1999 roku. Kolejne wersje to: 1.3, 1.4, Java EE 5, 6 i 7.

Perspektywy pracy dla programisty
Żeby zostać programistą Java wcale nie trzeba mieć ukończonych studiów informatycznych, choć jest to oczywiście jak najbardziej wskazane. Ich brak nie jest przeszkodą, jeśli posiada się wiedzę z tej dziedziny oraz kompetencje (na początek wystarczy znajomość podstaw programowania). Obecnie dostęp do wiedzy programistycznej jest praktycznie niczym nieograniczony. W sieci można znaleźć naprawdę sporo materiałów szkoleniowych, książek, kursów i szkoleń. To, co najistotniejsze w rozpoczęciu kariery programisty Java, to doświadczenie projektowe (najlepiej w konkretnym języku programowania, czyli Javie) oraz certyfikaty branżowe. Uznawana w branży certyfikacja prowadzona jest przez firmę Oracle, która przyznaje następujące certyfikaty: Oracle Certified Associate, Oracle Certified Professional, Oracle Certified Expert i Oracle Certified Master.

Swoją pracę zawodową można związać z konkretną firmą i pracować na różnych stanowiskach, tj. jako: junior developer, developer, senior developer/tech leader. Praca dla programisty w firmie wiąże się z satysfakcjonującym wynagrodzeniem, zajmowaniem się zazwyczaj jednym projektem oraz licznymi benefitami.

Nie trzeba, rzecz jasna, być przywiązanym do jednej firmy i równie dobrze można pracować jako freelancer. Jest to na pewno pod wieloma względami wygodniejsze, bo można samemu organizować swój czas pracy i nie jest się uzależnionym od zwierzchników. Wadą tego rozwiązania jest to, że trzeba szukać zleceń na własną rękę. W poszukiwaniach pomocne są przede wszystkim serwisy z ogłoszeniami dla freelancerów. Wiele interesujących ofert można znaleźć tu: http://oferia.pl/zlecenia/programowanie/java-j2ee

Artykuł sponsorowany


Miłość w internecie na wznoszącej fali

Miłość jest jednym z najbardziej pożądanych przez człowieka uczuć i coraz częściej szukamy jej w Internecie. Już prawie jedna trzecia małżeństw w USA zawierana jest między osobami, które poznały się w internecie. Co ciekawe, z badań zawartych w „Social Integration via Online Dating 2017”,opracowanych przez Josu ́e Ortega and Philipp Hergovich wynika, że małżonkowie, którzy […]

Nadchodzi czas klasycznych telefonów?

Badania CBOS pokazały, że w 2017 roku 43% Polaków wybrało tradycyjne komórki zamiast smartfonów. Choć liczba użytkowników smartfonów w naszym kraju nadal rośnie, pojawił się również przeciwny trend. Coraz więcej osób świadomie powraca do klasycznych telefonów. Model FS 03 marki Blaupunkt może stanowić odpowiedź na ich potrzeby. Blaupunkt Competence Center Mobile Phones ogłosił wejście na […]

Szybkie skanowanie książek i artykułów

To, że studenci muszą skanować w czasie studiów tysiące stron, nikogo nie dziwi. Jest też np. wiele osób posiadających bogatą kolekcję gazet, które chętnie zamieniłyby stos makulatury na cyfrowe kopie. To tylko dwie z wielu innych grup, których przedstawiciele powinni się zainteresować IRIScan Book 3 – urządzeniem przeznaczonym do skanowania m.in. książek, magazynów, listów czy […]

Techcity na Facebooku