1000x1000x2000 is.. hm two gigabytes at one byte per point, so probably at least eight, and possibly more depending on Java types and what exactly you're storing.
You probably want some form of sparse array, or something more suited to the problem at hand.
It shouldn't be possible to crash your computer by running out of memory (it'll just kill the program instead), but it can sometimes be hard to tell the difference when swap gets involved.
Oh, I'm using a sparse array all right - I "only" have to deal with, oh, 10,000,000 actual voxels. And to be fair, I was being colloquial, not accurate (in retrospect that was foolish on a site so closely linked to AI research) - JVM just threw an OutOfMemoryException and exited gracefully.
In an attempt to encourage more people to actually do awesome things (a la instrumental rationality), I am proposing a new monthly thread (can be changed to bi-weekly, should that be demanded). Your job, should you choose to accept it, is to comment on this thread explaining the most awesome thing you've done this month. You may be as blatantly proud of you self as you feel. You may unabashedly consider yourself the coolest freaking person ever because of that awesome thing you're dying to tell everyone about. This is the place to do just that.
Remember, however, that this isn't any kind of progress thread. Nor is it any kind of proposal thread.This thread is solely for people to talk about the awesomest thing they've done all month. not will do. not are working on. have already done. This is to cultivate an environment of object level productivity rather than meta-productivity methods.
So, what's the coolest thing you've done this month?