This section describes how Java applications work, how you implement them and when you should consider Java rather than other programming models: