I do not know why i should look jdk7 as i will be using java 1.5 classes.
Java7 didn't change the implementation, they changed the docs to be more accurate. The behavior of Thread.yield() is os-dependent. In fact, from poking around hotspot's code, it looks like there are places where yield is temporarily disabled, i.e. it does nothing at all. Solaris has a mode where more than 100 yields/sec are ignored, and so on.
The short of it is, yield will probably lower the total CPU usage simply because the OS scheduler may sleep it as a side effect, but you cannot
depend on there being a sleep or in fact having yield do anything at all. It's a hint, nothing more.