mustelus, попрошу эти два языка не путать и не сравнивать между собой. У них похожие названия и не более.
Java — компилируемый ОО язык со строгой типизацией. Придуман не для Web, хотя при наличии установленной у клиента JRE и плагина к браузеру, может выполнять апплеты. Но применение Java на этом не ограничивается. Компиляция производится в коды виртуальной Java-машины (и тогда программа может выполняться на любой платформе), либо сразу в коды целевой платформы.
JavaScript — интерпретируемый язык, придуманный специально для исполнения в браузере. ОО в нем не полноценное, наличествует прототипирование, типизация слабая.
Ссылки я не зря привел — читаем внимательно.
Что касается книг, то по JavaScript нормальных книг нет — приходится пользоваться разрозненными источниками. Но есть стандарт на язык:
ECMA-262.
По Java книг полно. Что тут назвать нормальными — затрудняюсь ответить.