我一直在研究一個Java程序,可以生成相當長一段時間的分形軌道。與照片相似,圖像越大,縮小時越好。該程序使用2D對象(Point)數組,當計算點的值時寫入該數組。也就是說Point存儲在它的對應值中,I.e .:Java堆硬盤驅動器
Point p = new Point(25,30);
histogram[25][30] = p;
當然,這是爲簡單起見而編輯的。我可以將點值寫入CSV,稍後將它們應用於柵格,但使用類似的方法會產生不希望的結果。我嘗試了很長一段時間,因爲我喜歡能夠通過不使用此陣列而釋放空間來製作更大的圖像。它只是不會工作。爲了清晰起見,我想補充一點,Point對象也存儲顏色數據。
下一個問題是WriteableRaster,它與數組具有相同的尺寸。兩者結合起來佔據了很大的記憶。在嘗試改變其多次完成的方式之後,我已經接受了這一點,每種方法都有較低的質量結果。
在嘗試優化內存和時間之後,我得出結論,我真的受到RAM的限制。這是我想改變的。我知道-Xmx開關(設置爲10GB)。有沒有辦法使用Windows的虛擬內存來存儲光柵和/或陣列?我很清楚這會造成顯着的性能下降,但代替降低質量,似乎沒有多少選擇。
我想你想看看[Berkeley DB](http://www.oracle。COM/technetwork /產品/ BerkeleyDB的/概要/持久性160890.html),尤其是基於註釋的持久性的POJO。 –