Maison > Questions et réponses > le corps du texte
他与fileinputstream 的区别是什么呀?他不是自带缓冲区吗?为什么还需要指定一个byte数组?
阿神2017-04-17 17:50:10
Son cache et votre propre cache ne sont pas le même concept. Le processus général est le suivant.
Lors de l'utilisation d'inputstream sans mise en cache
Chaque fois que vous lisez, le système effectue une opération de lecture pour lire les données. Si vous spécifiez un octet à lire, il lira un octet, si vous spécifiez un tableau, il lira un tableau Le. différence entre votre programme et les données L'efficacité de la lecture a une excellente relation.
et lors de l'utilisation de
bufferedinputstream
, cela ressemble à ceci
Lorsque vous créez bufferedinputstream
, il lira immédiatement les données et les mettra dans la mémoire gérée par jvm
A chaque fois que vous les lisez, il n'y retournera plus. . La lecture depuis le système le lira depuis la mémoire. Données , puis déterminez s'il reste beaucoup de choses dans la mémoire. Sinon, il demandera au système de lire l'opération. Que vous lisiez un octet ou un tableau, le système ne le fera pas nécessairement <🎜. > Fera fonctionner le disque dur.
La corrélation entre l'efficacité de votre programme et la lecture des données est très faible.
Si vous utilisez un flux sans buffer, ouvrez le fichier puis fermez-le immédiatement, le système
ne fera aucun appel de données, et la fermeture sera exécuté rapidement. Et si vous ouvrez le fichier avec un flux tamponné, même s'il est fermé immédiatement sans lecture, la fermeture ne sera pas exécutée immédiatement, et le système
a déjà lu une partie des données dans la mémoire , ce qui sera moins efficace que d'utiliser sans tampon.
PHPz2017-04-17 17:50:10
Il n'y a aucune relation entre la mise en mémoire tampon et l'utilisation de tableaux pour recevoir du contenu. Cela ne signifie pas qu'avec la mise en mémoire tampon, il n'est pas nécessaire que les tableaux reçoivent du contenu.
天蓬老师2017-04-17 17:50:10
Parce que nous espérons réutiliser cet octet[], sinon face à une transmission d'E/S de flux de données volumineux, vous constaterez que YGC sera très heureux