I try to print out the readable java bytecode to see the monitorenter and monitorexit to study about the deadlock and synchronization instruction set but I don't know what the java command or binary that I should use to get the readable java bytecode.
Asked
Active
Viewed 254 times
0
-
4`javap -c
` – Marko Topolnik Dec 21 '13 at 10:01
1 Answers
3
Use the javap command, for example:
javap -v SomeClass.class
Example output:
19:23:56 (brettw) [dev] hikari$ javap -v HikariPool.class
Classfile /Users/brettw/Documents/dev/HikariCP/core/target/classes/com/zaxxer/hikari/HikariPool.class
Last modified Dec 19, 2013; size 11754 bytes
MD5 checksum 00e0441d0aad3bad1f4e7a67f6043b9c
Compiled from "HikariPool.java"
public final class com.zaxxer.hikari.HikariPool implements com.zaxxer.hikari.HikariPoolMBean
SourceFile: "HikariPool.java"
InnerClasses:
#384; //class com/zaxxer/hikari/HikariPool$1
minor version: 0
major version: 51
flags: ACC_PUBLIC, ACC_FINAL, ACC_SUPER
Constant pool:
#1 = Class #2 // com/zaxxer/hikari/HikariPool
#2 = Utf8 com/zaxxer/hikari/HikariPool
#3 = Class #4 // java/lang/Object
#4 = Utf8 java/lang/Object
#5 = Class #6 // com/zaxxer/hikari/HikariPoolMBean
#6 = Utf8 com/zaxxer/hikari/HikariPoolMBean
...

brettw
- 10,664
- 2
- 42
- 59