Many web and desktop applications use Java, although as a user you may not always realize it is running. When you use software and websites, for work or personal functions, you may be using programs written in the Java language. Because Java is so widely used and has so many resources developed for it, Java applications cover a broad range of computer uses, including tools for entertainment, information and productivity.
On both PCs and the Internet, Java programs provide entertainment. Java is a common language for building gaming experiences, with the full range of computer games implemented using the platform. Developers and organizations also use Java to create entertainment software and websites, including those for watching video, listening to music and interacting with website content. Entertainment sites use Java in a number of ways, such as modeling and connecting to databases at the "back end" as well as providing user interaction at the "front end."
Whatever you use office software for, whether for business or domestic purposes, the programs you use may be written in Java. Java programs for office use include word processing and spreadsheets. The open source system, Open Office, uses Java and is a popular example of how flexible the platform is. One main advantage to the Java language is that it is portable, meaning that developers can write Java programs once, and they will be compatible with a number of different operating systems when executed.
Java applications provide organizational tools, including calendars, electronic communications, such as email, and even Web browsing. There are many open source Java applications for productivity, including personal organizers, to-do lists and mind mapping tools. When people browse the Web, using on-line tools for organization which are implemented in Java, the Java Runtime Environment installed on their computer allows these functions to operate.
Java provides a range of resources for database applications; it is therefore often the basis for such software. Developers can use Java to create user interfaces to connect to data sources without having to implement these connections within their own code, as the language provides ready-made resources for it. Java applications can therefore make connections to, as well as query and process results from, popular database management systems over a network, including Oracle and MySQL.
For most users, Java is a tool that enables the software they use to function, but it remains relatively remote from their own interaction. However, for developers, the Java installation on a computer is what allows the Java programming itself to be carried out. The main tools developers use to create Java applications are included within the Java Development Kit, which includes the JRE. There are also many development tools for Java, including Integrated Development Environments, such as Eclipse and NetBeans.