1. Why do you think the designers of Java chose long as the return

type for getCurrentTimeMillis instead of int?


2. Given your knowledge of Integer.MAX_VALUE, what is the longest

period of time that can be represented (in milliseconds) by an int?


3. According to the API, getCurrentTimeMillis returns the difference,

measured in milliseconds, between the current time and midnight,

January 1, 1970 UTC. If the designers of Java had chosen to return a

int instead of a long, when would that value first overflow?


4. Look up Long.MAX_VALUE and determine when getCurrentTimeMillis, as

implemented, will overflow.


5. For greater precision, we can change our Stopwatch to use

System.nanoTime. What is the return type of that method, and how often

will it overflow?