How many string objects does the following code snippet generate in the string pool at runtime:
public class Test { public static void main(String[] args) { String string = new String("abc"); System.out.println("abc" == "def"); } } Does the second line generate a string object for def? Or is it ignored due to compiler optimization?