I understand every major OOP principle in Java, so I thought that learning JS would be piece of cake. But then I came across term called prototype in JS which troubles me. Can someone tell me how Java doesn't need prototypes unlike JS? What are prototypes replaced by in Java and how can I picture it from Java's perspective so I can understand it better in JS?
You wouldn't use English skills as a guide to learning Japanese, You would learn Japanese anew. Similarly, forget all about Java® when learning JS; the similarlity between the names is misleading.
Even the name JS is not quite correct; nobody ever uses the correct name for the language, which is ECMAScript. You haven't heard that name because nobody says ECMAScript.