/**
* This file is licensed under the University of Illinois/NCSA Open Source License. See LICENSE.TXT for details.
*/
package p;
import edu.illinois.keshmesh.annotations.EntryPoint;
public class LCK01J {
@EntryPoint
public static void main(String args[]) {
new LCK01J().integerLocks();
new LCK01J().stringLocks();
}
private void integerLocks() {
Integer integerUnsafe = -100;
Integer integerSafe = new Integer(5);
synchronized (integerUnsafe) {
}
synchronized (integerSafe) {
}
}
private void stringLocks() {
String stringUnsafe1 = "LOCK";
String stringUnsafe2 = new String("LOCK").intern();
String stringSafe = new String("LOCK");
String internedStringConstantUnsafe = "CONSTANT_STRING".intern();
synchronized (stringUnsafe1) {
}
synchronized (stringUnsafe2) {
}
synchronized (stringSafe) {
}
synchronized (internedStringConstantUnsafe) {
}
}
}