4 ms·
As long as there are 32-bit processors or 32-bit hardware accelerated VMs then: Yes.
by gardnr 11y ago
As long as there are 32-bit processors or 32-bit hardware accelerated VMs then: Yes.
- copsarebastards 11y agoThis is the only answer. Java is intended to be right once, run anywhere. "Anywhere" will include 32 bit address spaces for the forseeable future.
- hobo_mark 11y agoThat is a lovely typo.
- RobIII 11y agoIt was so good my brain corrected it several times before spotting it :D
- copsarebastards 11y agoToo late to edit, I'm committed!
- MichaelGG 11y ago64 bit JVM can target 32-bit address space just fine. In fact if you know you're doing that, then with 4 byte alignment, you only need 30 bits for a pointer, leaving 2 for other optimizations. Maybe. See also: X32.
- copsarebastards 11y ago> In fact if you know you're doing that, then with 4 byte alignment, you only need 30 bits for a pointer, leaving 2 for other optimizations. Could you explain how this works?
- MichaelGG 11y agoSure. Suppose you have an 8 byte address space. You'll need 3 bits to address them (0,1,..6,7). But, if the only objects you store must fall on a 4 byte boundary, there's only two valid addresses: 0 and 4. You can represent that with one bit, just multiply the value by 4 (0->0, 1->4). Same for any other size. Got 32 bit address space, 4GB? Well with 4 byte alignment, you shave off two bits, just multiply every pointer by 4 (left shift it by 2). With the two highest bits, you're free to encode other information for whatever little things you need to keep track of in the runtime. The JVM already does this on x64 so that instead of 8 byte pointers, they're only 4 bytes. But alignment bumps up the range from 4 to 16(?) GB - or something like that? Compresssed object pointers I think is the name if you wanna look up more.
- justincormack 11y agoWell, 32 bit might get relegated to microcontrollers soon, and other specialist stuff that doesnt run the JVM much. I cant see much mainstream 32 bit hardware being made in even 5 years.
- copsarebastards 11y agoI'm not sure where you're getting your information here. One very pervasive area I don't see going 64-bit any time soon is cable settop boxes.
- justincormack 11y agoThey dont tend to run the jvm. But they will quite likely end up running 64 bit as speeds increase and they get upgraded. Both mips and arm are pushing 64 bit quite a bit now, these type of applications dont really need 64 bit but it wont cost anything different.
- yellowapple 11y agoActually, quite a few set-top boxes do run Java and thus some form of a JVM (though perhaps not HotSpot). Of particular note, Java (specifically, BD-J) is a mandatory part of the Blu-Ray standard in order to implement things like interactive menus, disc updates (for post-release subtitle updates, for example), etc., so literally every device with Blu-Ray playback capability runs a JVM (probably HotSpot). I'd reckon most of these run 32-bit processors, and probably will for the next several years. This isn't the only case where Java is part of the standards for various set-top boxen. Java's also commonplace as middleware on cable/satellite TV boxes, and (IIRC) some "smart TVs" use Java extensively.
- anewhnaccount 11y agoActually, Java was originally designed for interactive television (http://www.oracle.com/technetwork/java/javase/overview/javahistory-index-198355.html http://www.oracle.com/technetwork/java/javase/overview/javah...).
- 11y ago
- pjmlp 11y agoNot only that, as usual there is the fallacy that there is only one JVM. Here are a few 32 bit ones for the embedded market: http://www.is2t.com/products/ http://www.is2t.com/products/ https://www.aicas.com/cms/en/JamaicaVM https://www.aicas.com/cms/en/JamaicaVM http://www.atego.com/products/atego-perc-pico/ http://www.atego.com/products/atego-perc-pico/
- Gibbon1 11y agoSo meaning, oh yes please drop support for 32bit, please!!!!