3 ms·
Disagree with both of you. JVM was always a misnomer, it just stuck because that's just the name they stuck with. Putting "virtual machine" in its name in defia
by dataflow 2y ago
Disagree with both of you. JVM was always a misnomer, it just stuck because that's just the name they stuck with. Putting "virtual machine" in its name in defiance of the meaning doesn't suddenly make it a virtual machine any more than calling your dog "my son" makes your dog your son. And virtual machines have used software virtialization for the longest time, they aren't always hardware based.
Really, a virtual machine is literally what it says on the tin: something that isn't a physical computer (machine), but presents itself as one. You know, with a virtual CPU or a virtual disk or a virtual keyboard etc., whatever a computer would have. If it doesn't present itself as a machine, it's not a virtual machine.
Calling JVM a virtual machine just because it interprets some bytecode the same way a machine does is like calling me a virtual doctor just because I read text the same way a doctor does.
- kragen 2y agoThe JVM is a VM in that sense. It isn't a physical computer, but presents itself as one. It's true that that computer doesn't have a disk or a keyboard, but neither do the vast majority of physical computers, including, specifically, the set-top boxes the JVM was originally designed to run on.
- dataflow 2y ago> The JVM is a VM in that sense. It isn't a physical computer, but presents itself as one. No, it isn't and doesn't. What in the world does it have that makes you think it pretends to be a computer? A bunch of pretend registers and a memory limit?
- kragen 2y agoIt doesn't have registers, pretend or otherwise, or a memory limit. It sounds like you aren't very familiar with the JVM or computers in general. On the JVM in particular, I suggest reading https://docs.oracle.com/javase/specs/jvms/se23/html/index.html https://docs.oracle.com/javase/specs/jvms/se23/html/index.ht....
- dataflow 2y agoWhat are you talking about? It literally has a program counter register, it's right there in you own link? https://docs.oracle.com/javase/specs/jvms/se23/html/jvms-2.html#jvms-2.5.1 https://docs.oracle.com/javase/specs/jvms/se23/html/jvms-2.h... I just mixed it up with Dalvik having multiple registers, but that makes it even worse. At least normal machines have more registers. And literally here: The following section provides general guidelines for tuning VM heap sizes: The heap sizes should be set to values such that the maximum amount of memory used by the VM does not exceed the amount of available physical RAM. https://docs.oracle.com/cd/E21764_01/web.1111/e13814/jvm_tuning.htm#PERFM150 https://docs.oracle.com/cd/E21764_01/web.1111/e13814/jvm_tun... Maybe instead of telling me I'm clueless, tell me how you're right? What do you see in it that is actually virtializing a computer in your mind? Because I'm pretty sure that if someone sold you a VM service and it turned out to be just them running your programs under the JVM, you'd be kind of mad.
- rramadass 2y agoThe JVM is what is called a "Process Virtual Machine" - https://en.wikipedia.org/wiki/Virtual_machine#Process_virtual_machines https://en.wikipedia.org/wiki/Virtual_machine#Process_virtua...
- dataflow 2y ago[flagged]