Тонкости языка, которые не знают новички, знают профессионалы. Если ты новичок, то тебе нет смысла это рассказывать, потому что новичок ещё не готов для этой информации. А когда он будет готов, он уже не новичок и сам всё знает. Сам же процесс рассказывания этих тонкостей — это репетиторство, и я не думаю, что это можно уложить в один текстовый пост, тут нужны будут часы занятий. Сам я java не знаю, но это подходит к любому языку.