1743:
2121:
2133:
1487:
1145:
Due to historic choices made during the file format development, the number of constants in the constant pool table is not actually the same as the constant pool count which precedes the table. First, the table is indexed starting at 1 (rather than 0), but the count should actually be interpreted as
276:
for 4 character hex words that fit after "CAFE" (it seemed to be a good theme) I hit on BABE and decided to use it. At that time, it didn't seem terribly important or destined to go anywhere but the trash-can of history. So CAFEBABE became the class file format, and CAFEDEAD was the persistent object
336:
Some of these fundamental types are then re-interpreted as higher-level values (such as strings or floating-point numbers), depending on context. There is no enforcement of word alignment, and so no padding bytes are ever used. The overall layout of the class file is as shown in the following table.
1141:
The constant pool table is where most of the literal constant values are stored. This includes values such as numbers of all sorts, strings, identifier names, references to classes and methods, and type descriptors. All indexes, or references, to specific constants in the constant pool table are
290:
Because the class file contains variable-sized items and does not also contain embedded file offsets (or pointers), it is typically parsed sequentially, from the first byte toward the end. At the lowest level the file format is described in terms of a few fundamental data types:
1185:
UTF-8 (Unicode) string: a character string prefixed by a 16-bit number (type u2) indicating the number of bytes in the encoded string which immediately follows (which may be different than the number of characters). Note that the encoding used is not actually
267:
died, they even put up a little
Buddhist-esque shrine. When we used to go there, we referred to the place as Cafe Dead. Somewhere along the line it was noticed that this was a HEX number. I was re-vamping some file format code and needed a couple of
1443:
Class names in Java, when fully qualified, are traditionally dot-separated, such as "java.lang.Object". However within the low-level Class reference constants, an internal form appears which uses slashes instead, such as "java/lang/Object".
332:: an array of variable-length items of some type. The number of items in the table is identified by a preceding count number (the count is a u2), but the size in bytes of the table can only be determined by examining each of its items.
1402:
instruction to specify a bootstrap method, the dynamic invocation name, the argument and return types of the call, and optionally, a sequence of additional constants called static arguments to the bootstrap method.
1146:
the maximum index plus one. Additionally, two types of constants (longs and doubles) take up two consecutive slots in the table, although the second such slot is a phantom index that is never directly used.
1440:
There are only two integral constant types, integer and long. Other integral types appearing in the high-level language, such as boolean, byte, and short must be represented as an integer constant.
526:
constant pool table, an array of variable-sized constant pool entries, containing items such as literal numbers, strings, and references to classes or methods. Indexed starting at 1, containing (
1467:
rather than being directly encoded using UTF-8. In this case each of the two surrogates is encoded separately in UTF-8. For example, U+1D11E is encoded as the 6-byte sequence
1342:
Name and type descriptor: two indexes to UTF-8 strings within the constant pool, the first representing a name (identifier) and the second a specially encoded type descriptor.
504:
constant pool count, number of entries in the following constant pool table. This count is at least one greater than the actual number of entries; see following discussion.
1447:
The
Unicode strings, despite the moniker "UTF-8 string", are not actually encoded according to the Unicode standard, although it is similar. There are two differences (see
1676:
1328:
Interface method reference: two indexes within the constant pool, the first pointing to a Class reference, the second to a Name and Type descriptor. (big-endian)
48:
application/java-vm, application/x-httpd-java, application/x-java, application/java, application/java-byte-code, application/x-java-class, application/x-java-vm
1356:
Method handle: this structure is used to represent a method handle and consists of one byte of type descriptor, followed by an index within the constant pool.
1153:. The number of bytes following this tag and their interpretation are then dependent upon the tag value. The valid constant types and their tag values are:
110:
can also be used to create class files). If a source file has more than one class, each class is compiled into a separate class file. Thus, it is called a
1314:
Method reference: two indexes within the constant pool, the first pointing to a Class reference, the second to a Name and Type descriptor. (big-endian)
1300:
Field reference: two indexes within the constant pool, the first pointing to a Class reference, the second to a Name and Type descriptor. (big-endian)
195:
1669:
2125:
1662:
1630:
263:
used to perform there before they made it big. It was a pretty funky place that was definitely a
Grateful Dead Kinda Place. When
973:
doesn't support multiple variable length arrays within a struct, the code below won't compile and only serves as a demonstration.
277:
format. But the persistent object facility went away, and along with it went the use of CAFEDEAD - it was eventually replaced by
1710:
2156:
2003:
1142:
given by 16-bit (type u2) numbers, where index value 1 refers to the first constant in the table (index value 0 is invalid).
2073:
1983:
1968:
278:
209:
187:
1557:
1998:
1727:
1704:
31:
2137:
1953:
1833:
1492:
673:
interface table: a variable-length array of constant pool indexes describing the interfaces implemented by this class
92:
259:"We used to go to lunch at a place called St Michael's Alley. According to local legend, in the deep dark past, the
121:, and a class file compiled on one platform will execute on a JVM of another platform. This makes Java applications
2049:
1543:
1370:
Method type: this structure is used to represent a method type, and consists of an index within the constant pool.
1268:
Class reference: an index within the constant pool to a UTF-8 string containing the fully qualified class name (in
368:
269:
244:
155:
134:
1993:
1935:
1240:
Long: a signed 64-bit two's complement number in big-endian format (takes two slots in the constant pool table)
1685:
1460:
1384:
Dynamic: this is used to specify a dynamically computed constant produced by invocation of a bootstrap method.
970:
272:: one for the persistent object file, and one for classes. I used CAFEDEAD for the object file format, and in
1254:
Double: a 64-bit double-precision IEEE 754 floating-point number (takes two slots in the constant pool table)
2020:
1647:, which includes the class file format. Both the first and second editions of the book are freely available
1598:
2161:
2059:
1925:
1782:
1757:
940:
838:
748:
1451:
for a complete discussion). The first is that the code point U+0000 is encoded as the two-byte sequence
1945:
1874:
1620:
482:
252:
1920:
1813:
1772:
1762:
1699:
1644:
118:
84:
1205:
103:
1616:
2064:
2054:
1864:
1854:
232:
76:
1626:
299:
2104:
2069:
1930:
1889:
56:
1742:
2094:
1803:
1899:
1869:
1849:
1823:
1286:
String reference: an index within the constant pool to a UTF-8 string (big-endian too)
1149:
The type of each item (constant) in the constant pool is identified by an initial byte
122:
2150:
2099:
2089:
1894:
1859:
1818:
1500:
260:
248:
107:
88:
80:
69:
1572:"[JDK-8148785] Update class file version to 53 for JDK-9 - Java Bug System"
1571:
1531:
264:
17:
1463:
at U+10000 and above) are encoded using a surrogate-pair construction similar to
2132:
1798:
1486:
236:
95:
1988:
1716:
1482:
313:
43:
1459:. The second difference is that supplementary characters (those outside the
1958:
1722:
1431:
Package: this is used to identify a package exported or opened by a module.
1190:, but involves a slight modification of the Unicode standard encoding form.
219:: Any attributes of the class (for example the name of the sourcefile, etc.)
1654:
1519:
1223:
1648:
371:(CAFEBABE) used to identify file as conforming to the class file format
2028:
1963:
1904:
1884:
1879:
1828:
1767:
1732:
941:
https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7
839:
https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.6
749:
https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.5
2033:
1978:
1808:
1777:
1464:
323:
309:
885:
attribute count, number of entries in the following attribute table
645:
interface count, number of entries in the following interface table
1973:
1448:
1187:
273:
229:
30:
This article is about the data format. For classes in Java, see
1658:
791:
method count, number of entries in the following method table
243:(the first 4 entries in the table below). The history of this
150:
There are 10 basic sections to the Java class file structure:
133:
On 11 December 2006, the class file format was modified under
709:
field count, number of entries in the following field table
620:
class, index into the constant pool to a "Class"-type entry
591:
class, index into the constant pool to a "Class"-type entry
114:
file because it contains the bytecode for a single class.
481:
For details of earlier version numbers see footnote 1 at
434:
major version number of the class file format being used.
415:
minor version number of the class file format being used
177:: for example whether the class is abstract, static, etc.
939:
each element is an attribute_info structure defined in
1455:(in hex) instead of the standard single-byte encoding
1532:
James
Gosling private communication to Bill Bumgarner
937:
attribute table, variable length array of attributes
483:
The JavaTM Virtual
Machine Specification 2nd edition
2082:
2042:
2019:
2012:
1944:
1913:
1842:
1791:
1750:
1692:
1471:, rather than the correct 4-byte UTF-8 encoding of
837:each element is a method_info structure defined in
52:
42:
747:each element is a field_info structure defined in
165:: the minor and major versions of the class file
965:Representation in a C-like programming language
835:method table, variable length array of methods
228:Class files are identified by the following 4
1670:
745:field table, variable length array of fields
87:. A Java class file is usually produced by a
8:
530:- 1) number of entries in total (see note).
37:
1417:Module: this is used to identify a module.
2016:
1677:
1663:
1655:
1593:
1591:
1589:
1587:
1585:
1583:
1581:
1155:
339:
1512:
1643:The official defining document of the
1622:The Java Virtual Machine Specification
36:
7:
1522:Java Class File Specification Update
1649:online for viewing and/or download
1625:(Second ed.). Prentice Hall.
1599:"Chapter 4. The class File Format"
1544:"Chapter 4. The class File Format"
1398:InvokeDynamic: this is used by an
25:
1222:Float: a 32-bit single-precision
171:: Pool of constants for the class
2131:
2120:
2119:
1741:
1485:
326:integer in big-endian byte order
2138:Computer programming portal
183:: The name of the current class
1843:Major third-party technologies
1:
2074:Sun Microsystems Laboratories
251:referring to a restaurant in
199:: Any interfaces in the class
191:: The name of the super class
1208:number in big-endian format
471:Java SE 5.0 = 49 (0x31 hex),
469:Java SE 6.0 = 50 (0x32 hex),
163:Version of Class File Format
117:JVMs are available for many
83:that can be executed on the
32:Class (computer programming)
1493:Computer programming portal
461:Java SE 10 = 54 (0x36 hex),
459:Java SE 11 = 55 (0x37 hex),
457:Java SE 12 = 56 (0x38 hex),
455:Java SE 13 = 57 (0x39 hex),
453:Java SE 14 = 58 (0x3A hex),
451:Java SE 15 = 59 (0x3B hex),
449:Java SE 16 = 60 (0x3C hex),
447:Java SE 17 = 61 (0x3D hex),
445:Java SE 18 = 62 (0x3E hex),
443:Java SE 19 = 63 (0x3F hex),
441:Java SE 20 = 64 (0x40 hex),
439:Java SE 21 = 65 (0x41 hex),
437:Java SE 22 = 66 (0x42 hex),
27:Executable Java file format
2178:
2050:Apache Software Foundation
467:Java SE 7 = 51 (0x33 hex),
465:Java SE 8 = 52 (0x34 hex),
463:Java SE 9 = 53 (0x35 hex),
213:: Any methods in the class
135:Java Specification Request
85:Java Virtual Machine (JVM)
29:
2117:
1936:Free Java implementations
1739:
1204:Integer: a signed 32-bit
936:
933:
927:
884:
881:
878:
834:
831:
825:
790:
787:
784:
744:
741:
735:
708:
705:
702:
672:
669:
663:
644:
641:
638:
615:
612:
609:
586:
583:
580:
561:
558:
555:
525:
522:
516:
503:
500:
497:
433:
430:
427:
414:
411:
408:
367:
359:
205:: Any fields in the class
141:File layout and structure
93:Java programming language
1686:Java (software platform)
1165:Description of constant
975:
562:access flags, a bitmask
479:JDK 1.1 = 45 (0x2D hex).
477:JDK 1.2 = 46 (0x2E hex),
475:JDK 1.3 = 47 (0x2F hex),
473:JDK 1.4 = 48 (0x30 hex),
44:Internet media type
1619:, Frank Yellin (1999).
102:files) containing Java
2060:Java Community Process
1926:Java Community Process
1558:"JDK 10 Release Notes"
1226:floating-point number
283:
106:(alternatively, other
2157:Computer file formats
1792:Platform technologies
257:
1921:Java version history
1773:Java virtual machine
1763:Java Development Kit
1645:Java Virtual Machine
123:platform-independent
1751:Oracle technologies
1168:Version introduced
1017:constant_pool_count
528:constant pool count
39:
18:Class (file format)
2065:Oracle Corporation
2055:Eclipse Foundation
77:filename extension
2144:
2143:
2113:
2112:
1469:ED A0 B4 ED B4 9E
1438:
1437:
1162:Additional bytes
1137:The constant pool
981:Class_File_Format
962:
961:
247:was explained by
62:
61:
53:Developed by
16:(Redirected from
2169:
2136:
2135:
2123:
2122:
2105:Patrick Naughton
2070:Sun Microsystems
2017:
1931:Sun Microsystems
1824:Web Start (JNLP)
1745:
1679:
1672:
1665:
1656:
1642:
1640:
1639:
1603:
1602:
1595:
1576:
1575:
1568:
1562:
1561:
1554:
1548:
1547:
1540:
1534:
1529:
1523:
1517:
1495:
1490:
1489:
1474:
1470:
1458:
1454:
1206:two's complement
1156:
1132:
1129:
1126:
1123:
1120:
1117:
1116:attributes_count
1114:
1111:
1108:
1105:
1102:
1099:
1096:
1093:
1090:
1087:
1084:
1081:
1078:
1075:
1072:
1069:
1066:
1063:
1062:interfaces_count
1060:
1057:
1054:
1051:
1048:
1045:
1042:
1039:
1036:
1033:
1030:
1027:
1024:
1021:
1018:
1015:
1012:
1009:
1006:
1003:
1000:
997:
994:
991:
988:
985:
982:
979:
340:
242:
113:
101:
75:
57:Sun Microsystems
40:
21:
2177:
2176:
2172:
2171:
2170:
2168:
2167:
2166:
2147:
2146:
2145:
2140:
2130:
2109:
2095:Arthur van Hoff
2078:
2038:
2008:
1940:
1909:
1838:
1787:
1746:
1737:
1688:
1683:
1637:
1635:
1633:
1615:
1612:
1610:Further reading
1607:
1606:
1597:
1596:
1579:
1570:
1569:
1565:
1556:
1555:
1551:
1542:
1541:
1537:
1530:
1526:
1518:
1514:
1509:
1491:
1484:
1481:
1472:
1468:
1456:
1452:
1272:) (big-endian)
1270:internal format
1181:
1139:
1134:
1133:
1130:
1127:
1124:
1121:
1118:
1115:
1112:
1109:
1106:
1103:
1100:
1097:
1094:
1091:
1088:
1085:
1082:
1079:
1076:
1073:
1070:
1067:
1064:
1061:
1058:
1055:
1052:
1049:
1046:
1043:
1040:
1037:
1034:
1031:
1028:
1025:
1022:
1019:
1016:
1013:
1010:
1007:
1004:
1001:
998:
995:
992:
989:
986:
983:
980:
977:
967:
480:
478:
476:
474:
472:
470:
468:
466:
464:
462:
460:
458:
456:
454:
452:
450:
448:
446:
444:
442:
440:
438:
435:
400:
390:
380:
364:
288:
240:
226:
148:
143:
131:
111:
99:
73:
66:Java class file
38:Java class file
35:
28:
23:
22:
15:
12:
11:
5:
2175:
2173:
2165:
2164:
2159:
2149:
2148:
2142:
2141:
2118:
2115:
2114:
2111:
2110:
2108:
2107:
2102:
2097:
2092:
2086:
2084:
2080:
2079:
2077:
2076:
2067:
2062:
2057:
2052:
2046:
2044:
2040:
2039:
2037:
2036:
2031:
2025:
2023:
2014:
2010:
2009:
2007:
2006:
2001:
1996:
1991:
1986:
1981:
1976:
1971:
1966:
1961:
1956:
1950:
1948:
1942:
1941:
1939:
1938:
1933:
1928:
1923:
1917:
1915:
1911:
1910:
1908:
1907:
1902:
1897:
1892:
1887:
1882:
1877:
1872:
1867:
1862:
1857:
1852:
1846:
1844:
1840:
1839:
1837:
1836:
1831:
1826:
1821:
1816:
1811:
1806:
1801:
1795:
1793:
1789:
1788:
1786:
1785:
1780:
1775:
1770:
1765:
1760:
1754:
1752:
1748:
1747:
1740:
1738:
1736:
1735:
1730:
1725:
1720:
1714:
1708:
1702:
1696:
1694:
1690:
1689:
1684:
1682:
1681:
1674:
1667:
1659:
1653:
1652:
1631:
1611:
1608:
1605:
1604:
1577:
1563:
1549:
1535:
1524:
1511:
1510:
1508:
1505:
1504:
1503:
1497:
1496:
1480:
1477:
1436:
1435:
1432:
1429:
1426:
1422:
1421:
1418:
1415:
1412:
1408:
1407:
1404:
1396:
1393:
1389:
1388:
1385:
1382:
1379:
1375:
1374:
1371:
1368:
1365:
1361:
1360:
1357:
1354:
1351:
1347:
1346:
1343:
1340:
1337:
1333:
1332:
1329:
1326:
1323:
1319:
1318:
1315:
1312:
1309:
1305:
1304:
1301:
1298:
1295:
1291:
1290:
1287:
1284:
1281:
1277:
1276:
1273:
1266:
1263:
1259:
1258:
1255:
1252:
1249:
1245:
1244:
1241:
1238:
1235:
1231:
1230:
1227:
1220:
1217:
1213:
1212:
1209:
1202:
1199:
1195:
1194:
1191:
1183:
1174:
1170:
1169:
1166:
1163:
1160:
1138:
1135:
1122:attribute_info
976:
966:
963:
960:
959:
955:
954:
950:
949:
945:
944:
935:
932:
926:
907:
906:
887:
886:
883:
880:
877:
858:
857:
853:
852:
848:
847:
843:
842:
833:
830:
824:
809:
808:
793:
792:
789:
786:
783:
768:
767:
763:
762:
758:
757:
753:
752:
743:
740:
734:
723:
722:
711:
710:
707:
704:
701:
690:
689:
685:
684:
680:
679:
675:
674:
671:
668:
662:
655:
654:
647:
646:
643:
640:
637:
630:
629:
622:
621:
614:
611:
608:
601:
600:
593:
592:
585:
582:
579:
572:
571:
564:
563:
560:
557:
554:
547:
546:
542:
541:
537:
536:
532:
531:
524:
521:
515:
511:
510:
506:
505:
502:
499:
496:
492:
491:
487:
486:
432:
429:
426:
422:
421:
417:
416:
413:
410:
407:
403:
402:
397:
393:
392:
387:
383:
382:
377:
373:
372:
366:
361:
358:
354:
353:
350:
349:Type or value
347:
344:
334:
333:
327:
322:: an unsigned
317:
308:: an unsigned
303:
298:: an unsigned
287:
286:General layout
284:
225:
222:
221:
220:
214:
206:
200:
192:
184:
178:
172:
166:
160:
147:
144:
142:
139:
130:
127:
60:
59:
54:
50:
49:
46:
26:
24:
14:
13:
10:
9:
6:
4:
3:
2:
2174:
2163:
2162:Java platform
2160:
2158:
2155:
2154:
2152:
2139:
2134:
2128:
2127:
2116:
2106:
2103:
2101:
2098:
2096:
2093:
2091:
2090:James Gosling
2088:
2087:
2085:
2081:
2075:
2071:
2068:
2066:
2063:
2061:
2058:
2056:
2053:
2051:
2048:
2047:
2045:
2043:Organizations
2041:
2035:
2032:
2030:
2027:
2026:
2024:
2022:
2018:
2015:
2011:
2005:
2002:
2000:
1997:
1995:
1992:
1990:
1987:
1985:
1982:
1980:
1977:
1975:
1972:
1970:
1967:
1965:
1962:
1960:
1957:
1955:
1952:
1951:
1949:
1947:
1946:JVM languages
1943:
1937:
1934:
1932:
1929:
1927:
1924:
1922:
1919:
1918:
1916:
1912:
1906:
1903:
1901:
1898:
1896:
1893:
1891:
1888:
1886:
1883:
1881:
1878:
1876:
1873:
1871:
1868:
1866:
1863:
1861:
1860:GNU Classpath
1858:
1856:
1853:
1851:
1848:
1847:
1845:
1841:
1835:
1832:
1830:
1827:
1825:
1822:
1820:
1817:
1815:
1812:
1810:
1807:
1805:
1802:
1800:
1797:
1796:
1794:
1790:
1784:
1781:
1779:
1776:
1774:
1771:
1769:
1766:
1764:
1761:
1759:
1756:
1755:
1753:
1749:
1744:
1734:
1731:
1729:
1726:
1724:
1721:
1718:
1715:
1712:
1709:
1706:
1703:
1701:
1698:
1697:
1695:
1691:
1687:
1680:
1675:
1673:
1668:
1666:
1661:
1660:
1657:
1650:
1646:
1634:
1632:0-201-43294-3
1628:
1624:
1623:
1618:
1614:
1613:
1609:
1600:
1594:
1592:
1590:
1588:
1586:
1584:
1582:
1578:
1573:
1567:
1564:
1559:
1553:
1550:
1545:
1539:
1536:
1533:
1528:
1525:
1521:
1516:
1513:
1506:
1502:
1501:Java bytecode
1499:
1498:
1494:
1488:
1483:
1478:
1476:
1466:
1462:
1450:
1445:
1441:
1433:
1430:
1427:
1424:
1423:
1419:
1416:
1413:
1410:
1409:
1405:
1401:
1400:invokedynamic
1397:
1394:
1391:
1390:
1386:
1383:
1380:
1377:
1376:
1372:
1369:
1366:
1363:
1362:
1358:
1355:
1352:
1349:
1348:
1344:
1341:
1338:
1335:
1334:
1330:
1327:
1324:
1321:
1320:
1316:
1313:
1310:
1307:
1306:
1302:
1299:
1296:
1293:
1292:
1288:
1285:
1282:
1279:
1278:
1274:
1271:
1267:
1264:
1261:
1260:
1256:
1253:
1250:
1247:
1246:
1242:
1239:
1236:
1233:
1232:
1228:
1225:
1221:
1218:
1215:
1214:
1210:
1207:
1203:
1200:
1197:
1196:
1192:
1189:
1184:
1179:
1175:
1172:
1171:
1167:
1164:
1161:
1158:
1157:
1154:
1152:
1147:
1143:
1136:
1098:methods_count
1026:constant_pool
1008:major_version
999:minor_version
974:
972:
964:
957:
956:
952:
951:
947:
946:
943:
942:
930:
925:
921:
917:
913:
909:
908:
905:
901:
897:
893:
889:
888:
876:
872:
868:
864:
860:
859:
855:
854:
850:
849:
845:
844:
841:
840:
828:
823:
819:
815:
811:
810:
807:
803:
799:
795:
794:
782:
778:
774:
770:
769:
765:
764:
760:
759:
755:
754:
751:
750:
738:
733:
729:
725:
724:
721:
717:
713:
712:
700:
696:
692:
691:
687:
686:
682:
681:
677:
676:
666:
661:
657:
656:
653:
649:
648:
636:
632:
631:
628:
624:
623:
619:
607:
603:
602:
599:
595:
594:
590:
578:
574:
573:
570:
566:
565:
553:
549:
548:
544:
543:
539:
538:
534:
533:
529:
519:
513:
512:
508:
507:
494:
493:
489:
488:
485:
484:
424:
423:
419:
418:
405:
404:
398:
395:
394:
388:
385:
384:
378:
375:
374:
370:
362:
356:
355:
351:
348:
345:
342:
341:
338:
331:
328:
325:
321:
318:
315:
311:
307:
304:
301:
297:
294:
293:
292:
285:
282:
280:
275:
271:
270:magic numbers
266:
262:
261:Grateful Dead
256:
254:
250:
249:James Gosling
246:
238:
234:
231:
223:
218:
215:
212:
211:
207:
204:
201:
198:
197:
193:
190:
189:
185:
182:
179:
176:
173:
170:
169:Constant Pool
167:
164:
161:
158:
157:
153:
152:
151:
145:
140:
138:
136:
128:
126:
124:
120:
115:
109:
108:JVM languages
105:
97:
94:
90:
89:Java compiler
86:
82:
81:Java bytecode
79:) containing
78:
71:
67:
58:
55:
51:
47:
45:
41:
33:
19:
2124:
1719:(Enterprise)
1636:. Retrieved
1621:
1617:Tim Lindholm
1566:
1552:
1538:
1527:
1515:
1446:
1442:
1439:
1399:
1269:
1177:
1150:
1148:
1144:
1140:
1080:fields_count
1035:access_flags
990:magic_number
968:
938:
928:
923:
919:
915:
911:
903:
899:
895:
891:
874:
870:
866:
862:
836:
826:
821:
817:
813:
805:
801:
797:
780:
776:
772:
746:
736:
731:
727:
719:
715:
698:
694:
664:
659:
651:
634:
626:
617:
605:
597:
588:
576:
568:
551:
527:
517:
436:
369:magic number
352:Description
343:Byte offset
335:
329:
319:
305:
295:
289:
258:
245:magic number
227:
224:Magic Number
216:
208:
202:
194:
186:
180:
175:Access Flags
174:
168:
162:
159:: 0xCAFEBABE
156:Magic Number
154:
149:
132:
116:
96:source files
65:
63:
2021:Conferences
1728:Android SDK
1473:F0 9D 84 9E
1182:(variable)
1104:method_info
1053:super_class
931:(variable)
829:(variable)
739:(variable)
667:(variable)
616:identifies
587:identifies
520:(variable)
312:integer in
241:CA FE BA BE
237:hexadecimal
188:Super Class
137:(JSR) 202.
2151:Categories
2100:Urs Hölzle
1989:Processing
1717:Jakarta EE
1713:(Standard)
1638:2008-10-13
1507:References
1125:attributes
1086:field_info
1071:interfaces
1044:this_class
316:byte order
314:big-endian
217:Attributes
196:Interfaces
181:This Class
72:(with the
2013:Community
1959:BeanShell
1875:Hibernate
1850:Blackdown
1783:Maxine VM
1723:Java Card
1693:Platforms
1159:Tag byte
401:0xBE hex
391:0xBA hex
381:0xFE hex
365:0xCA hex
253:Palo Alto
119:platforms
2126:Category
1804:Servlets
1479:See also
1428:2 bytes
1414:2 bytes
1395:4 bytes
1381:4 bytes
1367:2 bytes
1353:3 bytes
1339:4 bytes
1325:4 bytes
1311:4 bytes
1297:4 bytes
1283:2 bytes
1265:2 bytes
1251:8 bytes
1237:8 bytes
1224:IEEE 754
1219:4 bytes
1201:4 bytes
879:2 bytes
785:2 bytes
703:2 bytes
639:2 bytes
610:2 bytes
581:2 bytes
556:2 bytes
498:2 bytes
428:2 bytes
409:2 bytes
360:4 bytes
274:grepping
146:Sections
2129:
2029:JavaOne
2004:Oxygene
1964:Clojure
1914:History
1905:WildFly
1900:TopLink
1885:Jazelle
1880:IcedTea
1870:Harmony
1855:Eclipse
1834:Modules
1829:Pack200
1809:MIDlets
1799:Applets
1768:OpenJDK
1733:GraalVM
1711:Java SE
1707:(Micro)
1705:Java ME
1520:JSR 202
1107:methods
1023:cp_info
302:integer
210:Methods
129:History
104:classes
2083:People
2034:Devoxx
1984:Kotlin
1979:Jython
1969:Groovy
1895:Struts
1890:Spring
1778:JavaFX
1758:Squawk
1629:
1465:UTF-16
1345:1.0.2
1331:1.0.2
1317:1.0.2
1303:1.0.2
1289:1.0.2
1275:1.0.2
1257:1.0.2
1243:1.0.2
1229:1.0.2
1211:1.0.2
1193:1.0.2
1089:fields
978:struct
969:Since
934:table
912:cpsize
892:cpsize
863:cpsize
832:table
814:cpsize
798:cpsize
773:cpsize
742:table
728:cpsize
716:cpsize
695:cpsize
670:table
660:cpsize
652:cpsize
635:cpsize
627:cpsize
606:cpsize
598:cpsize
577:cpsize
569:cpsize
552:cpsize
523:table
518:cpsize
324:32-bit
310:16-bit
233:header
203:Fields
112:.class
74:.class
1999:Scala
1994:Rhino
1974:JRuby
1453:C0 80
1449:UTF-8
1188:UTF-8
1180:bytes
929:asize
924:msize
920:fsize
916:isize
904:msize
900:fsize
896:isize
875:msize
871:fsize
867:isize
827:msize
822:fsize
818:isize
806:fsize
802:isize
781:fsize
777:isize
737:fsize
732:isize
720:isize
699:isize
665:isize
618:super
346:Size
330:table
300:8-bit
265:Jerry
100:.java
91:from
68:is a
1954:Java
1627:ISBN
958:...
953:...
948:...
856:...
851:...
846:...
766:...
761:...
756:...
688:...
683:...
678:...
589:this
545:...
540:...
535:...
399:u1 =
389:u1 =
379:u1 =
363:u1 =
235:(in
230:byte
70:file
1865:GWT
1819:JSF
1814:JSP
1700:JVM
1461:BMP
1425:20
1411:19
1392:18
1387:11
1378:17
1364:16
1350:15
1336:12
1322:11
1308:10
1151:tag
910:24+
890:23+
882:u2
861:22+
812:22+
796:21+
788:u2
771:20+
726:20+
714:19+
706:u2
693:18+
658:18+
650:17+
642:u2
633:16+
625:15+
613:u2
604:14+
596:13+
584:u2
575:12+
567:11+
559:u2
550:10+
514:10
501:u2
431:u2
412:u2
281:."
279:RMI
239:):
2153::
2072:,
1580:^
1475:.
1457:00
1434:9
1420:9
1406:7
1373:7
1359:7
1294:9
1280:8
1262:7
1248:6
1234:5
1216:4
1198:3
1176:2+
1173:1
1113:u2
1095:u2
1077:u2
1068:u2
1059:u2
1050:u2
1041:u2
1032:u2
1014:u2
1005:u2
996:u2
987:u4
509:9
495:8
490:7
425:6
420:5
406:4
396:3
386:2
376:1
357:0
320:u4
306:u2
296:u1
255::
125:.
64:A
1678:e
1671:t
1664:v
1651:.
1641:.
1601:.
1574:.
1560:.
1546:.
1178:x
1131:}
1128:;
1119:;
1110:;
1101:;
1092:;
1083:;
1074:;
1065:;
1056:;
1047:;
1038:;
1029:;
1020:;
1011:;
1002:;
993:;
984:{
971:C
922:+
918:+
914:+
902:+
898:+
894:+
873:+
869:+
865:+
820:+
816:+
804:+
800:+
779:+
775:+
730:+
718:+
697:+
98:(
34:.
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.