Java is a pure object oriented language, by object oriented I mean, we create classes and instantiate objects of those classes. If you work with pure Java, simple difference you will notice is the output will be displayed on console, so we use different plugins for different kind of outputs (for eg. applets). Java is used as a core language meaning anything you write as a Java code is converted into machine level code, which can be interpreted by the processor.
Now when you say JSP, i.e. Java Server Pages, the name itself defines it. In simple terms, you embed your Java code into your HTML pages. If you are familiar with the concepts of servlets in Java, you may understand the complexities of using these servlets. JSPs on the other hand eases the work with HTML. The best example of a JSP page is that you can easily juggle your data to and from your HTML page to Java code, and one interesting fact about JSP is that it gets converted into servlets.
There are other various differences between Java and JSP but you need to be familiar with servlets to understand JSP.