Posts

Showing posts from November, 2022

Interfaces in Java, Everything You Need to Know!

In this blog post we will be answering some of your most commonly asked questions when it comes to interfaces in java. So firsts things first, what is it? An interface is a tool (much like a class) that is used to achieve abstraction AKA the art of taking human ideas/concepts and representing them in code, it works as a container that stores the method signature as well as its constants. It is one of the key concepts of Object Oriented Programming (OOP). In a nutshell it allows the developer to handle complexities within the program whilst hiding them from the user. As a software developer it is important to know how to implement interfaces for this very reason. What must a class do in order to implement an interface? In order for a class to implement and interface it would need to specify that it implements the interface and provide implementations for all the methods used in the interface. If these conditions are not met the compiler will display an error. A commonly asked question i...

Concurrency, Everything you need to know!

Image
So concurrency, today we'll be going through all the ins and out and all the components that make up the concurrency system starting with: Processes and Threads. So processes and threads, what are they and how do they work? Processes and threads are the two components that make up concurrency. A process is simply a program that has already been loaded into memory with all the resources it needs to run, those resources being: the register, program counter and stack. Let's break down each of these resources' function.  The register is part of the central processing unit (CPU) and is used to store the data used for the program. The program counter keeps track of where the computer is in running its programs' sequence. The stack stores information about the active subroutines of a program. It provides a temporary memory location for data to be stored. So how do these all tie in together? Each iteration of a running program are processes that run independently of each other....