2010-09-10 76 views
1

我想創建一個內部有幾個數組和其他結構的結構。 是否有可能爲此擁有「平坦」的內存佈局?即一個記憶無視指針?是否有可能在Java中獲得扁平(unboxed)結構?

+0

(抱歉用這種方式打擾你,但是我想和你談談Game of Go的建議,並且評論已經關閉了。請問你能給我留言嗎?http://mafutrct.wordpress.com/kontakt - 我將在稍後刪除這條評論) – mafu 2010-09-13 18:12:13

回答

4

我不這麼認爲。除了使用一個大數組創建一切,並編寫自己的代碼來將對象表示爲字節數組,這是一個壞主意。在Java中,除了原語之外的所有東西都是自動引用的;你不能直接使用數組或對象。

爲什麼你需要一個平坦的內存塊?如果您擔心內存分配問題,請考慮某種對象池。

+0

*「在Java中,除文字以外的所有內容都是自動引用的...」*否,除*引用*之外的所有內容均由引用。但是在(說)'int a = 42 * 10;'中,'a'既不是引用也不是文字,而是一個原語。 – 2010-09-10 14:27:25

+0

和+1。這是正確的答案:正如你所說,不,你不能這樣做,除非宣佈一個龐大的單維'字節'數組並且自己完成所有其他工作(blech)。 – 2010-09-10 14:29:02

+0

是啊,對不起,我的意思是說原始人。感謝您的支持。 – 2010-09-10 14:34:06

1

您可以在內存或功能中最接近的是一組基元,如byte []。這是如何MemoryImageSource和BufferedImage工作相對有效地存儲和blit圖像。

相關問題