2017-09-09 16 views
0

Récemment, je lisais le code source d'OpenJDK1.8 et j'avais une question sur le code source. La question comme ci-dessous. Quelqu'un peut-il aider?Pourquoi il n'y a pas de java.nio.ByteBuffer dans le code source de Openjdk1.8?

Le ByteBuffer classe existe en dessous du package java.nio dans Oracle Java1.8, mais je trouve qu'il n'y a pas une telle classe dans the same package of OpenJDK1.8. J'ai téléchargé le code source de OpenJDK1.8 de here.

+0

Qu'en est-il de http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8u40-b25/java/nio/ByteBuffer.java#ByteBuffer –

+1

Il semble que la génération de code soit en cours d'utilisation: http://hg.openjdk.java.net/jdk8u/jdk8u60/jdk/file/935758609767/src/share/classes/java/nio/ByteBufferAs-X-Buffer.java.template – erickson

+0

@JimGarrison Merci. C'est ce que je cherche. –

Répondre

4

Les fichiers source portant le suffixe .template sont traités dans la construction JDK pour générer les classes lors de la génération. Par exemple, ByteBuffer (avec tout IntBuffer, LongBuffer, ...) sont générés à partir de X-Buffer.java.template. Si vous avez votre propre construction, regardez dans l'arborescence gensrc dans le répertoire de sortie pour voir les classes générées.

+0

J'ai compris, merci! –