나는 꽤 오랫동안 프랙탈 궤도를 생성하는 Java 프로그램을 연구 해왔다. 사진과 마찬가지로 이미지가 클수록 축소 될 때 더 좋습니다. 이 프로그램은 점의 값이 계산 될 때 기록되는 2D 객체 (점) 배열을 사용합니다. 즉, 포인트가 해당 값에 저장되어 있습니다. 즉 :자바 힙 하드 드라이브
Point p = new Point(25,30);
histogram[25][30] = p;
물론 간단하게 편집했습니다. 포인트 값을 CSV에 쓰고 나중에 래스터에 적용 할 수 있지만 비슷한 방법을 사용하면 바람직하지 않은 결과가 발생합니다. 이 배열을 가지지 않아서 공간이 더 큰 이미지를 만들 수있어서 좋았 기 때문에 나는 꽤 오랫동안 노력했습니다. 그냥 작동하지 않습니다. 명확성을 위해 Point 객체가 색상 데이터를 저장한다는 점을 추가하고 싶습니다.
다음 문제는 배열과 동일한 크기를 갖는 WriteableRaster입니다. 두 사람을 합치면 엄청난 기억이납니다. 나는 그것이 여러 번 행해지는 방식을 바꾸려고 시도한 후에 이것을 받아 들였고, 각각은 더 낮은 품질의 결과를 가져왔다.
메모리와 시간을 최적화하기 위해 노력한 결과 RAM이 실제로 제한된다는 결론에 도달했습니다. 이것이 내가 바꾸고 싶은 것입니다. 나는 -Xmx 스위치 (10GB로 설정)에 대해 알고 있습니다. 래스터 및/또는 배열을 저장하기 위해 Windows의 가상 메모리를 사용할 방법이 있습니까? 나는 이것이 상당한 성능 저하를 초래한다는 것을 잘 알고 있지만, 품질 저하 대신에 실제로 많은 선택이없는 것으로 보인다.
[Berkeley DB] (http://www.oracle.com/)를보고 싶다고 생각합니다.com/technetwork/products/berkeleydb/overview/persistence-160890.html), 특히 POJO에 대한 어노테이션 기반 지속성. –