Hello there!

Photo by Andrew Wulf on Unsplash

On previous posts, we were talking about several Java concepts, that you are probably going to be asked during the Java interview. This very article is going to continue such a topic by talking about the Java Memory Model (JMM).

Well, I do understand your feeling, if this topic sounds boring and, even more, less important for you. But in my very opinion, it is dangerous to use any tool without knowing how it works under the hood. We, the engineers, are responsible for the quality of the products we build for different services and businesses. …

Photo by Raquel Martínez on Unsplash

Hi there!

Today I’m going to talk about one of my favorite interview questions: equals() and hashCode() methods in Java.

Why do I like this question? Well, I found both these methods extremely important in the development process, so if the person knows nothing about them, it can cause a lot of the issues in the application like missing data inside the hashed data structures, wrong equality process results, etc.

So, let’s move on to discover these 2 methods.

As you might know, there is a class Object, that is a parent of each other class in Java. …

Photo by Daniel Fazio on Unsplash

Hi there!

Due to my experience, there are several questions that you are probably going to be asked during the Java tech interview (especially if you are a junior level specialist). One of such items is: “What is the difference (if any) between final, finally and finalize keywords in Java?”. The answer is so easy, so it will be more than sad to lose some points here.

These keywords are entirely different, so it will be more than enough to explain, what they are used for in Java to make the interviewer satisfied.


This keyword could be used with variables…

Photo by Emile Guillemot on Unsplash

Hi there!

Now we are going to talk about immutable classes in Java and show how to make the class immutable.

The class is called immutable if it is impossible to change its state and content after the initialization (creation).

The benefits of such classes are:

  • safety: you, as a developer, can be sure that no one is able to change their state;
  • thread-safety: the same as mentioned above is also actual for the multithreaded environment;
  • cacheable: instances could be easily cached by VM cache or custom implementation, as we are 100% sure, that their values are not going to…

Hello everyone!

2019 is coming and if you (like me) decide, that it is a great time to become an Oracle certified Java developer, I hope that you find this post useful.

I’m not going to tell you about the benefits of being an Oracle certified developer, as I don’t work for Oracle, so if you are looking for motivation, it is a wrong place, sorry. As for me, I wanted to structure my Java core knowledge, so I found certification to be a good goal to achieve. And, to tell you the truth, I’m going to use this “paper”…

Mykola Shumyn

Software engineer: making the code great again

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store