Was kann ich mit Java alles programmieren? Wofür ist Java nicht geeignet

Java ist eine sehr vielseitige Programmiersprache mit der sich
für fast alle Anwendungsgebiete (Finanzwesen, Verwaltung, Spiele etc.)
auf vielen Plattformen (PCs, Handys, Großrechner) und Betriebsystemen
sowohl eigenständige wie auch Client-/Server-basierte Software
entwickeln lässt.

Da es erklärtes Ziel von Java ist, einmal geschrieben
„überall“, also auf nahezu jeder Hardware und jedem Betriebssystem
zu laufen, versucht Java so weit wie möglich die Eigenheiten
der Hardware und des Betriebssystems
vor dem Entwickler zu
verbergen.

Daher ist Java eher ungeeignet für hardwarenahe Programmierung ,
bei der der direkte Zugriff auf die Hardware benötigt wird und
es um extreme Schnelligkeit bei sehr sparsamen Umgang
mit den Speicherresourcen geht. Für Treiber-, Kernel- und
Mikroprozessorprogrammierung sind also hardwarenahe Sprachen
wie C und Assembler gegenüber Java vorzuziehen.