$24
1. (10 pts) What events do the following components generate:
JButton
JTextField
JComboBox
2. (10 pts) What methods does JTable implement which are required by the interfaces implemented by the JTable class beyond those interfaces implemented by the various parent classes of JTable?
3. (10 pts) Address how the differences among these various layout managers, focusing on their behavior as their container is resized:
FlowLayout
GridLayout
BorderLayout
GridBagLayout
Absolute Positioning (explain the basic steps required for this manager as well)
4. (20 pts) (Ex 1.8.2) The dining philosophers problem was invented by E. W. Dijkstra, a concurrency pioneer, to clarify the notions of deadlock and starvation freedom. Imagine five philosophers who spend their lives just thinking and feasting. They sit around a circular table with five chairs. The table has a big plate of rice. However, there are only five chopsticks (in the original formulation forks) available, as shown in Fig. 1.5. Each philosopher thinks. When he gets hungry, he sits down and picks up the two chopsticks that are closest to him. If a philosopher can pick up both chopsticks, he can eat for a while. After a philosopher finishes eating, he puts down the chopsticks and again starts to think.
a. What is wrong with everybody doing the following - other than that the philosophers never get up from the table?
think for a while
get left chopstick
get right chopstick
eat for a while
return left chopstick
return right chopstick
return to 1
b. How can the above be fixed to avoid deadlocks?
c. Is your solution starvation free? Literally!
5. (20 pts) What methods must a class implementing the java.util.concurrent.locks.Lock interface implement? Describe some of the expected characteristics of each of the methods of this interface?
6. (10 pts) Explain what the JVM does when it encounters a synchronized directive. Hint: consider carefully what is synchronized.
7. (10 pts) What happens when the JVM encounters a wait () call?
8. (10 pts) Describe the environment in which a wait () call is legal?
Grading Rubric:
Attribute
Meets
Does not meet
Problem 1
10 points
Lists the events associated with each provided component.
0 points
Does not list the events associated with each provided component.
Problem 2
10 points
Lists the methods JTable implements.
Lists the methods which are required by the interfaces implemented by the JTable class beyond those interfaces implemented by the various parent classes of JTable.
0 points
Does not list the methods JTable implements.
Does not list the methods which are required by the interfaces implemented by the JTable class beyond those interfaces implemented by the various parent classes of JTable.
Problem 3
10 points
Addresses the differences among the various layout managers.
Focuses on their behavior as their container is resized.
0 points
Does not address the differences among the various layout managers.
Does not focus on their behavior as their container is resized.
Problem 4
20 points
Explains what is wrong with everybody doing the actions provided.
Explains how the actions be fixed to avoid deadlocks.
Explains if the solution provided is starvation free.
0 points
Does not explain what is wrong with everybody doing the actions provided.
Does not explain how the actions be fixed to avoid deadlocks.
Does not explain if the solution provided is starvation free.
Problem 5
20 points
Explains what methods a class implementing the java.util.concurrent.locks.Lock interface must implement.
Describes some of the expected characteristics of each of the methods of this interface.
0 points
Does not explain what methods a class implementing the java.util.concurrent.locks.Lock interface must implement.
Does not describe some of the expected characteristics of each of the methods of this interface.
Problem 6
10 points
Explains what the JVM does when it encounters a synchronized directive.
0 points
Does not explain what the JVM does when it encounters a synchronized directive.
Problem 7
10 points
Explains what happens when the JVM encounters a wait () call.
0 points
Does not explain what happens when the JVM encounters a wait () call.
Problem 8
10 points
Describes the environment in which a wait () call is legal.
0 points
Does not describe the environment in which a wait () call is legal.