In a project that I am maintaining, I found a java class with a method "fn" similar to one shown below

```
class Test{

public void fn(){
    String METHOD_NAME = "fn";
    ...
    sysout("In " + METHOD_NAME);
}
}

```

The program runs indefinitely and the method 'fn' is called continuosly and at very high frequency. The question is 

1. would the variable METHOD\_NAME get created every time fn() is called?
2. would the JVM do some optimization so that the variable METHOD\_NAME is not garbage collected and reused the next time fn() is called?
3. would there a performance improvement if I made the variable a public static final?  

(Actually there are so many such functions that I want to know if its worth it to change all of them)

(I guess the string pool plays some role here)

Thanks,
Kiran Mohan