-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathjavap_out.txt
More file actions
223 lines (215 loc) · 10.3 KB
/
javap_out.txt
File metadata and controls
223 lines (215 loc) · 10.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
Classfile /home/iv127/Projects/java-native-interface/projects/test1java/out/production/test1java/test1java/Person.class
Last modified Feb 1, 2026; size 1620 bytes
SHA-256 checksum 48d49841946ad65d8dfa5ecbc8b45a97031c46863d64e72f9155406c1bd49d49
Compiled from "Person.java"
public class test1java.Person
minor version: 0
major version: 65
flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: #8 // test1java/Person
super_class: #2 // java/lang/Object
interfaces: 0, fields: 4, methods: 6, attributes: 3
Constant pool:
#1 = Methodref #2.#3 // java/lang/Object."<init>":()V
#2 = Class #4 // java/lang/Object
#3 = NameAndType #5:#6 // "<init>":()V
#4 = Utf8 java/lang/Object
#5 = Utf8 <init>
#6 = Utf8 ()V
#7 = Fieldref #8.#9 // test1java/Person.age:I
#8 = Class #10 // test1java/Person
#9 = NameAndType #11:#12 // age:I
#10 = Utf8 test1java/Person
#11 = Utf8 age
#12 = Utf8 I
#13 = Fieldref #8.#14 // test1java/Person.name:Ljava/lang/String;
#14 = NameAndType #15:#16 // name:Ljava/lang/String;
#15 = Utf8 name
#16 = Utf8 Ljava/lang/String;
#17 = InvokeDynamic #0:#18 // #0:makeConcatWithConstants:(Ljava/lang/String;I)Ljava/lang/String;
#18 = NameAndType #19:#20 // makeConcatWithConstants:(Ljava/lang/String;I)Ljava/lang/String;
#19 = Utf8 makeConcatWithConstants
#20 = Utf8 (Ljava/lang/String;I)Ljava/lang/String;
#21 = Fieldref #8.#22 // test1java/Person.EXAMPLE_FIELD:Ljava/lang/String;
#22 = NameAndType #23:#16 // EXAMPLE_FIELD:Ljava/lang/String;
#23 = Utf8 EXAMPLE_FIELD
#24 = String #25 // name=%s,age=%s,EXAMPLE_FIELD=%s,EXAMPLE_INT_FIELD=%s
#25 = Utf8 name=%s,age=%s,EXAMPLE_FIELD=%s,EXAMPLE_INT_FIELD=%s
#26 = Methodref #27.#28 // java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
#27 = Class #29 // java/lang/Integer
#28 = NameAndType #30:#31 // valueOf:(I)Ljava/lang/Integer;
#29 = Utf8 java/lang/Integer
#30 = Utf8 valueOf
#31 = Utf8 (I)Ljava/lang/Integer;
#32 = Fieldref #8.#33 // test1java/Person.EXAMPLE_INT_FIELD:I
#33 = NameAndType #34:#12 // EXAMPLE_INT_FIELD:I
#34 = Utf8 EXAMPLE_INT_FIELD
#35 = Methodref #36.#37 // java/lang/String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
#36 = Class #38 // java/lang/String
#37 = NameAndType #39:#40 // format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
#38 = Utf8 java/lang/String
#39 = Utf8 format
#40 = Utf8 (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
#41 = String #42 // example
#42 = Utf8 example
#43 = Utf8 (Ljava/lang/String;)V
#44 = Utf8 Code
#45 = Utf8 LineNumberTable
#46 = Utf8 LocalVariableTable
#47 = Utf8 this
#48 = Utf8 Ltest1java/Person;
#49 = Utf8 getName
#50 = Utf8 (I)Ljava/lang/String;
#51 = Utf8 i
#52 = Utf8 ()Ljava/lang/String;
#53 = Utf8 getExampleField
#54 = Utf8 toString
#55 = Utf8 <clinit>
#56 = Utf8 SourceFile
#57 = Utf8 Person.java
#58 = Utf8 BootstrapMethods
#59 = String #60 // \u0001 \u0001
#60 = Utf8 \u0001 \u0001
#61 = MethodHandle 6:#62 // REF_invokeStatic java/lang/invoke/StringConcatFactory.makeConcatWithConstants:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
#62 = Methodref #63.#64 // java/lang/invoke/StringConcatFactory.makeConcatWithConstants:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
#63 = Class #65 // java/lang/invoke/StringConcatFactory
#64 = NameAndType #19:#66 // makeConcatWithConstants:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
#65 = Utf8 java/lang/invoke/StringConcatFactory
#66 = Utf8 (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
#67 = Utf8 InnerClasses
#68 = Class #69 // java/lang/invoke/MethodHandles$Lookup
#69 = Utf8 java/lang/invoke/MethodHandles$Lookup
#70 = Class #71 // java/lang/invoke/MethodHandles
#71 = Utf8 java/lang/invoke/MethodHandles
#72 = Utf8 Lookup
{
static java.lang.String EXAMPLE_FIELD;
descriptor: Ljava/lang/String;
flags: (0x0008) ACC_STATIC
static int EXAMPLE_INT_FIELD;
descriptor: I
flags: (0x0008) ACC_STATIC
public test1java.Person(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: aload_0
5: bipush 33
7: putfield #7 // Field age:I
10: aload_0
11: aload_1
12: putfield #13 // Field name:Ljava/lang/String;
15: return
LineNumberTable:
line 11: 0
line 8: 4
line 12: 10
line 13: 15
LocalVariableTable:
Start Length Slot Name Signature
0 16 0 this Ltest1java/Person;
0 16 1 name Ljava/lang/String;
public java.lang.String getName(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
0: aload_0
1: getfield #13 // Field name:Ljava/lang/String;
4: iload_1
5: invokedynamic #17, 0 // InvokeDynamic #0:makeConcatWithConstants:(Ljava/lang/String;I)Ljava/lang/String;
10: areturn
LineNumberTable:
line 16: 0
LocalVariableTable:
Start Length Slot Name Signature
0 11 0 this Ltest1java/Person;
0 11 1 i I
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
0: aload_0
1: getfield #13 // Field name:Ljava/lang/String;
4: areturn
LineNumberTable:
line 20: 0
LocalVariableTable:
Start Length Slot Name Signature
0 5 0 this Ltest1java/Person;
public static java.lang.String getExampleField(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
0: getstatic #21 // Field EXAMPLE_FIELD:Ljava/lang/String;
3: iload_0
4: invokedynamic #17, 0 // InvokeDynamic #0:makeConcatWithConstants:(Ljava/lang/String;I)Ljava/lang/String;
9: areturn
LineNumberTable:
line 24: 0
LocalVariableTable:
Start Length Slot Name Signature
0 10 0 i I
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
0: ldc #24 // String name=%s,age=%s,EXAMPLE_FIELD=%s,EXAMPLE_INT_FIELD=%s
2: iconst_4
3: anewarray #2 // class java/lang/Object
6: dup
7: iconst_0
8: aload_0
9: getfield #13 // Field name:Ljava/lang/String;
12: aastore
13: dup
14: iconst_1
15: aload_0
16: getfield #7 // Field age:I
19: invokestatic #26 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
22: aastore
23: dup
24: iconst_2
25: getstatic #21 // Field EXAMPLE_FIELD:Ljava/lang/String;
28: aastore
29: dup
30: iconst_3
31: getstatic #32 // Field EXAMPLE_INT_FIELD:I
34: invokestatic #26 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
37: aastore
38: invokestatic #35 // Method java/lang/String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
41: areturn
LineNumberTable:
line 29: 0
line 30: 19
line 29: 38
LocalVariableTable:
Start Length Slot Name Signature
0 42 0 this Ltest1java/Person;
static {};
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc #41 // String example
2: putstatic #21 // Field EXAMPLE_FIELD:Ljava/lang/String;
5: bipush 22
7: putstatic #32 // Field EXAMPLE_INT_FIELD:I
10: return
LineNumberTable:
line 5: 0
line 6: 5
}
SourceFile: "Person.java"
BootstrapMethods:
0: #61 REF_invokeStatic java/lang/invoke/StringConcatFactory.makeConcatWithConstants:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
Method arguments:
#59 \u0001 \u0001
InnerClasses:
public static final #72= #68 of #70; // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles