From the course: Learning JVM Languages: JVM, Java, Scala

Popular use cases

- [Narrator] Hi, welcome back. This is the new video, Popular Use Cases. Previously, we looked at the importance of JVM. In this video, we're going to look at the most popular use cases of JVM, such as web applications, big data and IoT. Now that we've seen some valid points that confirm why JVM is a viable platform for modern software development, let's look at some places where JVM usage is particularly popular. The first is web applications. With its focus on performance, JVM is a very popular choice for web applications. When built correctly, applications can scale really well, if needed, across many different servers. JVM is a well-understood platform, meaning that it's predictable. Plus, it provides many tools to debug and profile problematic applications. Because of its open nature, monitoring of JVM internals is also possible. For web applications that have to serve thousands of users concurrently, this is an important advantage. JVM already plays a huge role in the cloud. Popular examples are companies that use JVM for core parts of their cloud-based services include Twitter, famously using Scala, Amazon, Spotify, and Netflix. The actual list is much larger. Our next topic is Big Data. Big Data is a hot topic. When data is regarded too big for traditional databases to be analyzed, one can set up multiple clusters of servers for processing such data. Analyzing data in this context can, for example, refer to searching for something specific, looking for patterns, and calculating statistics. This data could be obtained from the data collected from web servers, for example, logged visitors' clicks, the output obtained from external sensors at a manufacturer's plant. Legacy servers have been producing log files for many years, and so forth. Data sizes can vary wildly as well, but often they take up multiple terabytes in total. Two popular technologies in the big data arena, are the Apache Hadoop that provides storage of data and takes care of data distribution to other servers, and Apache Spark, which uses Hadoop to stream data, and makes it possible to analyze incoming data. Our final use case is IoT. Portable devices that feature internet connectivity are very common these days. Since Java was created with the idea of running on embedded devices for the beginning, JVM is yet again, at an advantage here. For memory constrained systems, Oracle offers the Java ME Embedded platform. It's meant for commercial IoT devices that do not require a standard graphic or a console-based user interface. For devices that can spare more memory, the Java SE Embedded edition is available. When running a full Linux environment, it can be used to provide desktop GUIs for full user interaction. Both Java ME Embedded and Java SE Embedded platforms can access the general purpose input output GPIO pins on the Raspberry Pi, which means that sensors and other peripherals connected to these ports can be accessed by Java code. So, that brings us to the end of this video. In this video, we looked at possible use cases of JVM. In the next video, we'll look at JVM concepts and Java editions.

Contents