I understand that Serialization process is achieved by using Serializable interface which is a Marker Interface i.e. doesn't have any method defined in it. And, we can provide custom serialization by overriding readObject() and writeObject() in our Serializable implementing class. I am just wondering how these methods definition is picked up during serialization/deserialization process since default one is provided in ObjectInputStream and ObjectOutputStream classes.
I think you mean you checked the Java® class source code. Jeanne meant to download the runtime's code which you can do by searching for openJDK. Somewhere inside that 100MB of C/C++ code you will find how objects are serialised. It may take a long time to find
The readObject and writeObject methods do not look for custom serialization methods, they are the custom serialization methods. Your class - or one of its parents - would implement these methods if you had custom serialization needs.
To determine if one of your classes implements one or more overrides to the default read/writeObject methods, you'd have to obtain a reference to that class (using class.forName or the getClass() method on an instance of the oject), then introspect for methods that match the read/writeObject method signatures. You can do that by brute force, but there's also a class helper library (whose name I forget) that's often used by heavily introspective systems. JavaServer Faces is one of them.
An IDE is no substitute for an Intelligent Developer.