If you are a beginner and just started learning Java, you might be thinking about where correctly Java is used? You don't see many games written in Java except Minecraft, desktop tools like Adobe Acrobat, Microsoft Office are not written in Java, neither is your operating systems like Linux or Windows, so where exactly people use Java? Does it have any real-world application or not? Well, you are not alone, many programmers ask this question before starting with Java, or after picking Java is one of the programming language of choice at the graduate level.
Real-World Java Applications
There are many places where Java is used in the real world, starting from a commercial e-commerce website to android apps, from scientific application to financial applications like electronic trading systems, from games like Minecraft to desktop applications like Eclipse, Netbeans, and IntelliJ, from an open-source library to J2ME apps, etc.
1) Android Apps
If you want to see where Java is used, you are not too far away. Open your Android phone and any app, they are actually written in Java programming language, with Google's Android API, which is similar to JDK. A couple of years back, Android has provided a much-needed boost, and today many Java programmer is Android App developers. By the way, Android uses different JVM and different packaging, as we have seen in our previous article about how the Android app works, but code is still written in Java.
2) Server Apps at the Financial Services Industry
Java is very big in Financial Services. Lots of global Investment banks like Goldman Sachs, Citigroup, Barclays, Standard Charted, and other banks use Java for writing front and back office electronic trading systems, writing settlement and confirmation systems, data processing projects, and several others. Java is mostly used to write a server-side application, mostly without any front end, which receives data from one server (upstream), processes it, and sends it to other processes (downstream). Java Swing was also popular for creating thick client GUIs for traders, but now C# is quickly gaining market share in that space, and Swing is out of its breath.
3) Java Web applications
Java is also big in the E-commerce and web application space. You have a lot of RESTfull services being created using Spring MVC, Struts 2.0, and similar frameworks. Even simple Servlet, JSP, and Struts based web applications are quite popular on various government projects. Many governments, healthcare, insurance, education, defense, and several other departments have their web application built in Java.
4) Software Tools
Many useful software and development tools are written and developed in Java e.g. Eclipse, IntelliJ Idea, and NetBeans IDE. I think they are also the most used desktop applications written in Java. Though there was a time when Swing was very popular to write thick clients, mostly in the financial service sector and Investment banks. Nowadays, Java FX is gaining popularity, but still, it is not a replacement of Swing, and C# has almost replaced Swing in Finance domain.
5) Trading Applications
Third-party trading application, which is also part of the bigger financial services industry, also use Java. A popular trading application like Murex, which is used in many banks for front to bank connectivity, is also written in Java.
In the 1990s Java was quite big on the Internet due to Applet, but over the years, Applet's lost its popularity, mainly due to various security issues on Applet's sandboxing model. Today desktop Java and Applets are almost dead. Java is by default Software industries darling application development language, and given its heavy usage in the financial services industry, Investment banks, and E-commerce web application space, anyone learning Java has a bright future ahead of him. Java 8 has only reinforced the belief that Java will be continuing dominating the software development space for years to come.