Java, .NET languages (VB.NET, C#, Visual C++), Perl, and PHP all use interpreters.
The former two are compiled into intermediate code, called byte code. Java compiles into byte code, which can be executed in any JVM implementation (linux, bsd, windows, sparc, etc.). That way, it's portable. A Java class can run flawlessly on any platform, making it a network-oriented language.
.NET languages are compiled into CLI (common language interface) code and then executed by a CLR (common language runtime) engine. This is to allow libraries to be created from multiple high level languages. e.g. A module coded in VB.NET and a module coded in C# can reside in the same library once the modules are compiled to CLI code.
Of course all software that requires interpretation runs considerably slower than code that's compiled to native object code.