Programowanie w języku Java® to proces tworzenia funkcjonalnej aplikacji lub apletu przy użyciu języka programowania Java® i powiązanych z nim narzędzi. Kroki związane z tworzeniem oprogramowania Java® są bardzo podobne do standardowych praktyk tworzenia oprogramowania. Cykl rozwojowy Java® obejmuje trzy szerokie fazy. Pierwszy to planowanie i projektowanie, drugi to wdrożenie, a ostatnim etapem jest wdrożenie.
Faza planowania i projektowania programu Java® jest zarówno podobna do standardowych technik tworzenia oprogramowania, jak i nieco inna. Język został zaprojektowany tak, aby był niezależny nie tylko od platformy, ale także od urządzenia. Podczas projektowania aplikacji lub apletu ważne jest, aby programista zdecydował, czy komputer docelowy jest jednego typu, czy też program podejmie dodatkowe kroki w celu zapewnienia zgodności z kilkoma platformami.
Faza implementacji programowania w języku Java® obejmuje użycie zestawu narzędzi znanego jako Java® Development Kit (JDK) w połączeniu ze zintegrowanym środowiskiem programistycznym (IDE) do rzeczywistego pisania programów. JDK zawiera szereg narzędzi, które umożliwiają kompilację programów w kod bajtowy, który interpreter może odczytać lub które mogą symulować różne platformy użytkownika. Istnieje wiele JDK dostępnych od różnych programistów, z których każdy zawiera inny zestaw narzędzi programistycznych.
Wdrożenie obejmuje również testowanie i debugowanie programu. W JDK jest wiele narzędzi, które pomagają profilować program, porównywać niektóre klasy i śledzić wykorzystanie pamięci. Interpretowana natura języka Java® umożliwia maszynie wirtualnej, na której działa skompilowany kod bajtowy, skomplikowane śledzenie wielu aspektów programu, które byłyby znacznie bardziej złożone, gdyby były uruchamiane natywnie.
Wielu programistów Java® polega również na funkcjonalności środowiska IDE, które jest używane do tworzenia rzeczywistego kodu. Te IDE umożliwiają edycję wizualną, testowanie w oparciu o menu i debugowanie programu. Istnieją środowiska IDE, które zawierają narzędzia, które mogą tworzyć części programów Java®, umożliwiając programiście przeciąganie i upuszczanie wstępnie zaprogramowanych elementów wizualnych do interfejsu użytkownika, eliminując potrzebę wielokrotnego ich ręcznego kodowania.
Wdrożenie programu Java® może bardzo różnić się od programów opracowanych w innych językach. Istnieje kilka problemów, które należy rozwiązać przed udaną dystrybucją. Programy Java® wymagają, aby środowisko wykonawcze Java® było zainstalowane w systemie docelowym jako wtyczka przeglądarki lub jako samodzielna aplikacja. Instalacja aplikacji Java® wymaga sprawdzenia, czy środowisko JRE jest rzeczywiście zainstalowane i może wymagać dystrybucji z plikami binarnymi JRE, które są rodzime dla systemu docelowego.
Niektóre aplikacje internetowe umożliwiają zainstalowanie programu Java® bezpośrednio z repozytorium online. Ma to tę zaletę, że można dostosować pobieranie do konfiguracji systemu użytkownika. Ma to tę wadę, że potencjalnie zajmuje dużo czasu, w zależności od liczby klas, bibliotek i innych plików, które będą musiały zostać zainstalowane.