I can think of two reasons:
1) This only applies to the JSPs: JSPs must be converted into a servlet class and then compiled into a .class file when they are changed or redeployed (by default). This is very slow, but only happens once normally. (There is a JBoss option to not remove the work directories, and I believe there is also a way to pre-compile all your JSPs).
2) The Sun server VM (which JBoss uses by default, I believe) profiles and compiles sections of code to native code as the server runs. However, it doesn't do it immediately. So that would explain why the server might speed up after running for a while.
The JBoss gurus may have some other reasons and ways to "fix" it.