Cad is comhad Ranga ann?
Is éard atá i comhad ranga i Java ná aschur tiomsaithe aicme .java a dhéanann Meaisín Fíorúil Java (JVM). Is féidir comhaid ranga a rith ina n-aonar agus is féidir iad a bheith mar chuid de chomhad JAR mar bheart in éineacht le comhaid pacáiste eile. Is féidir iad seo a chruthú leis an ordú javac
ón gcomhéadan líne ordaithe. Soláthraíonn roinnt IDEanna Java ar nós Eclipse agus NetBeans comhaid aschuir .class ó chomhaid Java an tionscadail.
Formáid Chomhaid Ranga
Cuimsíonn comhad ranga Java seachchód ar cód idirmheánach é a bheidh á rith ag JVM. Is éard atá i gcomhad ranga ná sruth beart 8-giotán agus stóráiltear míreanna sonraí ilbhearta in ord mór-cheann i gcónaí.
Struchtúr ClassFile
Tá struchtúr comhaid an ranga mar a thaispeántar thíos.
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];
}
áit:
u1 = cainníocht aon bheart gan síniú
u2 = cainníocht dhá bheart gan síniú
u4 = cainníocht ceithre bheart gan síniú
Details of the .class file structure as well explained in the Oracle class file format and can be referred by developers for reference. A summary of these fields are as follow.
draíocht
- Soláthraíonn an mhír draíochta an uimhir draíochta a shainaithníonn formáid comhaid an ranga; tá an luach 0xCAFEBABE aige.mion-leagan_
, `leagan_mór’ - Is iad luachanna an mhionleagan_agus na mór-leaganacha ná mionuimhreacha agus mór-leaganacha an chomhaid ranga seo.constant_pool_count
- Tá luach na míre constant_pool_count cothrom le líon na n-iontrálacha sa tábla constant_pool móide a haon. Meastar innéacs constant_pool a bheith bailí má tá sé níos mó ná nialas agus níos lú ná constant_pool_count, cé is moite de thairisisigh chineál fada agus dúbailte.Constant_pool[]
- Is tábla de struchtúir é an tairiseach_pool (§4.4) a léiríonn tairisigh teaghrán éagsúla, ainmneacha aicme agus comhéadain, ainmneacha páirce, agus tairisigh eile a ndéantar tagairt dóibh laistigh de struchtúr ClassFile agus a fho-struchtúir. Léirítear formáid gach iontráil tábla constant_pool ag a chéad “chlib” beart.access_flags
- Is éard atá i luach na míre access_flags ná masc bratach a úsáidtear chun ceadanna rochtana agus airíonna an aicme nó an chomhéadain seo a chur in iúl.this_class
- Caithfidh luach na míre this_class a bheith ina innéacs bailí sa tábla constant_pool.super_class
- I gcás aicme, ní mór luach na míre super_class a bheith nialasach nó a bheith ina innéacs bailí sa tábla constant_pool.interfaces_count
- Tugann luach na míre interfaces_count líon na sár-chomhéadan díreach den aicme seo nó den chineál comhéadain seo.comhéadain[]
- Caithfidh gach luach san eagar comhéadain a bheith ina innéacs bailí sa tábla constant_pool.fields_count
- Tugann luach na míre fields_count líon na struchtúr field_info sa tábla réimsí.fields[]
- Each value in the fields table must be a field_info structure giving a complete description of a field in this class or interface.methods_count
- Tugann luach na míre methods_count líon na struchtúr method_info sa tábla modhanna.methods[]
- Each value in the methods table must be a method_info structure giving a complete description of a method in this class or interface. If neither of the ACC_NATIVE and ACC_ABSTRACT flags are set in the access_flags item of a method_info structure, the Java Virtual Machine instructions implementing the method are also supplied.attributes_count
- Tugann luach na míre attributes_count líon na n-airíonna (§4.7) i dtábla tréithe an aicme seo.tréithe[]
- Ní mór struchtúr aitreabúide_info a bheith i ngach luach sa tábla tréithe.
Tagairtí
See Also
- Comhad BIB - Leabharliosta BibTeX - Cad is comhad .bib ann agus conas é a oscailt?
- Comhad FS - Comhad Foinse Amharc F# - Cad is comhad .fs ann agus conas é a oscailt?
- Comhad GED - Comhad Sonraí Ginealais GEDCOM - Cad is comhad .ged ann agus conas é a oscailt?
- Comhad INO - Sceitse Arduino - Cad is comhad .ino ann agus conas é a oscailt?
- Comhad MAX - 3ds Uaschomhad Radharc - Cad is comhad .max ann agus conas é a oscailt?