I have read about marker interfaces and I have developed some understanding as to how they can be used in code but what I don't understand why do we need them and what is the reason that this concept was introduced.

I search on the internet and all the answer are along the lines of "they provide some essential information to the JVM so that JVM may perform some useful operations" but the question is that why JVM needs to know that and what possible operation does the JVM has to perform? Why can't I just clone the object without extending the class from Clonable? Why cant I serialize the class object without extending it from Serializable?

Marker interfaces doesn't make much sense and is clearly not a good design in my opinion. An interface WITHOUT any methods??? What's the point?

Now apparently an annotation is here to be used instead of marker interface but still the question is that why JVM needs to know?