org.apache.log4j.Logger
için sınıf dosyasına bakıldığında, class$org$apache$log4j$Logger
adıyla Class
türünde bir sentetik alan tanımlar.Log4j Logger 0'da görülebilir alan ve değiştirici
Bayt koduna bakmadan, bu alanın sabit havuzun henüz referans türlerini kullanamadığı bir zaman aralığındaki kendinden başvurulan sınıfı temsil ettiği açıktır. Ancak garip buluyorum bu alanın 0x41008
olan ve private
, synthetic
alanını (izleyebileceğimi) gösteren değiştiricidir ama bu, herhangi bir yerde bulunamadığım bir değiştirici 0x40000
ekler.
Bu değiştiricinin 19 bitindeki nereden geldiği ve neyi ifade ettiği? (Log4j Java 1 için derlenmiştir).
Türleri referans veremeyen sabit havuz değil, "Class" nesnesi işlenen yığınına böyle bir başvuru yüklenemeyen "ldc" komutu. Ancak, "bu" ve "süper" türlerini, uygulanan arabirimleri ve başvurulan üyelerin sınıflarını bildirmeye izin vermek için sınıf sabit havuzu türü zaten mevcuttu. – Holger