Knowledge

Java applet

Source 📝

855:. Producing this signature involves specialized tools and interaction with the authority server maintainers. Once the signature is verified, and the user of the current machine also approves, a signed applet can get more rights, becoming equivalent to an ordinary standalone program. The rationale is that the author of the applet is now known and will be responsible for any deliberate damage. This approach allows applets to be used for many tasks that are otherwise not possible by client-side scripting. However, this approach requires more responsibility from the user, deciding whom he or she trusts. The related concerns include a non-responsive authority server, wrong evaluation of the signer identity when issuing certificates, and known applet publishers still doing something that the user would not approve of. Hence signed applets that appeared from Java 1.1 may actually have more security concerns. 1872: 2250: 2262: 903: 742: 572: 54: 77: 105: 65: 22: 891:) that satisfy all or more of the scope of what was possible with an applet. JavaScript could coexist with applets in the same page, assist in launching applets (for instance, in a separate frame or providing platform workarounds) and later be called from the applet code. As JavaScript gained in features and performance, the support for and use of applets declined, until their eventual removal. 815:, execute external commands on a local system or redefine classes belonging to core packages included as part of a Java release. While they can run in a standalone frame, such frame contains a header, indicating that this is an untrusted applet. Successful initial call of the forbidden method does not automatically create a security hole as an access controller checks the entire 46: 863:
Self-signed applets, which are applets signed by the developer themselves, may potentially pose a security risk; java plugins provide a warning when requesting authorization for a self-signed applet, as the function and safety of the applet is guaranteed only by the developer itself, and has not been
830:
resources but these are classified as nuisances and not as true security flaws. However, unsigned applets may be involved in combined attacks that exploit a combination of multiple severe configuration errors in other parts of the system. An unsigned applet can also be more dangerous to run directly
653:
As with any client-side scripting, security restrictions made it difficult or even impossible for some untrusted applets to achieve their desired goals. Only by editing the java.policy file in the JAVA JRE installation could one grant access to the local filesystem or system clipboard, or to network
797:
There were two applet types with very different security models: signed applets and unsigned applets. Starting with Java SE 7 Update 21 (April 2013) applets and Web-Start Apps are encouraged to be signed with a trusted certificate, and warning messages appear when running unsigned applets. Further,
512:
applets so they were quick to load when returning to a web page. Applets also improved with use: after a first applet is run, the JVM was already running and subsequent applets started quickly (the JVM will need to restart each time the browser starts afresh). JRE versions 1.5 and greater restarted
727:
lawsuit, claiming that Microsoft's attempts at illegal monopolization had harmed the Java platform. Sun demanded Microsoft distribute Sun's current, binary implementation of Java technology as part of Windows, distribute it as a recommended update for older Microsoft desktop operating systems and
842:
The unsigned applet can also try to download malware hosted on originating server. However it could only store such file into a temporary folder (as it is transient data) and has no means to complete the attack by executing it. There were attempts to use applets for spreading Phoenix and Siberia
300:
to some remote system. If needed, an applet can leave the dedicated area and run as a separate window. However, applets have very little control over web page content outside the applet's dedicated area, so they are less useful for improving the site appearance in general, unlike other types of
93: 30: 728:
stop the distribution of Microsoft's Virtual Machine (as its licensing time, agreed in the prior lawsuit, had expired). Microsoft paid $ 700 million for pending antitrust issues, another $ 900 million for patent issues and a $ 350 million royalty fee to use Sun's software in the future.
822:
As with any complex system, many security problems have been discovered and fixed since Java was first released. Some of these (like the Calendar serialization security bug) persisted for many years with nobody being aware. Others have been discovered in use by malware in the wild.
864:
independently confirmed. Such self-signed certificates are usually only used during development prior to release where third-party confirmation of security is unimportant, but most applet developers will seek third-party signing to ensure that users trust the applet's safety.
806:
Limits on unsigned applets were understood as "draconian": they have no access to the local filesystem and web access limited to the applet download site; there are also many other important restrictions. For instance, they cannot access all system properties, use their own
549:
applet had no access to the local machine and can only access the server it came from. This makes applets much safer to run than the native executables that they would replace. However, a signed applet could have full access to the machine it is running on, if the user
710:, as the point of Java was that there should be no proprietary extensions and that code should work everywhere. Microsoft agreed to pay Sun $ 20 million, and Sun agreed to grant Microsoft limited license to use Java without modifications only and for a limited time. 874:
As of 2014, self-signed and unsigned applets are no longer accepted by the commonly available Java plugins or Java Web Start. Consequently, developers who wish to deploy Java applets have no alternative but to acquire trusted certificates from commercial sources.
293:. In response to user actions, an applet can change the provided graphic content. This makes applets well-suited for demonstration, visualization, and teaching. There are online applet collections for studying various subjects, from physics to heart physiology. 531:) talks to a web server, that server normally needs to support all prior versions for users who have not kept their client software updated. In contrast, a browser loaded (and cached) the latest applet version, so there is no need to support legacy versions. 632:
for the web browser. Some organizations only allow software installed by an administrator. As a result, users were unable to view applets unless one was important enough to justify contacting the administrator to request installation of the JRE and
718:
Microsoft continued to ship its own unmodified Java virtual machine. Over the years it became extremely outdated yet still default for Internet Explorer. A later study revealed that applets of this time often contain their own classes that mirror
657:
Most users did not care about the difference between untrusted and trusted applets, so this distinction did not help much with security. The ability to run untrusted applets was eventually removed entirely to fix this, before all applets were
478:, which nearly all web browser vendors have removed support for, or do not implement, due to its age and security issues. In January 2016, Oracle announced that Java runtime environments based on JDK 9 will discontinue the browser plug-in. 214:.{{citation needed|reason=There's a claim being made with no evidence of its truth. Speed is also an ambiguous term here. They most certainly had massive start time overhead.|date=June 2021} Unlike JavaScript, Java applets had access to 3D 537:
Developers could develop and debug an applet directly simply by creating a main routine (either in the applet's class or in a separate class) and calling init() and start() on the applet, thus allowing for development in their favorite
451:
tags also support loading of the serialized applets that start in some particular (rather than initial) state. Tags also specify the message that shows up in place of the applet if the browser cannot run it due to any reason.
1568: 372:
The first implementations involved downloading an applet class by class. While classes are small files, there are often many of them, so applets got a reputation as slow-loading components. However, since
1586:"Microsoft and Sun Microsystems Enter Broad Cooperation Agreement; Settle Outstanding Litigation: Ten Year Agreement Sets New Framework for Industry Cooperation; Reduces Cost and Complexity for Customers" 670:
made considerable efforts to ensure compatibility is maintained between Java versions as they evolve, enforcing Java portability by law if required. Oracle seems to be continuing the same strategy.
316:
Pages coded in HTML may embed parameters within them that are passed to the applet. Because of this, the same applet may have a different appearance depending on the parameters that were passed.
993:"Generation of an action potential in cardiac cells using interactive java applet. Excitable media. movies excitable media Fitzhug nagumo beeler reuter luo rudy model mathematical cell modeling" 647:, never run Java applets at all. Even before the deprecation of applets on all platforms, desktop browsers phased out Java applet support concurrently with the rise of mobile operating systems. 867:
Java security problems are not fundamentally different from similar problems of any client-side scripting platform. In particular, all issues related to signed applets also apply to Microsoft
471:
tag to embed an applet would require JavaScript (that recognizes the browser and adjusts the tag), usage of additional browser-specific tags or delivering adapted output from the server side.
409:
is sometimes informally compared to be "like" a server-side applet, but it is different in its language, functions, and in each of the characteristics described here about applets.
339:
and navigation buttons. This approach, which posed major problems for accessibility and misused system resources, is no longer in use and was strongly discouraged even at the time.
1432: 402:
technology be used in place of applets. Java Web Start allowed the launching of unmodified applet code, which then ran in a separate window (not inside the invoking browser).
1565: 467:
tag for deploying in multibrowser environments, as it remained the only tag consistently supported by the most popular browsers. To support multiple browsers, using the
168:
Java applets were introduced in the first version of the Java language, which was released in 1995. Beginning in 2013, major web browsers began to phase out support for
650:
There was no standard to make the content of applets available to screen readers. Therefore, applets harmed the accessibility of a web site to users with special needs.
835:
on the server where it is hosted, but usually people who manage the web site also manage the applet, making this unreasonable. Communities may solve this problem via
490:
It was simple to make it work on FreeBSD, Linux, Microsoft Windows and macOS – that is, to make it cross-platform. Applets were supported by most
542:
development environment. All one had to do was to re-test the applet in the AppletViewer program or a web browser to ensure it conforms to security restrictions.
218:, making them well-suited for non-trivial, computation-intensive visualizations. As browsers have gained support for hardware-accelerated graphics thanks to the 831:
on the server where it is hosted because while code base allows it to talk with the server, running inside it can bypass the firewall. An applet may also try
379:
files were introduced, an applet is usually delivered as a single file that has a size similar to an image file (hundreds of kilobytes to several megabytes).
1458: 636:
If an applet requires a newer JRE than available on the system, the user running it the first time will need to wait for the large JRE download to complete.
1585: 1710:"To be fair, significantly more World Wide Web users use the Netscape product than use the Microsoft product today, though the gap appears to be closing" 1805: 1518: 706:
technology. Applets that relied on these changes or just inadvertently used them worked only within Microsoft's Java system. Sun sued for breach of
1061: 798:
starting with Java 7 Update 51 unsigned applets were blocked by default; they could be run by creating an exception in the Java Control Panel.
628:
Java applets would depend on a Java Runtime Environment (JRE), a complex and heavy-weight software package. They also normally required a
172:, the underlying technology applets used to run. with applets becoming completely unable to be run by 2015–2017. Java applets were 1436: 1017: 390:
are backwards-compatible, allowing one to write code that runs both on current and on future versions of the Java virtual machine.
494:
through the first decade of the 21st century; since then, however, most browsers have dropped applet support for security reasons.
702:, a different standard. RMI was removed because it only easily supports Java to Java communications and competes with Microsoft 2297: 1798: 2470: 2254: 1188: 1241: 2391: 1640: 703: 49:
Using applet for nontrivial animation illustrating biophysical topic (randomly moving ions pass through voltage gates)
1791: 1548: 784: 611: 1043: 1263: 1109: 682:, which shipped with Internet Explorer. Microsoft added about 50 methods and 50 fields into the classes within the 1735:"Mozilla tries to do Java as it should have been – with a WASI spec for all devices, computers, operating systems" 1170: 1087: 843:
exploits this way, but these exploits do not use Java internally and were also distributed in several other ways.
1839: 966: 751: 539: 38: 313:
editors are also known). Applets can also play media in formats that are not natively supported by the browser.
2434: 2132: 1856: 1593: 679: 593: 1333: 2422: 2202: 2112: 2097: 1152: 691: 497:
The same applet would work on "all" installed versions of Java at the same time, rather than just the latest
200: 188: 851:
A signed applet contains a signature that the browser should verify through a remotely running, independent
513:
the JVM when the browser navigates between pages, as a security measure which removed that performance gain.
2127: 1833: 589: 443:
tags can also download and install Java virtual machine (if required) or at least lead to the plugin page.
435:
was deprecated in HTML 4 but is included in HTML 5). This specifies the applet's source and location. Both
192: 1615: 1483: 699: 2266: 2082: 1962: 921: 908: 123: 161:
itself. A Java applet could appear in a frame of the web page, a new application window, a program from
2290: 2178: 1684: 644: 262: 1768: 261:. They could not be run on mobile devices, which do not support running standard Oracle JVM bytecode. 2331: 2122: 2064: 1065: 277:
The applets are used to provide interactive features to web applications that cannot be provided by
2417: 2306: 1814: 832: 227: 25:
A Java applet that was created as supplementary demonstration material for a scientific publication
2363: 2338: 2326: 2321: 2149: 827: 582: 145:
At the time of their introduction, the intended use was for the user to launch the applet from a
2475: 2188: 2054: 1911: 1886: 1385: 1360: 755: 324: 297: 97: 2283: 2074: 2003: 1307: 695: 624:
Java applets had the following disadvantages compared to other client-side web technologies:
332: 215: 34: 1734: 2049: 1942: 1901: 1891: 1828: 941: 534:
Applet naturally supported changing user state, such as figure positions on the chessboard.
502: 150: 127: 1709: 1662: 766: 8: 2368: 629: 498: 154: 68:
Applets' running speed is sufficient for making e.g. nontrivial computer games that play
1616:"What Applets Can and Cannot Do (The Java™ Tutorials > Deployment > Java Applets)" 1021: 2444: 2193: 2183: 1993: 1983: 852: 521: 517: 419: 349: 286: 238: 1496: 210:
Java applets run at very fast speeds and until 2011, they were many times faster than
375: 362: 302: 282: 242: 131: 109: 57:
Using a Java applet for computation – intensive visualization of the
2480: 2233: 2198: 2059: 2018: 667: 554: 546: 162: 296:
An applet can also be a text area only; providing, for instance, a cross-platform
2223: 1932: 1773: 1572: 926: 819:
of the calling code to be sure the call is not coming from an improper location.
387: 266: 169: 1285: 2028: 1998: 1978: 1952: 931: 399: 383: 366: 234: 219: 58: 463:
tag was not yet consistent among browsers and Sun kept recommending the older
417:
The applet would be displayed on the web page by making use of the deprecated
2464: 2218: 2023: 1988: 1947: 1410: 135: 2228: 1871: 2353: 1783: 992: 808: 720: 528: 406: 1765:(includes browser plug-ins for running Java applets in most web browsers). 1552: 100:
to the server console at the hardware level with the help of a Java applet
2412: 2358: 1047: 884: 836: 812: 491: 354: 306: 204: 173: 158: 88:
and on-demand data downloading to provide a detailed 3D map of the world.
53: 2117: 1845: 888: 816: 596: in this section. Unsourced material may be challenged and removed. 524:, making a web solution more scalable with the number of users/clients. 365:
the applet into a web page or opened a new window showing the applet's
358: 328: 211: 179:
Java applets were usually written in Java, but other languages such as
81: 45: 1685:"Java Applet Security | Java 2 Platform Security | InformIT" 1216: 335:
were standard, they were also widely used for trivial effects such as
92: 2449: 2087: 1851: 1589: 1523: 1519:"What does Sun's lawsuit against Microsoft mean for Java developers?" 1338: 967:"The home site of the 3D protein viewer (Openastexviewer) under LGPL" 724: 707: 509: 336: 290: 2261: 1459:"Oracle deprecates the Java browser plugin, prepares for its demise" 902: 571: 501:
version only. However, if an applet requires a later version of the
84:(open source) is a second generation applet that makes heavy use of 2439: 1127: 505:(JRE) the client would be forced to wait during the large download. 146: 139: 970: 76: 29: 2348: 2343: 2157: 2092: 2033: 2013: 2008: 1957: 1896: 1861: 916: 868: 723:
and other newer features in a limited way. In 2002, Sun filed an
654:
sources other than the one that served the applet to the browser.
486:
A Java applet could have any or all of the following advantages:
310: 246: 196: 1762: 1575:
Most common problems, found in the code of the reviewed applets.
762: 165:
called appletviewer, or a stand-alone tool for testing applets.
2427: 2407: 2275: 2162: 2107: 1937: 1906: 936: 826:
Some studies mention applets crashing the browser or overusing
678:
The 1997 lawsuit, was filed after Microsoft created a modified
459:
being officially a recommended tag in 2010, the support of the
398:
Many Java developers, blogs and magazines recommended that the
180: 119: 85: 104: 64: 21: 2102: 946: 475: 320: 258: 254: 237:(or platform independent), Java applets could be executed by 230:
JavaScript, the speed difference has become less noticeable.
223: 184: 69: 1171:"JPG blog: Further Updates to 'Moving to a Plugin-Free Web'" 278: 250: 1663:"What should I do when I see a security prompt from Java?" 1777: 640: 1763:
Latest version of Sun Microsystems' Java Virtual Machine
1549:"Sun's page, devoted for the lawsuits against Microsoft" 353:, preventing applets from accessing local data like the 108:
Demonstration of image processing using two dimensional
1018:"The home site of the Mandelbrot set applet under GPL" 265:
devices can run code written in Java compiled for the
898: 1062:"Next Generation in Applet Java Plug-in Technology" 690:packages. Other modifications included removal of 431:element can be used with Mozilla family browsers ( 662: 2462: 1451: 1386:"Objects, Images, and Applets in HTML documents" 1361:"Objects, Images, and Applets in HTML documents" 357:. The code of the applet was downloaded from a 149:, and for the applet to then execute within a 2291: 1799: 1769:Information about writing applets from Oracle 1044:"The home site of the chess applet under BSD" 883:Alternative technologies exist (for example, 138:, and delivered to users in the form of Java 1813: 1641:"Java Applet & Web Start – Code Signing" 1543: 1541: 1305: 412: 1774:Demonstration applets from Sun Microsystems 2298: 2284: 1806: 1792: 1780:1.4 – include source code) 1433:"Sun's position on applet and object tags" 1411:"Java Downloads for All Operating Systems" 839:or running applets on a dedicated domain. 765:. Please do not remove this message until 1538: 785:Learn how and when to remove this message 713: 673: 612:Learn how and when to remove this message 347:Most browsers executed Java applets in a 1516: 1512: 1510: 1331: 761:Relevant discussion may be found on the 342: 226:in the case of 3D graphics), as well as 103: 91: 75: 63: 52: 44: 28: 20: 1153:"JPG blog: Moving to a Plugin-Free Web" 393: 2463: 1497:"How do I get Java for Mobile device?" 2279: 1787: 1507: 1332:Srinivas, Raghavan N. (6 July 2001). 1306:McGraw, Gary; Felten, Edward (1999). 1403: 985: 735: 594:adding citations to reliable sources 565: 1308:"What Untrusted Java Code Can't Do" 1128:"JEP 289: Deprecate the Applet API" 474:The Java browser plug-in relied on 13: 2392:Lightweight User Interface Toolkit 1592:. 25 February 2010. Archived from 1486:overview on Java applet technology 1425: 14: 2492: 1756: 1517:Zukowski, John (1 October 1997). 680:Java Virtual Machine of their own 423:HTML element, or the recommended 361:, after which the browser either 319:As applets were available before 126:programming language, or another 16:Small application written in Java 2305: 2260: 2249: 2248: 1870: 901: 740: 570: 561: 2267:Computer programming portal 1727: 1702: 1677: 1655: 1633: 1608: 1578: 1559: 1489: 1477: 1378: 1353: 1325: 1299: 1278: 1256: 1234: 1209: 1181: 1163: 878: 581:needs additional citations for 557:to natively installed software. 2435:Application Foundation Classes 1972:Major third-party technologies 1334:"Java Web Start to the rescue" 1145: 1120: 1102: 1080: 1054: 1036: 1010: 959: 858: 694:capability and replacement of 663:Compatibility-related lawsuits 527:If a standalone program (like 241:for many platforms, including 1: 2423:Lightweight Java Game Library 2203:Sun Microsystems Laboratories 1286:"Design Elements – Chrome V8" 952: 553:Java applets were fast, with 481: 1264:"WebGL – Web API Interfaces" 1217:"FPC JVM – Free Pascal wiki" 1189:"Java Client Roadmap Update" 853:certificate authority server 285:and also have controls like 222:technology (or specifically 7: 2471:Java (programming language) 1266:. Mozilla Developer Network 1244:. Mozilla Developer Network 922:Curl (programming language) 909:Computer programming portal 894: 801: 767:conditions to do so are met 731: 272: 33:A Java applet that uses 3D 10: 2497: 2179:Apache Software Foundation 1413:. Java.com. 14 August 2012 1088:"appletviewer — Java SE 8" 2400: 2379: 2332:Java AWT Native Interface 2314: 2246: 2211: 2171: 2148: 2141: 2073: 2065:Free Java implementations 2042: 1971: 1920: 1879: 1868: 1821: 846: 413:Embedding into a web page 207:) could be used as well. 37:to visualize 3D files in 2418:Java Bindings for OpenGL 1815:Java (software platform) 503:Java Runtime Environment 281:alone. They can capture 41:downloaded from a server 2364:Pluggable look and feel 2339:Standard Widget Toolkit 2327:Abstract Window Toolkit 2322:Java Foundation Classes 516:It moved work from the 233:Since Java bytecode is 2189:Java Community Process 2055:Java Community Process 1571:23 August 2011 at the 1110:"Java 9 Release Notes" 714:2002: Sun vs Microsoft 674:1997: Sun vs Microsoft 298:command-line interface 112: 101: 89: 73: 61: 50: 42: 26: 1921:Platform technologies 696:Java Native Interface 343:Technical information 228:just-in-time compiled 216:hardware acceleration 107: 95: 79: 67: 56: 48: 35:hardware acceleration 32: 24: 2050:Java version history 1902:Java virtual machine 1892:Java Development Kit 1050:on 7 September 2009. 942:Rich web application 590:improve this article 394:Similar technologies 305:(while applets like 151:Java virtual machine 128:programming language 2369:synth Look and Feel 1880:Oracle technologies 1596:on 25 February 2010 1221:Wiki.freepascal.org 997:Thevirtualheart.org 754:of this section is 684:java.awt, java.lang 639:Mobile browsers on 555:similar performance 176:by Java 9 in 2017. 2445:QuickTime for Java 2194:Oracle Corporation 2184:Eclipse Foundation 1555:on 19 August 2009. 837:source code review 508:Most web browsers 303:browser extensions 157:separate from the 120:small applications 113: 102: 90: 74: 62: 51: 43: 27: 2458: 2457: 2273: 2272: 2242: 2241: 1465:. 28 January 2016 795: 794: 787: 622: 621: 614: 455:However, despite 243:Microsoft Windows 110:Fourier transform 2488: 2300: 2293: 2286: 2277: 2276: 2265: 2264: 2252: 2251: 2234:Patrick Naughton 2199:Sun Microsystems 2146: 2145: 2060:Sun Microsystems 1953:Web Start (JNLP) 1874: 1808: 1801: 1794: 1785: 1784: 1750: 1749: 1747: 1745: 1731: 1725: 1724: 1722: 1720: 1706: 1700: 1699: 1697: 1695: 1681: 1675: 1674: 1672: 1670: 1659: 1653: 1652: 1650: 1648: 1637: 1631: 1630: 1628: 1626: 1612: 1606: 1605: 1603: 1601: 1582: 1576: 1566:Kenai.com (2011) 1563: 1557: 1556: 1551:. Archived from 1545: 1536: 1535: 1533: 1531: 1514: 1505: 1504: 1493: 1487: 1481: 1475: 1474: 1472: 1470: 1455: 1449: 1448: 1446: 1444: 1435:. Archived from 1429: 1423: 1422: 1420: 1418: 1407: 1401: 1400: 1398: 1396: 1382: 1376: 1375: 1373: 1371: 1357: 1351: 1350: 1348: 1346: 1329: 1323: 1322: 1320: 1318: 1312:Securingjava.com 1303: 1297: 1296: 1294: 1292: 1282: 1276: 1275: 1273: 1271: 1260: 1254: 1253: 1251: 1249: 1238: 1232: 1231: 1229: 1227: 1213: 1207: 1206: 1204: 1202: 1193: 1185: 1179: 1178: 1175:Blogs.oracle.com 1167: 1161: 1160: 1157:Blogs.oracle.com 1149: 1143: 1142: 1140: 1138: 1132:Openjdk.java.net 1124: 1118: 1117: 1106: 1100: 1099: 1097: 1095: 1084: 1078: 1077: 1075: 1073: 1064:. Archived from 1058: 1052: 1051: 1046:. Archived from 1040: 1034: 1033: 1031: 1029: 1020:. Archived from 1014: 1008: 1007: 1005: 1003: 989: 983: 982: 980: 978: 973:on 1 August 2009 969:. Archived from 963: 911: 906: 905: 790: 783: 779: 776: 770: 744: 743: 736: 617: 610: 606: 603: 597: 574: 566: 470: 466: 462: 458: 450: 446: 442: 438: 434: 430: 426: 422: 384:system libraries 378: 2496: 2495: 2491: 2490: 2489: 2487: 2486: 2485: 2461: 2460: 2459: 2454: 2396: 2380:Deprecated APIs 2375: 2310: 2304: 2274: 2269: 2259: 2238: 2224:Arthur van Hoff 2207: 2167: 2137: 2069: 2038: 1967: 1916: 1875: 1866: 1817: 1812: 1759: 1754: 1753: 1743: 1741: 1739:Theregister.com 1733: 1732: 1728: 1718: 1716: 1708: 1707: 1703: 1693: 1691: 1683: 1682: 1678: 1668: 1666: 1661: 1660: 1656: 1646: 1644: 1639: 1638: 1634: 1624: 1622: 1620:Docs.oracle.com 1614: 1613: 1609: 1599: 1597: 1584: 1583: 1579: 1573:Wayback Machine 1564: 1560: 1547: 1546: 1539: 1529: 1527: 1515: 1508: 1503:. 30 July 2014. 1495: 1494: 1490: 1484:Oracle official 1482: 1478: 1468: 1466: 1457: 1456: 1452: 1442: 1440: 1431: 1430: 1426: 1416: 1414: 1409: 1408: 1404: 1394: 1392: 1384: 1383: 1379: 1369: 1367: 1359: 1358: 1354: 1344: 1342: 1330: 1326: 1316: 1314: 1304: 1300: 1290: 1288: 1284: 1283: 1279: 1269: 1267: 1262: 1261: 1257: 1247: 1245: 1242:"canvas – HTML" 1240: 1239: 1235: 1225: 1223: 1215: 1214: 1210: 1200: 1198: 1191: 1187: 1186: 1182: 1169: 1168: 1164: 1151: 1150: 1146: 1136: 1134: 1126: 1125: 1121: 1108: 1107: 1103: 1093: 1091: 1086: 1085: 1081: 1071: 1069: 1068:on 4 April 2009 1060: 1059: 1055: 1042: 1041: 1037: 1027: 1025: 1016: 1015: 1011: 1001: 999: 991: 990: 986: 976: 974: 965: 964: 960: 955: 927:Jakarta Servlet 907: 900: 897: 881: 861: 849: 804: 791: 780: 774: 771: 760: 745: 741: 734: 716: 676: 665: 618: 607: 601: 598: 587: 575: 564: 484: 468: 464: 460: 456: 448: 444: 440: 436: 432: 428: 424: 418: 415: 396: 374: 345: 275: 267:Android Runtime 122:written in the 17: 12: 11: 5: 2494: 2484: 2483: 2478: 2473: 2456: 2455: 2453: 2452: 2447: 2442: 2437: 2432: 2431: 2430: 2420: 2415: 2410: 2404: 2402: 2398: 2397: 2395: 2394: 2389: 2383: 2381: 2377: 2376: 2374: 2373: 2372: 2371: 2366: 2361: 2351: 2346: 2341: 2336: 2335: 2334: 2324: 2318: 2316: 2312: 2311: 2303: 2302: 2295: 2288: 2280: 2271: 2270: 2247: 2244: 2243: 2240: 2239: 2237: 2236: 2231: 2226: 2221: 2215: 2213: 2209: 2208: 2206: 2205: 2196: 2191: 2186: 2181: 2175: 2173: 2169: 2168: 2166: 2165: 2160: 2154: 2152: 2143: 2139: 2138: 2136: 2135: 2130: 2125: 2120: 2115: 2110: 2105: 2100: 2095: 2090: 2085: 2079: 2077: 2071: 2070: 2068: 2067: 2062: 2057: 2052: 2046: 2044: 2040: 2039: 2037: 2036: 2031: 2026: 2021: 2016: 2011: 2006: 2001: 1996: 1991: 1986: 1981: 1975: 1973: 1969: 1968: 1966: 1965: 1960: 1955: 1950: 1945: 1940: 1935: 1930: 1924: 1922: 1918: 1917: 1915: 1914: 1909: 1904: 1899: 1894: 1889: 1883: 1881: 1877: 1876: 1869: 1867: 1865: 1864: 1859: 1854: 1849: 1843: 1837: 1831: 1825: 1823: 1819: 1818: 1811: 1810: 1803: 1796: 1788: 1782: 1781: 1771: 1766: 1758: 1757:External links 1755: 1752: 1751: 1726: 1701: 1676: 1654: 1632: 1607: 1577: 1558: 1537: 1506: 1488: 1476: 1450: 1439:on 9 June 2010 1424: 1402: 1377: 1352: 1324: 1298: 1277: 1255: 1233: 1208: 1180: 1162: 1144: 1119: 1101: 1079: 1053: 1035: 1009: 984: 957: 956: 954: 951: 950: 949: 944: 939: 934: 932:Java Web Start 929: 924: 919: 913: 912: 896: 893: 880: 877: 860: 857: 848: 845: 803: 800: 793: 792: 748: 746: 739: 733: 730: 715: 712: 675: 672: 664: 661: 660: 659: 655: 651: 648: 637: 634: 620: 619: 578: 576: 569: 563: 560: 559: 558: 551: 543: 535: 532: 525: 514: 506: 495: 483: 480: 414: 411: 400:Java Web Start 395: 392: 367:user interface 344: 341: 274: 271: 235:cross-platform 59:Mandelbrot set 15: 9: 6: 4: 3: 2: 2493: 2482: 2479: 2477: 2476:Java platform 2474: 2472: 2469: 2468: 2466: 2451: 2448: 2446: 2443: 2441: 2438: 2436: 2433: 2429: 2426: 2425: 2424: 2421: 2419: 2416: 2414: 2411: 2409: 2406: 2405: 2403: 2399: 2393: 2390: 2388: 2385: 2384: 2382: 2378: 2370: 2367: 2365: 2362: 2360: 2357: 2356: 2355: 2352: 2350: 2347: 2345: 2342: 2340: 2337: 2333: 2330: 2329: 2328: 2325: 2323: 2320: 2319: 2317: 2313: 2308: 2301: 2296: 2294: 2289: 2287: 2282: 2281: 2278: 2268: 2263: 2257: 2256: 2245: 2235: 2232: 2230: 2227: 2225: 2222: 2220: 2219:James Gosling 2217: 2216: 2214: 2210: 2204: 2200: 2197: 2195: 2192: 2190: 2187: 2185: 2182: 2180: 2177: 2176: 2174: 2172:Organizations 2170: 2164: 2161: 2159: 2156: 2155: 2153: 2151: 2147: 2144: 2140: 2134: 2131: 2129: 2126: 2124: 2121: 2119: 2116: 2114: 2111: 2109: 2106: 2104: 2101: 2099: 2096: 2094: 2091: 2089: 2086: 2084: 2081: 2080: 2078: 2076: 2075:JVM languages 2072: 2066: 2063: 2061: 2058: 2056: 2053: 2051: 2048: 2047: 2045: 2041: 2035: 2032: 2030: 2027: 2025: 2022: 2020: 2017: 2015: 2012: 2010: 2007: 2005: 2002: 2000: 1997: 1995: 1992: 1990: 1989:GNU Classpath 1987: 1985: 1982: 1980: 1977: 1976: 1974: 1970: 1964: 1961: 1959: 1956: 1954: 1951: 1949: 1946: 1944: 1941: 1939: 1936: 1934: 1931: 1929: 1926: 1925: 1923: 1919: 1913: 1910: 1908: 1905: 1903: 1900: 1898: 1895: 1893: 1890: 1888: 1885: 1884: 1882: 1878: 1873: 1863: 1860: 1858: 1855: 1853: 1850: 1847: 1844: 1841: 1838: 1835: 1832: 1830: 1827: 1826: 1824: 1820: 1816: 1809: 1804: 1802: 1797: 1795: 1790: 1789: 1786: 1779: 1775: 1772: 1770: 1767: 1764: 1761: 1760: 1740: 1736: 1730: 1715: 1711: 1705: 1690: 1686: 1680: 1664: 1658: 1642: 1636: 1621: 1617: 1611: 1595: 1591: 1587: 1581: 1574: 1570: 1567: 1562: 1554: 1550: 1544: 1542: 1526: 1525: 1520: 1513: 1511: 1502: 1498: 1492: 1485: 1480: 1464: 1460: 1454: 1438: 1434: 1428: 1412: 1406: 1391: 1387: 1381: 1366: 1362: 1356: 1341: 1340: 1335: 1328: 1313: 1309: 1302: 1287: 1281: 1265: 1259: 1243: 1237: 1222: 1218: 1212: 1197: 1190: 1184: 1176: 1172: 1166: 1158: 1154: 1148: 1133: 1129: 1123: 1115: 1111: 1105: 1089: 1083: 1067: 1063: 1057: 1049: 1045: 1039: 1024:on 8 May 2013 1023: 1019: 1013: 998: 994: 988: 972: 968: 962: 958: 948: 945: 943: 940: 938: 935: 933: 930: 928: 925: 923: 920: 918: 915: 914: 910: 904: 899: 892: 890: 886: 876: 872: 870: 865: 856: 854: 844: 840: 838: 834: 829: 824: 820: 818: 814: 810: 799: 789: 786: 778: 775:November 2021 768: 764: 758: 757: 753: 747: 738: 737: 729: 726: 722: 711: 709: 705: 701: 697: 693: 689: 685: 681: 671: 669: 656: 652: 649: 646: 642: 638: 635: 631: 627: 626: 625: 616: 613: 605: 595: 591: 585: 584: 579:This section 577: 573: 568: 567: 562:Disadvantages 556: 552: 548: 544: 541: 536: 533: 530: 526: 523: 519: 515: 511: 507: 504: 500: 496: 493: 489: 488: 487: 479: 477: 472: 453: 427:element. The 421: 410: 408: 403: 401: 391: 389: 385: 380: 377: 370: 368: 364: 360: 356: 352: 351: 340: 338: 334: 330: 326: 322: 317: 314: 312: 308: 304: 299: 294: 292: 288: 284: 280: 270: 268: 264: 260: 256: 252: 248: 244: 240: 236: 231: 229: 225: 221: 217: 213: 208: 206: 202: 198: 194: 190: 186: 182: 177: 175: 171: 166: 164: 160: 156: 152: 148: 143: 141: 137: 136:Java bytecode 133: 129: 125: 121: 117: 111: 106: 99: 94: 87: 83: 78: 71: 66: 60: 55: 47: 40: 36: 31: 23: 19: 2386: 2253: 1927: 1848:(Enterprise) 1742:. Retrieved 1738: 1729: 1717:. Retrieved 1713: 1704: 1692:. Retrieved 1689:Informit.com 1688: 1679: 1667:. Retrieved 1657: 1645:. Retrieved 1635: 1623:. Retrieved 1619: 1610: 1598:. Retrieved 1594:the original 1580: 1561: 1553:the original 1528:. Retrieved 1522: 1500: 1491: 1479: 1467:. Retrieved 1463:Ars Technica 1462: 1453: 1441:. Retrieved 1437:the original 1427: 1415:. Retrieved 1405: 1393:. Retrieved 1389: 1380: 1368:. Retrieved 1364: 1355: 1343:. Retrieved 1337: 1327: 1315:. Retrieved 1311: 1301: 1289:. Retrieved 1280: 1268:. Retrieved 1258: 1246:. Retrieved 1236: 1224:. Retrieved 1220: 1211: 1199:. Retrieved 1195: 1183: 1174: 1165: 1156: 1147: 1135:. Retrieved 1131: 1122: 1113: 1104: 1092:. Retrieved 1082: 1072:25 September 1070:. Retrieved 1066:the original 1056: 1048:the original 1038: 1026:. Retrieved 1022:the original 1012: 1000:. Retrieved 996: 987: 977:21 September 975:. Retrieved 971:the original 961: 882: 879:Alternatives 873: 871:components. 866: 862: 850: 841: 825: 821: 809:class loader 805: 796: 781: 772: 750: 717: 698:from JNI to 687: 683: 677: 666: 623: 608: 599: 588:Please help 583:verification 580: 529:Google Earth 492:web browsers 485: 473: 454: 416: 407:Java Servlet 404: 397: 381: 371: 348: 346: 318: 315: 307:news tickers 295: 276: 232: 209: 178: 167: 144: 116:Java applets 115: 114: 18: 2413:Java OpenGL 2401:Open-source 2387:Java applet 2359:SwingWorker 2150:Conferences 1857:Android SDK 1669:28 February 1647:28 February 1317:26 December 885:WebAssembly 859:Self-signed 833:DoS attacks 813:native code 602:August 2015 355:file system 291:check boxes 283:mouse input 205:SmartEiffel 159:web browser 153:(JVM) in a 39:.pdb format 2465:Categories 2229:Urs Hölzle 2118:Processing 1846:Jakarta EE 1842:(Standard) 1443:14 January 1196:Oracle.com 1114:Oracle.com 1094:5 December 953:References 889:JavaScript 752:neutrality 482:Advantages 359:web server 331:interface 329:JavaScript 212:JavaScript 174:deprecated 82:World Wind 2450:swingLabs 2142:Community 2088:BeanShell 2004:Hibernate 1979:Blackdown 1912:Maxine VM 1852:Java Card 1822:Platforms 1744:6 October 1714:Wiley.com 1590:Microsoft 1524:JavaWorld 1339:JavaWorld 1291:15 August 1270:15 August 1248:15 August 763:talk page 725:antitrust 708:trademark 547:untrusted 337:mouseover 323:, modern 2440:Qt Jambi 2255:Category 1933:Servlets 1719:17 March 1694:22 March 1665:. Oracle 1643:. Oracle 1625:22 March 1600:22 March 1569:Archived 1501:Java.com 1469:15 April 1395:22 March 1370:22 March 1226:22 March 1201:22 March 1137:22 March 1090:. Oracle 1002:22 March 895:See also 802:Unsigned 756:disputed 732:Security 658:removed. 633:plug-in. 388:runtimes 363:embedded 273:Overview 147:web page 140:bytecode 132:compiles 2481:Web 1.0 2349:Java 3D 2344:Java 2D 2309:desktop 2258:  2158:JavaOne 2133:Oxygene 2093:Clojure 2043:History 2034:WildFly 2029:TopLink 2014:Jazelle 2009:IcedTea 1999:Harmony 1984:Eclipse 1963:Modules 1958:Pack200 1938:MIDlets 1928:Applets 1897:OpenJDK 1862:GraalVM 1840:Java SE 1836:(Micro) 1834:Java ME 1530:13 July 1417:14 June 1345:13 July 1028:29 July 917:ActiveX 869:ActiveX 811:, call 688:java.io 645:Android 630:plug-in 550:agreed. 540:Java SE 520:to the 499:plug-in 350:sandbox 311:WYSIWYG 287:buttons 263:Android 247:FreeBSD 239:clients 197:NetRexx 155:process 2428:libGDX 2408:JavaFX 2212:People 2163:Devoxx 2113:Kotlin 2108:Jython 2098:Groovy 2024:Struts 2019:Spring 1907:JavaFX 1887:Squawk 1390:W3.org 1365:W3.org 937:JavaFX 847:Signed 686:, and 522:client 518:server 510:cached 469:object 465:applet 461:object 457:object 449:object 445:applet 437:object 425:object 420:applet 220:canvas 201:Eiffel 189:Pascal 181:Jython 98:access 86:OpenGL 2354:Swing 2128:Scala 2123:Rhino 2103:JRuby 1192:(PDF) 947:WebGL 817:stack 721:Swing 476:NPAPI 441:embed 433:embed 429:embed 382:Java 321:HTML5 259:Linux 255:macOS 224:WebGL 203:(via 199:, or 193:Scala 185:JRuby 170:NPAPI 130:that 80:NASA 70:chess 2315:APIs 2307:Java 2083:Java 1746:2020 1721:2017 1696:2022 1671:2014 1649:2014 1627:2022 1602:2022 1532:2020 1471:2016 1445:2010 1419:2013 1397:2022 1372:2022 1347:2020 1319:2021 1293:2015 1272:2015 1250:2015 1228:2022 1203:2022 1139:2022 1096:2023 1074:2009 1030:2013 1004:2022 979:2009 887:and 749:The 704:DCOM 447:and 439:and 386:and 376:.jar 327:and 279:HTML 257:and 251:Unix 124:Java 118:are 96:Web 1994:GWT 1948:JSF 1943:JSP 1829:JVM 1778:JDK 828:CPU 700:RNI 692:RMI 668:Sun 643:or 641:iOS 592:by 545:An 333:DOM 325:CSS 309:or 289:or 163:Sun 134:to 2467:: 2201:, 1737:. 1712:. 1687:. 1618:. 1588:. 1540:^ 1521:. 1509:^ 1499:. 1461:. 1388:. 1363:. 1336:. 1310:. 1219:. 1194:. 1173:. 1155:. 1130:. 1112:. 995:. 405:A 369:. 269:. 253:, 249:, 245:, 195:, 191:, 187:, 183:, 142:. 2299:e 2292:t 2285:v 1807:e 1800:t 1793:v 1776:( 1748:. 1723:. 1698:. 1673:. 1651:. 1629:. 1604:. 1534:. 1473:. 1447:. 1421:. 1399:. 1374:. 1349:. 1321:. 1295:. 1274:. 1252:. 1230:. 1205:. 1177:. 1159:. 1141:. 1116:. 1098:. 1076:. 1032:. 1006:. 981:. 788:) 782:( 777:) 773:( 769:. 759:. 615:) 609:( 604:) 600:( 586:. 72:.

Index



hardware acceleration
.pdb format


Mandelbrot set

chess

World Wind
OpenGL

access

Fourier transform
small applications
Java
programming language
compiles
Java bytecode
bytecode
web page
Java virtual machine
process
web browser
Sun
NPAPI
deprecated
Jython

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.