What is Java?

Felix Steiner
3 min readNov 13, 2020

Java is an island of Indonesia which has over 145 million inhabitants and spans over 138,793.6 km2. Well…that’s actually true but in the context of computer science the term Java describes something completely different.

Java is a programming language which follows an object-oriented approach. It was created at Sun Microsystems by James Gosling and was initially released in 1995. A few years later it has been acquired by Oracle.

How does Java work?

The Java technology basically consists of three main components:

  • Java Runtime Environment (JRE)
  • Java Virtual Machine (JVM)
  • Java Development Kit (JDK)

The Java Runtime Environment is basically responsible for executing Java applications independent on their underlying operating system. The Java Virtual Machine (platform-dependent) is part of the JRE and is responsible for executing Java bytecode (compiled, platform-independent Java code). This principle is actually really important and comes along with a huge advantage: Each Java application is started in its own virtual machine, which translates the bytecode of the application into the corresponding machine code which the operating system supports or understands. Therefore, Java can operate platform-independent.

Java lifecycle

The Java Development Kit is in fact a Software Development Kit (SDK), which is especially made for Java. It provides utilities like the JRE, the Java compiler (javac), the Java debugger and many more. If you want to start programming with Java, installing the JDK is probably one of the first things you will need to do.

Advantages and disadvantages

The following illustration depicts my personal selection of the most important advantages and disadvantages Java comes along with:

Advantages and disadvantages

Most of the points are self-explaining or have already been described in this post. However, some points need a short explanation:

  • Object-oriented programming is a programming paradigm which focuses on components called objects. Due to the fact that OOP is often used in modern software systems, it is definitely an advantage that Java has to offer.
  • Multithreading basically describes the capability of performing multiple tasks simultaneously within a program. This is especially a huge advantage when it comes to CPU-intensive operations.
  • Lower performance in this particular case means lower performance than natively compiled languages like C. This can be led back to the JVM, which is also responsible for the high memory usage.
  • By “no low-level control” I particularly mean the garbage collector, which collects and removes unused objects from the heap memory. This is generally speaking an advantage because it optimizes the usage of the memory. However, it can be a disadvantage if you want to have full control over the memory.

What is Java used for?

Usages of Java

As you can see Java can be used for various types of applications. Reaching from small desktop applications over robust Android apps to large enterprise systems, Java provides everything you need. Therefore, Java is widely used by big software companies such as Google, Netflix, Amazon and many more.

Summary

To put it all together, Java is a great programming language with many useful features. Moreover, I think that Java is quite easy to learn compared to other languages like C or C++. Additionally, Java has a huge online community and there are lots of resources in the internet to learn Java. Keep in mind that this was just the tip of the iceberg. The main aim of this post was to provide a friendly introduction into Java. Don’t hesitate to find out what else Java has to offer and realize how powerful Java really is. 😉

--

--

Felix Steiner
0 Followers

I’m a twentie-one-year-old software engineer who’s interested in all kinds of computer science stuff.