I tend to agree with your points here - if you end up in a conversation with that guy, I would also add:
1 Java does get concurrency right and the trade-off made in going to a single threaded nodejs process will appear (as I have bitterly learned) as performance becomes important. Keeping a sanitary event loop (think about large uploads, downloads) turns out to also be a difficult problem and one with less tooling and experience.
2. Allocate Direct can be used to get off heap memory, I don't recommend doing this, but if you really need to worry about your GC pauses, then it is very possible to use java without it and I have seen that done.
1 Java does get concurrency right and the trade-off made in going to a single threaded nodejs process will appear (as I have bitterly learned) as performance becomes important. Keeping a sanitary event loop (think about large uploads, downloads) turns out to also be a difficult problem and one with less tooling and experience.
2. Allocate Direct can be used to get off heap memory, I don't recommend doing this, but if you really need to worry about your GC pauses, then it is very possible to use java without it and I have seen that done.