緩衝區是具有諸如ByteBuffer,IntBuffer等具體子類的抽象類。它似乎是特定基本類型數據的容器。緩衝區有什麼好處?爲什麼我不使用數組或列表?Java中的Buffer的用途是什麼?
回答
緩衝區可以以其最簡單的形式定義爲某種類型的連續內存塊。因此,4K大小的字節緩衝區(4096字節)可能會佔用內存位置0xf000
到0xffff
(含)。
至於爲什麼可以使用緩衝區類型而不是數組或列表,那麼這兩個選項都不具有limit
,position
或mark
的內置功能。
在第一項,緩衝從,所述limit
分離capacity
可以有1000 capacity
與10。換句話說電流limit
,它強制爲具有可變大小高達和能力包括的capacity
。
對於其他兩個特徵,電流position
提供了一個內置的方式讀取或寫入的下一個元素,緩和順序處理,而mark
提供一種方式來保存當前position
供以後復位。
所有這些功能需要額外變量,如果你需要它們與數組或列表結合使用。
當然,如果你不需要需要任何這些功能,然後,通過任何方式,使用一個數組。
名稱緩衝區暗示什麼? –
@CowPowPow,緩衝區只是一個連續的內存塊。例如,存儲器位置17上的10字節緩衝區佔據從17到26(含)的字節地址。我會將其添加到答案中。 – paxdiablo
- 1. Stencil Buffer的用途是什麼?
- 2. Java中`<< ='的用途是什麼?
- 3. Java中IO Streams的用途是什麼?
- 4. 什麼是Buffer Underrun?
- 5. Java常量池的用途是什麼?
- 6. Java InitialDirContext()的用途/好處是什麼?
- 7. Java Char數組的用途是什麼?
- 8. Kakoune中的「* debug * buffer」是什麼?
- 9. layout.xml的用途是什麼?
- 10. PhoneGap的用途是什麼?
- 11. AtomicReferenceArray的用途是什麼?
- 12. felix.xml的用途是什麼?
- 13. WSDL的用途是什麼?
- 14. RegisterFmxClasses的用途是什麼?
- 15. FXCollections.observableArrayList的用途是什麼?
- 16. config.assets.precompile的用途是什麼?
- 17. Rake的用途是什麼?
- 18. _dl_sysinfo_int80的用途是什麼?
- 19. javax.security.auth.callback。*的用途是什麼?
- 20. System.Data.SqlClient.SqlParameter.IsNullable的用途是什麼?
- 21. _GLOBAL__I_的用途是什麼?
- 22. $ _POST的用途是什麼?
- 23. RhoMobile的用途是什麼?
- 24. StandardOpenOption.SPARSE的用途是什麼?
- 25. CreateSilverlight.js的用途是什麼?
- 26. ServicePointManager.ServerCertificateValidationCallback的用途是什麼?
- 27. RegisterGlobalFilters的用途是什麼?
- 28. SDL_opengl_glext.h的用途是什麼?
- 29. NSExpression的用途是什麼?
- 30. AutoDiscoverURL的用途是什麼?
閱讀文檔應該突出顯示差異來回答這個問題。例如,請參閱http://stackoverflow.com/q/4841340/438992 –
我看到了這些方法的作用。我想知道緩衝區的目的通常是什麼。爲了清楚起見,我的問題的替代版本可能是「緩衝區的名稱是什麼意思?」。 –
我想我假設它的目的是暗示它的能力≈\ _(ツ)_ /¯ –