Java is a pretty nice system software. However it became unpopular because of the huge memeory requirements for graphics applications.
With Java in the linux kernel the hugemem kernel flushes
the TLB on every system call. Pretty much anything that you
run on the hugemem kernel will be slow.
Server consolidation is one major benefit of virtualization. Those servers, which has less traffic or comparatively less used can be combined to run from a single server in this mode. Perhaps the resources being used for multiple servers can be single handedly run from a virtual server environment. Java applications best run on VPS servers, the processes can be allotted memory even dedicatedly.
Virtualization is a combination of software and hardware engineering that creates Virtual Machines (VMs) - an abstraction of the computer hardware that allows a single machine to act as if it where many machines.
So by using virtualised machines the Resource sharing is enabled and it helps to
for better performance.
Too many unknowns to answer properly:
Which versons of OS and Server apps?
How many users?
Exchange and SQL will grab all available memory so may be better on separate VMs.
Filtering should be in a DMZ role and proxy server (at least TMG) should be border machines so not combined with other roles.
Virtualization vs physical server management is not particularly more complex and the benefits are well worth the effort. The commentator notes that it’s easier to manage a virtual machine. When you have a physical machine running at an ISP server room there are many things that need to be monitored
We switched to a virtual server about a year ago, and haven't looked back. It's been cheaper for us overall, and so far, there have been no disadvantages.
If your application is having trouble, I'd look into what the other posters have recommended. It might be a problem with configuration, but I doubt it's because of the virtual server, as most applications can't tell the difference.