Ho letto un blog ( in cinese solo ) in cui l'autore aveva deriso i programmatori Java che conoscono poco la programmazione di sistemi e C.
L'autore ha illustrato come aveva scoperto la profonda ragione di un'eccezione del selettore NIO Java utilizzando la sua conoscenza dell'AP di sistema C e Windows / Linux. L'IOException viene generato con il messaggio "Impossibile stabilire la connessione loopback" quando si chiama java.nio.channels.Selector.open () troppe volte. Quello che aveva scoperto era che per ogni apertura di Selector, una coppia di connessioni TCP sono state create in Windows e un paio di pipe sono state create in Linux. Nel altro blog, ha anche menzionato che il compilatore GNU Java era un'implementazione intelligente di Sun Java.
Ciò che ha detto sembra completamente nuovo e interessante per me. Ma non sono sicuro che la conoscenza di C / sistema sia l'unico modo per capire rapidamente questi problemi. Vale veramente la pena dedicare molto tempo all'apprendimento di queste conoscenze per i programmatori Java?