Talk:Java virtual machine
|This is the talk page for discussing improvements to the Java virtual machine article.|
|WikiProject Computing / Software||(Rated C-class)|
|WikiProject Java||(Rated C-class, Top-importance)|
- 1 Opening heading
- 2 Old discussion
- 3 Native java processors
- 4 Capitalization of "virtual machine"
- 5 Perhaps optimistically
- 6 Remove Inappropriate words
- 7 Dubious
- 8 Java
- 9 what is the latest version of JVM
- 10 How many JVM instances per core
- 11 Defining the JVM Heap
- 12 Why talk about generations?
- 13 Architecture description
- 14 OpenJDK
- 15 Java "Runtime" (??)
"Compare javaw" -> what the hell? This sentence makes no sentence, you have to read the linked article to understand what the author means. And it is not relevant to the topic. Delete this sentence (it is confusing) or elaborate. — Preceding unsigned comment added by 188.8.131.52 (talk) 21:44, 17 December 2011 (UTC)
J2SE 5 is now knows as Java SE 5. Shouldn't that be changed?
- http://java.sun.com/j2se/1.5/index.jsp and other Sun pages still clearly show J2SE so I think it should not be changed to SE just yet.Harborsparrow 15:18, 31 October 2006 (UTC)
--- ToDo. Verify "Bytecode verifier" paragraph with Virtual Machine Showdown: Stack Versus Registers: "We found that a register architecture requires an average of 47% fewer executed VM instructions, and that the resulting register code is 25% larger than the correpsonding stack code. The increased cost of fetching more VM code due to larger code size involves only 1.07% extra real machine loads per VM instruction eliminated. On a Pentium 4 machine, the register machine required 32.3% less time to execute standard benchmarks if dispatch is performed using a C switch statement. Even if more efficient threaded dispatch is available (which requires labels as first class values), the reduction in running time is still around 26.5% for the register architecture." --mj 20:55, 3 July 2006 (UTC)
Native java processors
A link to. --Javalenok 13:28, 21 December 2006 (UTC)
Capitalization of "virtual machine"
I can understand that "Virtual Machine" would be capitalized where referring to the name of a particular JVM implementation, but shouldn't it be lower case, e.g. "Java virtual machine", when referring to virtual machines that run Java in general? -- intgr 09:03, 4 April 2007 (UTC)
- I agree--why is virtual machine capitalized in Java virtual machine? As far as I know it is not a trademark or the like. I move for changing the name to "Java virtual machine" (since there is a redirect there this will need an expedient deletion for move). 184.108.40.206 (talk) 23:14, 23 March 2010 (UTC)
The phrase "perhaps optimistically", referring to the statement "We intend that this specification should sufficiently document the Java Virtual Machine to make possible compatible clean-room implementations." was deleted by Intqr as "clearly POV". As someone who HAS participated in the design/construction of a (not quite cleanroom) independent implementation of Java I can tell you that I was being polite -- the statement is an outright lie.
Would Intqr like to propose different wording? drh 02:55, 4 May 2007 (UTC)
- It is not a "lie," it reflects the intent of the specification. If you could cite a source and add an additional comment about its incompleteness then that would be great. Stating that it is "optimistic" is a judgment, e.g., a point of view, and not a very informative one at that. -- intgr 19:07, 4 May 2007 (UTC)
You can count on one hand the independent implementations of Java, and most are considered proprietary enough that not much detail is published about them. Therefore there's not much in the way of references to use. My name is on one publication about the Java implementation I've participated in, but that's ten years old, and didn't delve into this issue.
But my point is that that quotation from the Java spec is, without further qualification, very misleading. No one can build an independent "cleanroom" implementation of Java without significant reverse engineering of Sun's test suite. In many cases the test suite is in direct contradiction of the specification, and the test suite always wins if you want to be "certified". drh 23:12, 5 May 2007 (UTC)
Remove Inappropriate words
This should be posted here(it's originally posted at the starting/opening.Editors please take note here.I am not sure who wrote this,but you all should read this "this is not clear. What does 22se stand for? Why, when I click on a link to get a java virtual machine, do I go to a web site where the word "virtual" doesn't exist, but there are links for other things, with no explanations of what they are? So I come here, to find out, and there is no explanation whatsoever. Is J2SE a virtual machine? Why don't you say so? "
I am not that good on java things,so someone please add a new page on:Acrobat Viewer Bean Iane
The JVM is distributed along with a set of standard class libraries which implement the Java API (Application Programming Interface). The virtual machine and API have to be consistent with each other and are therefore bundled together as the Java Runtime Environment.
Why does the API has to be consistent with the virtual machine ? In principle the API should be completely independent from the virtual machine (that is, the API A should work with either JVM J or JVM K). --hdante (talk) 22:13, 17 January 2008 (UTC)
There are certain features of the API, such as weak references and class loading capabilities, that require extra support from the JVM. The interfaces for providing such support are not defined by any specifications, so the JVM and API are interdependent in these areas. —Preceding unsigned comment added by 220.127.116.11 (talk) 22:38, 26 February 2008 (UTC)
The jre is tied to the specific jvm implementation. The examples I give are specific to sun's vm but I believe it is the most popular and therefore the most relevant context with which to discuss this.
There are many hooks into the core of the vm. See the sun.misc.Unsafe class. Many graphics operations are optimized through accessing blocks of memory allocated with this class. It is also how reflection is implemented both through native accessors and loading class code that purposely br For assistance on the image use policy, see Wikipedia:Media copyright questions. --23:33, 16 September 2008 (UTC)
what is the latest version of JVM
I believe the JVM is the same as when it was originally released (spec-wise, implementations obviously differ). Is this true? I think it should be documented (I'm talking about the VM, *NOT* the language, to be clear) 18.104.22.168 (talk) 01:24, 7 July 2009 (UTC)
- Correction, I think that there must at least be an update for java 1.5 as the memory model changed for volatiles at the very least. Or was the underlying JVM changed for each update of java (1.0, 1.1, ... 1.7)? Any light shed would be helpful. 22.214.171.124 (talk) 23:14, 16 July 2009 (UTC)
How many JVM instances per core
A real microprocessor core (that processes machine code /assembly language) can not duplicate itself.
But a VM can be duplicated, this presents the natural conceptual question, - do concurrent Java threads or applications spawn separate instances of the JVM?
Defining the JVM Heap
The Heap is an area defined in the JVM Spec - which despite being an abstraction all implementations of the JVM have. Do we need to single out HotSpot here?NagaSrinivas (talk) 19:42, 22 October 2009 (UTC)
The Heap definition and generation: young/old/permgen is a JVM specific. Some JVMs do not have an explicit permgen and some are not copy collector. The section needs to be wholly rewritten Bestsss (talk) 07:54, 27 October 2011 (UTC)
Why talk about generations?
The idea of having generations and details of garbage collection are specific to an implementation of the JVM. Why do we need to single out Sun's HotSpot JVM when we want to talk about the JVM heap? NagaSrinivas (talk) 19:38, 22 October 2009 (UTC)
I cannot find a link or description of the actual architecture of the JVM. I don't know enough about it to add it myself . I also suggest to add a description of the memory model with regards to multi-threading (the happens before relation). 126.96.36.199 (talk) 19:11, 26 May 2012 (UTC)
The section that mentions clean room implementations of the JVM, lists Kaffee and IBM. How about OpenJDK, isn't it also a clean room JVM implementation?