This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
Without an L, the result is an integer, because all operands are integers. Since 1000 * 60 * 60 (3600000) is a valid integer, there will be no problems.
If your intermediate result would exceed Integer.MAX_VALUE (2^31-1), then the result would be truncated, and you would get a wrong value. Only then you need an L to inform the compiler that the intermediate result is a long as well so it won't be truncated.