Абсолютно разных. Единственное что у них похоже - заимствованный из С синтаксис. Всё остальное (включая и принципы написания кода) вообще ничего общего не имеет. Java - компилируемый императивный монопарадигменный (шаг в сторону от ООП - расстрел) язык с сильной статической типизацией. Само ООП - стандартное C++-пободное без множественного наследования. JavaSctipt - интерпретируемый язык с крайне слабой динамической типизацией и упором на асинхронное программирование. По факту, функциональный, но успешно притворяющийся императивным. Имеет прототипное ООП, которое в последних версиях языка попытались замаскировать под С++-подобное.