Documentatie

    Table of Content
    • 3D-bestandsindelingen
      • 3D-bestandsindelingen
      • 3D2
      • 3DM
      • 3DS
      • 3MF
      • AMF
      • ASE
      • B3D
      • DAE
      • DBM
      • DRC
      • E57
      • FBX
      • GLB
      • GLTF
      • IPT
      • JT
      • MA
      • MB
      • MP
      • OBJ
      • PLY
      • PRC
      • RVM
      • STEP
      • STP
      • U3D
      • USD
      • USDZ
      • VRML
      • X
      • X3D
    • Audiobestandsindelingen
      • Audiobestandsindelingen
      • 8SVX
      • AA
      • AAC
      • AAX
      • AC3
      • ACT
      • AIFF
      • ALAC
      • AMR
      • APE
      • CDA
      • DSS
      • FLAC
      • GSM
      • M3U
      • M3U8
      • M4A
      • M4B
      • M4P
      • MID
      • MKA
      • MMF
      • MOD
      • MP2
      • MP3
      • MPC
      • MXL
      • NSA
      • OGG
      • OPUS
      • RA
      • RF64
      • SDT
      • STAP
      • VOC
      • VOX
      • VQF
      • WAV
      • WEBA
      • WFP
      • WMA
      • WPL
      • WV
    • CAD-bestandsindelingen
      • CAD-bestandsindelingen
      • ART
      • ASC
      • ASM
      • CATPART
      • CF2
      • DC3
      • DGN
      • DST
      • DWF
      • DWFX
      • DWG
      • DWT
      • DXF
      • FZP
      • HPGL
      • IFC
      • IGES
      • IGS
      • JVSG
      • NC
      • NWC
      • NWD
      • NWF
      • PAT
      • PHJ
      • PLT
      • PSM
      • PSS
      • RFA
      • RFT
      • RML
      • RVT
      • SLDPRT
      • STL
    • Compressiebestandsindelingen
      • Compressiebestandsindelingen
      • 7Z
      • ACE
      • ALZ
      • APK
      • ARC
      • ARJ
      • B1
      • B6Z
      • BKF
      • BNDL
      • BZ2
      • DAA
      • DAR
      • DEB
      • DMG
      • DZ
      • ECS
      • FZPZ
      • GZ
      • GZIP
      • ICE
      • ISO
      • KGB
      • LBR
      • LQR
      • LZ
      • LZ4
      • LZH
      • LZMA
      • LZO
      • LZX
      • MBW
      • MINT
      • MPKG
      • MPQ
      • NPK
      • OAR
      • PAGES
      • PEA
      • PET
      • PF
      • PKG
      • PTK
      • PUP
      • RAR
      • RPM
      • RTE
      • S00
      • SIFZ
      • SIT
      • SITX
      • SY_
      • TAR
      • TBZ
      • TGS
      • TGZ
      • TPSR
      • TZ
      • VPK
      • WHL
      • WUX
      • XAPK
      • XAR
      • XPI
      • XZ
      • Z
      • ZIM
      • ZIP
      • ZIPX
      • ZL
    • Database
      • Databasebestandsindelingen
      • 4DB
      • 4DD
      • ACCDB
      • ACCDC
      • ACCDE
      • ACCDR
      • ACCDT
      • ACCDW
      • ACCFT
      • ADB
      • ADE
      • ADF
      • ADN
      • ADP
      • ALF
      • ANB
      • AQ
      • ASK
      • BAK
      • BCP
      • BTR
      • CDB
      • DACPAC
      • DAT
      • DB
      • DB3
      • DBC
      • DBF
      • DDL
      • DTSX
      • FMP12
      • FMPSL
      • FP5
      • FP7
      • GDB
      • ITW
      • LDF
      • LOG
      • MDB
      • MDF
      • MYI
      • NDF
      • NSF
      • SAV
      • SDF
      • SQL
      • SQLITE
      • TE
      • TRC
      • TRM
      • UDL
      • WDB
    • Schijf en media
      • Schijf- en mediabestandsindelingen
      • BIN
      • CCD
      • CSO
      • CUE
      • GADGET
      • IMG
      • NKIT
      • NRG
      • OVA
      • OVF
      • ROM
      • SDI
      • Toast
      • UDF
      • VCD
      • VDI
      • VHD
      • VHDX
      • WBFS
      • WIM
      • WUD
    • EBook-bestandsindelingen
      • EBook-bestandsindelingen
      • ACSM
      • AEP
      • APNX
      • AVA
      • AZW
      • AZW1
      • AZW3
      • AZW4
      • BKK
      • BPNUEB
      • CBC
      • CBR
      • CBZ
      • CEB
      • CEBX
      • DNL
      • EA
      • EAL
      • EBK
      • EDN
      • EPUB
      • ETD
      • FB2
      • FKB
      • HAN
      • HTML0
      • HTMLZ
      • HTXT
      • HTZ4
      • HTZ5
      • IBOOKS
      • KFX
      • KOOB
      • LIT
      • LRF
      • LRS
      • LRX
      • MART
      • MBP
      • MOBI
      • NCX
      • NVA
      • OEB
      • OEBZIP
      • OPF
      • ORB
      • PHL
      • PML
      • PMLZ
      • POBI
      • QMK
      • RB
      • RZB
      • RZS
      • SNB
      • TCR
      • TK3
      • TPZ
      • TR
      • TR3
      • VBK
      • WEBZ
      • YBK
    • E-mailbestandsindelingen
      • E-mailbestandsindelingen
      • EDB
      • EML
      • EMLX
      • ICS
      • MBOX
      • MSG
      • OFT
      • OLM
      • OST
      • P7S
      • PST
      • RPMSG
      • TNEF
      • VCF
    • Uitvoerbaar
      • Uitvoerbare bestandsindelingen
      • AHK
      • BAT
      • BTAPP
      • CGI
      • CMD
      • COM
      • EXE
      • IPA
      • MSI
      • MST
      • PIF
      • PYC
      • REG
      • WSF
      • WSH
      • XBE
      • XEX
    • Financiën
      • Financiële bestandsindelingen
      • ABA
      • IXBRL
      • XBRL
    • Lettertype
      • Lettertypebestandsindelingen
      • BDF
      • CFF
      • CFF2
      • EOT
      • FNT
      • FON
      • JFPROJ
      • MFX
      • OTF
      • PFA
      • PFB
      • PFM
      • SFD
      • TTC
      • TTF
      • Type1
      • WOFF
    • Spelbestandsindelingen
      • Spelbestandsindelingen
      • BMZ
      • BNS
      • CLIP
      • CON
      • CSD
      • CT
      • DEK
      • FOMOD
      • GAM
      • KODU
      • MCWORLD
      • MGX
      • PAK
      • PCC
      • PSS
      • PUP
      • PWF
      • REL
      • REP
      • RPX
      • SAV
      • SFAR
      • SID
      • U8
      • UMX
      • W3N
    • GIS-bestandsindelingen
      • GIS-bestandsindelingen
      • 000
      • 3D
      • 3DD
      • ADF
      • APL
      • APR
      • ATX
      • AUX
      • DEM
      • DIV
      • DLG
      • E00
      • ETA
      • FIT
      • GeoJSON
      • GLB
      • GMAP
      • GML
      • GPKG
      • GPX
      • IMG
      • KML
      • KMZ
      • LOC
      • MPS
      • NM2
      • NTF
      • OSM
      • QGD
      • QGS
      • QGZ
      • QLR
      • QML
      • SBN
      • SHP
      • SHX
      • SP3
      • SSF
      • TCX
    • Afbeeldingsbestandsindelingen
      • Afbeeldingsbestandsindelingen
      • AI
      • APNG
      • ART
      • AVIF
      • BMP
      • BPG
      • CDR
      • CLIP
      • CMX
      • CPC
      • CR2
      • CR3
      • CSL
      • CT
      • CUR
      • DCM
      • DCR
      • DCX
      • DDS
      • DIB
      • DICOM
      • DJVU
      • DNG
      • ECW
      • EMF
      • EMZ
      • EXIF
      • FLIF
      • FODG
      • GBR
      • GIF
      • HDR
      • HEIC
      • HEIF
      • ICNS
      • ICO
      • J2C
      • J2K
      • JFIF
      • JP2
      • JPC
      • JPEG
      • JPF
      • JPM
      • JPX
      • JXR
      • MNG
      • MP
      • MPO
      • NEF
      • ODG
      • OTG
      • PCT
      • PCX
      • PICT
      • PNG
      • PPP
      • PSB
      • PSD
      • PSP
      • PSPIMAGE
      • SKP
      • SVGZ
      • TGA
      • THM
      • TIFF
      • WEBP
      • WMF
      • WMZ
      • XPM
      • XPR
    • Diverse bestandsindelingen
      • Diverse bestandsindelingen
      • AML
      • ART
      • BUP
      • CMS
      • CTG
      • DAP
      • ENL
      • ERR
      • GPG
      • H4
      • H5
      • ICA
      • KLQ
      • LOCK
      • LRC
      • MD5
      • MSO
      • OBB
      • ODF
      • OGG
      • PES
      • RIS
      • RML
      • SSP
      • THM
      • TORRENT
      • VIM
      • VIMRC
      • XMP
      • XSMX
    • Opmerking Bestandsindelingen maken
      • Opmerking Bestandsindelingen maken
      • ONE
      • ONETOC2
    • Paginabeschrijving Taal
      • Paginabeschrijving Taal
      • AVERY
      • CGM
      • EPS
      • INDD
      • INDT
      • OXPS
      • PCL
      • PS
      • SVG
      • SWF
      • TEX
      • XPS
      • XSLFO
    • PDF
      • PDF
      • FDF
      • PDF/A
      • PDF/E
      • PDF/UA
      • PDF/VT
      • PDF/X
      • XFDF
    • Presentatiebestandsindelingen
      • Presentatiebestandsindelingen
      • KEY
      • ODP
      • OTP
      • POT
      • POTM
      • POTX
      • PPS
      • PPSM
      • PPSX
      • PPT
      • PPTM
      • PPTX
    • Programmeren
      • Programmeren
      • ABC
      • ACD
      • ADDIN
      • ADS
      • AGI
      • AIA
      • AIDL
      • ALB
      • AML
      • ANE
      • APA
      • APKS
      • APPX
      • APPXBUNDLE
      • APPXUPLOAD
      • APS
      • ARSC
      • AS
      • ASM
      • AWK
      • C
      • CD
      • Class
      • CMAKE
      • CONFIG
      • CPP
      • CS
      • CSPROJ
      • CXX
      • Dart
      • DIFF
      • EGG
      • ERB
      • EX
      • G4
      • GO
      • GROOVY
      • H
      • HAML
      • HH
      • HS
      • HTA
      • ICI
      • IN
      • INC
      • IPR
      • JAR
      • Java
      • JRXML
      • JSP
      • JSPF
      • KT
      • LGO
      • LUA
      • M
      • MAKE
      • MEL
      • MF
      • ML
      • MM
      • MRC
      • MSIX
      • NUPKG
      • NUT
      • PAS
      • PDB
      • PDE
      • PHP
      • PL
      • PY
      • PYD
      • PYI
      • PYM
      • PYW
      • PYX
      • R
      • RBXL
      • RBXM
      • RES
      • RS
      • RST
      • SCALA
      • SCM
      • SCRIPT
      • SH
      • SLN
      • SWIFT
      • TCL
      • TOML
      • TS
      • UNITY
      • VB
      • VBPROJ
      • VBS
      • VCXPROJ
      • XSD
      • YAML
      • YML
      • YPR
    • Bestandsindelingen voor projectbeheer
      • Bestandsindelingen voor projectbeheer
      • MPP
      • MPT
      • MPX
      • P6XML
      • XER
    • Uitgever bestandsindelingen
      • Uitgever bestandsindelingen
      • PUB
      • PUZ
    • Rapportage
      • Rapportagebestandsindelingen
      • MAR
      • RDL
      • RDLC
      • RPL
      • RPT
    • Spreadsheetbestandsindelingen
      • Spreadsheetbestandsindelingen
      • 123
      • 12M
      • _XLS
      • _XLSX
      • AST
      • AWS
      • BKS
      • CELL
      • CSV
      • CTS
      • DEF
      • DEX
      • DFG
      • DIF
      • DIS
      • EFU
      • ESS
      • FCS
      • FM
      • FODS
      • FP
      • GNM
      • GNUMERIC
      • IMP
      • MAR
      • NB
      • NUMBERS
      • NUMBERS-TEF
      • ODS
      • OTS
      • PMD
      • PMDX
      • PMVX
      • SDC
      • STC
      • SXC
      • TMV
      • TMVT
      • TSV
      • XAR
      • XL
      • XLA
      • XLAM
      • XLM
      • XLR
      • XLS
      • XLSB
      • XLSM
      • XLSMHTML
      • XLSX
      • XLT
      • XLTHTML
      • XLTM
      • XLTX
    • Systeembestandsindelingen
      • Systeembestandsindelingen
      • AML
      • ASV
      • CAB
      • CFG
      • CPG
      • CPL
      • DLL
      • DMP
      • DRV
      • ETL
      • HDMP
      • INI
      • INS
      • LNK
      • MDMP
      • SCR
      • SYS
      • TMP
    • Videobestandsindelingen
      • Videobestandsindelingen
      • 3G2
      • 3GP
      • AMV
      • ARF
      • ASF
      • AVCHD
      • AVI
      • BIK
      • DAV
      • EXO
      • F4V
      • FLV
      • H264
      • H265
      • IDX
      • IFO
      • M2TS
      • M4S
      • M4V
      • MJPEG
      • MK3D
      • MKS
      • MKV
      • MOV
      • MP4
      • MPE
      • MPG
      • MPV
      • MTS
      • MXF
      • NSV
      • PZ
      • QT
      • RM
      • RMVB
      • RV
      • SEC
      • SRT
      • TS
      • VID
      • VOB
      • VP6
      • VP8
      • VP9
      • VTT
      • WEBM
      • WMV
      • XVID
    • Webbestandsindelingen
      • Webbestandsindelingen
      • A4P
      • A5W
      • AAE
      • ADR
      • AEX
      • ALX
      • AN
      • AP
      • APKG
      • APPCACHE
      • ARO
      • ASA
      • ASAX
      • ASCX
      • ASHX
      • ASMX
      • ASP
      • ASPX
      • ASR
      • ATOM
      • ATT
      • AWM
      • BML
      • BOK
      • BR
      • BWP
      • CDF
      • CER
      • CFM
      • CFML
      • CHA
      • CHAT
      • CHM
      • CMS
      • CODASITE
      • CON
      • CRDOWNLOAD
      • CRL
      • CRT
      • CSHTML
      • CSP
      • CSR
      • CSS
      • DAP
      • DBM
      • DCR
      • DER
      • DHTML
      • DISCO
      • DISCOMAP
      • DML
      • DO
      • DOCHTML
      • DOCMHTML
      • DOTHTML
      • DOWNLOAD
      • DRAWIO
      • DWT
      • ECE
      • EDGE
      • EPIBRW
      • ESPROJ
      • EWP
      • FCGI
      • FMP
      • FREEWAY
      • FWP
      • FWTEMPLATE
      • FWTEMPLATEB
      • GDOC
      • GDOCX
      • GNE
      • GSP
      • HAR
      • HDM
      • HDML
      • HTACCESS
      • HTC
      • HTM
      • HTML
      • HTX
      • HXS
      • HYPE
      • JHTML
      • JNLP
      • JS
      • JSON
      • JSPA
      • KEY
      • KIT
      • LESS
      • MHT
      • MHTML
      • MJS
      • OBML
      • OBML15
      • OBML16
      • P7B
      • P7C
      • PAC
      • PART
      • PEM
      • PRO
      • RHTML
      • RJS
      • RSS
      • Sass
      • SCSS
      • SHTML
      • SPC
      • SSP
      • STC
      • STML
      • TPL
      • TS
      • URL
      • VDW
      • VRT
      • WBS
      • WEBBOOKMARK
      • WEBLOC
      • WEBSITE
      • WHTT
      • WSDL
      • XAML
      • XD
      • XHT
      • XHTML
      • XML
      • XOJ
      • XOML
      • XSLT
      • XUL
      • ZUL
    • Bestandsindelingen voor tekstverwerking
      • Bestandsindelingen voor tekstverwerking
      • ASD
      • DOC
      • DOCM
      • DOCX
      • DOT
      • DOTM
      • DOTX
      • DSC
      • FAQ
      • FODT
      • IPYNB
      • LATEX
      • LTX
      • MAN
      • MD
      • ODM
      • ODT
      • OTT
      • QBL
      • QPF
      • RTF
      • TXT
      • WPD
      • WPS
    • visio
      • Visio-bestandsindelingen
      • VDW
      • VDX
      • VSD
      • VSDM
      • VSDX
      • VSS
      • VSSM
      • VSSX
      • VST
      • VSTM
      • VSTX
      • VSX
      • VTX
    1. Huis
    2. Programmeren
    3. Class

    What's on this Page

      • Wat is een Class-bestand?
      • Klasse Bestandsformaat
        • ClassFile-structuur
      • Referenties

    Wat is een Class-bestand?

    Een Class-bestand in Java is de gecompileerde uitvoer van de klasse .java die daadwerkelijk wordt uitgevoerd door een Java Virtual Machine (JVM). Klassebestanden kunnen zowel afzonderlijk worden uitgevoerd als deel uitmaken van een JAR-bestand als een bundel samen met andere pakketbestanden. Deze kunnen worden gemaakt met de opdracht javac vanuit de opdrachtregelinterface. Sommige Java-IDE’s zoals Eclipse en NetBeans bieden .class-uitvoerbestanden van de Java van het project bestanden.

    Klasse Bestandsformaat

    Een Java-klassebestand bestaat uit bytecode die tussencode is die door JVM moet worden uitgevoerd. Een klassebestand bestaat uit een stroom van 8-bits bytes en multibyte-gegevensitems worden altijd in big-endian-volgorde opgeslagen.

    ClassFile-structuur

    De structuur van het klassenbestand is zoals hieronder weergegeven.

    ClassFile {
        u4             magic;
        u2             minor_version;
        u2             major_version;
        u2             constant_pool_count;
        cp_info        constant_pool[constant_pool_count-1];
        u2             access_flags;
        u2             this_class;
        u2             super_class;
        u2             interfaces_count;
        u2             interfaces[interfaces_count];
        u2             fields_count;
        field_info     fields[fields_count];
        u2             methods_count;
        method_info    methods[methods_count];
        u2             attributes_count;
        attribute_info attributes[attributes_count];
    }
    

    waar:

    • u1 = niet-ondertekende hoeveelheid van één byte
    • u2 = niet-ondertekende hoeveelheid van twee bytes
    • u4 = ongetekende hoeveelheid van vier bytes

    Details van de .class bestandsstructuur zoals ook uitgelegd in de Oracle class file format en kan worden verwezen door ontwikkelaars ter referentie. Een samenvatting van deze velden is als volgt.

    • magic - Het magische item levert het magische getal dat het class-bestandsformaat identificeert; het heeft de waarde 0xCAFEBABE.
    • minor_version, major_version - De waarden van de minor_version en major_version items zijn de secundaire en primaire versienummers van dit klassenbestand.
    • constant_pool_count - De waarde van het item constant_pool_count is gelijk aan het aantal items in de constant_pool-tabel plus één. Een constant_pool-index wordt als geldig beschouwd als deze groter is dan nul en kleiner dan constant_pool_count, met uitzondering van constanten van het type long en double.
    • constant_pool[] - De constante_pool is een tabel met structuren (§4.4) die verschillende stringconstanten, klasse- en interfacenamen, veldnamen en andere constanten vertegenwoordigt waarnaar wordt verwezen in de ClassFile-structuur en zijn substructuren. Het formaat van elk item in de constante_pooltabel wordt aangegeven door zijn eerste “tag”-byte.
    • access_flags - De waarde van het item access_flags is een masker van vlaggen die worden gebruikt om toegangsrechten en eigenschappen van deze klasse of interface aan te duiden.
    • this_class - De waarde van het item this_class moet een geldige index zijn in de constant_pool-tabel.
    • super_class - Voor een klasse moet de waarde van het item super_class ofwel nul zijn, ofwel een geldige index in de constante_pooltabel zijn.
    • interfaces_count - De waarde van het interfaces_count item geeft het aantal directe superinterfaces van deze klasse of interfacetype.
    • interfaces[] - Elke waarde in de interfaces-array moet een geldige index zijn in de constant_pool-tabel.
    • fields_count - De waarde van het field_count item geeft het aantal field_info structuren in de veldentabel.
    • fields[] - Elke waarde in de veldentabel moet een field_info-structuur zijn die een volledige beschrijving geeft van een veld in deze klasse of interface.
    • methods_count - De waarde van het item methods_count geeft het aantal method_info-structuren in de methodetabel.
    • methods[] - Elke waarde in de methodetabel moet een method_info-structuur zijn die een volledige beschrijving geeft van een methode in deze klasse of interface. Als geen van de vlaggen ACC_NATIVE en ACC_ABSTRACT zijn ingesteld in het item access_flags van een method_info-structuur, worden de Java Virtual Machine-instructies die de methode implementeren ook geleverd.
    • attributes_count - De waarde van het attributes_count item geeft het aantal attributen (§4.7) in de attributentabel van deze klasse.
    • attributen[] - Elke waarde van de attributentabel moet een attribute_info-structuur zijn.

    Referenties

    • De bestandsindeling van de klasse

    See Also

    • TS-bestandsindeling - Videotransportstreambestand
    • NB - Mathematica Notebook-bestandsindeling
    • OTS - OpenDocument Spreadsheet-sjabloonbestandsindeling
    • Wat is XLS-bestandsindeling? Leer van File Format Experts!
    • Wat is de bestandsindeling van Lotus 123? Leer van experts op het gebied van bestandsindelingen!
     
     Nederlands
    Close
     English
     Deutsch
     日本
     中文
     русский
     Français
     한국인
     Español
     Italiano
     हिन्दी
     Indonesian
     Português
     عربي
     Türkçe
     Ελληνικά
     ไทย
     עִברִית
     Svenska
     українська
     Tiếng Việt
     български
     Magyar
     čeština
     Română
     Polski