OK, there are so many things wrong with this story it's hard to start anywhere but,let me just jump in.
Eclipse, netbeans etc are not compilers, but do have a compiler component for java. They are IDEs, Integrated Development Environments. They integrate not only an editor but debuggers, profilers, configuration management, compilers and a lot of other tools. You could use Eclipse with Java but also with Fortran, C, C++ and a lot of other things. Heck it integrates Word.
Next, Java doesn't compile to machine language or machine code. instead it compiles to a "bit code" that is then run from the java virtual machine. A JVM (JRE package includes a JVM) and that in turn reads the compiled bit code and makes it run on the machine/OS you are using. Java Bit Code is not compiled like C or Pascal into instructions for the CPU (machine language) because that is specific to each cpu architecture and isn't portable. Instead it is compiled to this virtual machine bit code that will run anywhere a JVM will run.
And memory management, um, most of the time it works as advertised but there are exceptions and one of the biggest is SWT. SWT is Standard Widget Toolkit, which allows a java application to use the standard widgets for things from the OS itself, thus not only does a Java application run on anything but when run on a platform it looks like any other application for that platform and not some strange thing that looks out of place. Write an application for Linux and it looks like linux, run the same app on Windows XP and it looks like a Windows XP app and Run on Windows 7 it looks like something from Windows 7. BUT to do this is sacrifices memory management, so you the programmer must clean up after yourself. More transparent portability but you have to dispose odf stuff when you don't need it and don't try to use it after disposing of it.
Now learning Java. Anyone can learn Java, I teach my kids. But learning it and mastering it are two different things. I remember java 1.2 where I cut my teeth on java. From then until now I have gone from 'I learned java' to 'there's a lot more to java then i thought' to 'hey I can make java work with anything, from FORTRAN libraries to data acquisition modules made for Labview'. BUT while people seem to think there is nothing I can't do with java I know there is still a lot to learn. Unless you wrote it from scratch I don't think you could know it all. I've only been using it for 15 years and I have not seen all of it yet.
To do anything in any language you need to know basics of programming. Anyone can make a hello world or even make a decent looking application but to use classes, MVC, properly make modular programs with proper separation of objects so that it can be maintained properly and to a methodology that makes sense and makes your programming efficient and more likely to succeed you should go to school for programming, systems analysis, work flow, configuration management, Quality assurance and more than anything else proper testing procedures, tools and test management. (Cause if your testing sucks so will your software.)
Anyway my 2 cents worth, good luck learning Java it is a lot of fun.

































