Java fundamentals