O que eu preciso saber para começar a desenvolver Java? Quais são algumas bibliotecas interessantes para se usar em projetos Java?