I am suspicious of that mirrored graph between Java and JavaScript. I see no real world reason for they behave in such symmetrical and substituting way month over month. Are you sure there is not a parsing error when analyzing those two languages?
May it be a huge amount of positions have been incorrectly labeled for Java instead of JavaScript (you know… Ham / Hamster) and then corrected a month later?
But startups are also more likely to falter quickly in a recession than the old guard. And that's where java (or c#) is overrepresented.