Java virtual machine: Difference between revisions

Content deleted Content added
Tkmcinto (talk | contribs)
Virtual machine architecture: Rewrite sentence for comprehensibility.
m Reverted 1 edit by 2405:9800:B860:9CC2:5141:1018:8F23:6F79 (talk) to last revision by Xose.vazquez
 
(46 intermediate revisions by 8 users not shown)
Line 6:
| bits = [[32-bit computing|32-bit]]
| introduced = 1994
| version = {{wikidata|property|preferred|references|edit|Q251|P348|P548=Q2804309}}
| version = 20.0.1<ref name="latest-stable-JDK20">{{cite web|author=yan|date=2023-06-24|url=https://www.oracle.com/java/technologies/javase/20u-relnotes.html|title=JDK 20 Release Notes |website=[[Oracle Corporation]]|access-date=2023-06-24|archive-date=2021-07-09|archive-url=https://web.archive.org/web/20210709182235/https://hg.openjdk.java.net/jdk-updates/jdk15u/rev/1055f2102e6e|url-status=live}}</ref>
| design =
| type = [[Stack machine|Stack]] and [[Load–store architecture|register–register]]
Line 30:
{{Blockquote|[[Sun Microsystems|We]] intend that this specification should sufficiently document the Java Virtual Machine to make possible compatible clean-room implementations. Oracle provides tests that verify the proper operation of implementations of the Java Virtual Machine.}}
 
The most commonly used Java virtual machine is Oracle's [[HotSpot (virtual machine)|HotSpot]].
One of Oracle's JVMs is named HotSpot; the other, inherited from [[BEA Systems]], is [[JRockit]]. Oracle owns the Java trademark and may allow its use to certify implementation suites as fully compatible with Oracle's specification.
 
One of Oracle's JVMs is named HotSpot; the other, inherited from [[BEA Systems]], is [[JRockit]]. Oracle owns the Java trademark and may allow its use to certify implementation suites as fully compatible with Oracle's specification.
 
===Garbage collectors===
{{main|Garbage collection (computer science)#Java}}
{| class="wikitable"
|+ Java versions and their Garbage Collectors
|-
! Version !! Default GC !! Available GCs
|-
| 6u14 || rowspan="2" | Serial /<br />Parallel ([[Multiprocessor system architecture|MP]]) || Serial, Parallel, [[Concurrent mark sweep collector|CMS]], ''[[Garbage-first collector|G1]] (E)''
|-
| 7u4 - 8 || rowspan="2" | Serial, Parallel, CMS, G1
|-
| 9 - 10 || rowspan="9" | G1
|-
| 11 || Serial, Parallel, CMS, G1, ''Epsilon (E)'', ''ZGC (E)''
|-
| 12 - 13 || Serial, Parallel, CMS, G1, ''Epsilon (E)'', ''ZGC (E)'', ''Shenandoah (E)''
|-
| 14 || Serial, Parallel, G1, ''Epsilon (E)'', ''ZGC (E)'', ''Shenandoah (E)''
|-
| 15 - 20 || Serial, Parallel, G1, ''Epsilon (E)'', ZGC, Shenandoah
|-
| 21 - 22 || Serial, Parallel, G1, ''Epsilon (E)'', ZGC, Shenandoah, ''GenZGC (E)''
|-
| 23 || Serial, Parallel, G1, ''Epsilon (E)'', ZGC, Shenandoah, GenZGC (default ZGC)
|-
| 24 || Serial, Parallel, G1, ''Epsilon (E)'', Shenandoah, GenZGC, ''GenShen (E)''
|-
| 25 || Serial, Parallel, G1, ''Epsilon (E)'', Shenandoah, GenZGC, GenShen
|-
| colspan="3" | <small> ''(E)'' = ''experimental''</small>
|}
 
===Class loader===