My experience is, that the basics of Java suffice to start developing test cases with Selenium 2 / WebDriver. Myself started developing of Selenium test cases with a basic knowledge about Java. The more test cases I wrote and solutions I had to find, the more I leaned about the programming language.
Unit Testing Framework (JUnit, TestNG)
Write some simple unit tests (without Selenium) to learn the basics of the unit testing frameworks and read the documentation. The more complicated stuff of the framework comes automatically by writing tests with Selenium 2 / WebDriver.
Apache Maven is an Build Management Tool. It can manage dependencies (libraries). But it is also very useful for testing stuff. It exists plugins to create test reports, run tests in parallel or configure the test runs.