SlideShare a Scribd company logo
Local Variablespublic java.lang.Object execute();  0: aload_0   1: invokespecial #2;  4: astore_1   5: aload_0   6: aload_1   7: invokespecial #3;10: areturnStackvarvalue1valuedepth21323private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8; 4: iconst_1 5: iadd 6: invokestatic #7; 9: areturn51623
Local Variablespublic java.lang.Object execute();  0: aload_0   1: invokespecial #2;  4: astore_1   5: aload_0   6: aload_1   7: invokespecial #3; 10: areturnStackvarvalue1valuedepth21this323private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8; 4: iconst_1 5: iadd 6: invokestatic #7; 9: areturn51623
Local Variablespublic java.lang.Object execute();  0: aload_0 1: invokespecial #2;  4: astore_1   5: aload_0   6: aload_1   7: invokespecial #3; 10: areturnStackvarvalue1valuedepth21objectref323private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8; 4: iconst_1 5: iadd 6: invokestatic #7; 9: areturn51623
Local Variablespublic java.lang.Object execute();  0: aload_0   1: invokespecial #2;  4: astore_1   5: aload_0   6: aload_1   7: invokespecial #3; 10: areturnStackvarvalueobjectref1valuedepth21323private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8; 4: iconst_1 5: iadd 6: invokestatic #7; 9: areturn51623
Local Variablespublic java.lang.Object execute();  0: aload_0   1: invokespecial #2;  4: astore_1   5: aload_0   6: aload_1   7: invokespecial #3; 10: areturnStackvarvalueobjectref1valuedepth21this323private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8; 4: iconst_1 5: iadd 6: invokestatic #7; 9: areturn51623
Local Variablespublic java.lang.Object execute();  0: aload_0   1: invokespecial #2;  4: astore_1   5: aload_0   6: aload_1   7: invokespecial #3; 10: areturnStackvarvalueobjectref1valuedepth21objectref32this3private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8; 4: iconst_1 5: iadd 6: invokestatic #7; 9: areturn51623
Local Variablespublic java.lang.Object execute();  0: aload_0   1: invokespecial #2;  4: astore_1   5: aload_0   6: aload_1 7: invokespecial #3;//incValue10: areturnStackvarvalueobjectref1valuedepth21323private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8; 4: iconst_1 5: iadd 6: invokestatic #7; 9: areturn5objectref1623
Local Variablespublic java.lang.Object execute();  0: aload_0   1: invokespecial #2;  4: astore_1   5: aload_0   6: aload_1 7: invokespecial #3; //incValue10: areturnStackvarvalueobjectref1valuedepth21objectref323private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8;4: iconst_1 5: iadd 6: invokestatic #7; 9: areturn5objectref1623
Local Variablespublic java.lang.Object execute();  0: aload_0   1: invokespecial #2;  4: astore_1   5: aload_0   6: aload_1 7: invokespecial #3; //incValue10: areturnStackvarvalueobjectref1valuedepth21X323private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8;// Integer.intValue:()4: iconst_1 5: iadd 6: invokestatic #7; 9: areturn5objectref1623
Local Variablespublic java.lang.Object execute();  0: aload_0   1: invokespecial #2;  4: astore_1   5: aload_0   6: aload_1 7: invokespecial #3; //incValue10: areturnStackvarvalueobjectref1valuedepth21132X3private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8; 4: iconst_1 5: iadd 6: invokestatic #7; 9: areturn5objectref1623
Local Variablespublic java.lang.Object execute();  0: aload_0   1: invokespecial #2;  4: astore_1   5: aload_0   6: aload_1 7: invokespecial #3; //incValue10: areturnStackvarvalueobjectref1valuedepth21X + 1323private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8; 4: iconst_1 5: iadd6: invokestatic #7; 9: areturn5objectref1623
Local Variablespublic java.lang.Object execute();  0: aload_0   1: invokespecial #2;  4: astore_1   5: aload_0   6: aload_1 7: invokespecial #3; //incValue10: areturnStackvarvalueobjectref1valuedepth21objectref323private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8; 4: iconst_1 5: iadd 6: invokestatic #7;//Integer.valueOf9: areturn5objectref1623
Local Variablespublic java.lang.Object execute();  0: aload_0   1: invokespecial #2;  4: astore_1   5: aload_0   6: aload_1 7: invokespecial #3; //incValue10: areturnStackvarvalueobjectref1valuedepth21objectref323private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8; 4: iconst_1 5: iadd 6: invokestatic #7;9: areturn5objectref1623
Local Variablespublic java.lang.Object execute();  0: aload_0   1: invokespecial #2;  4: astore_1   5: aload_0   6: aload_1   7: invokespecial #3; 10: areturnStackvarvalueobjectref1valuedepth21objectref323private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8; 4: iconst_1 5: iadd 6: invokestatic #7;9: areturn51623
Local Variablespublic java.lang.Object execute();  0: aload_0   1: invokespecial #2;  4: astore_1   5: aload_0   6: aload_1   7: invokespecial #3; 10: areturnStackvarvalue1valuedepth21objectref323private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8; 4: iconst_1 5: iadd 6: invokestatic #7;9: areturn51623

More Related Content

What's hot (20)

Workshop 5: JavaScript testing
Workshop 5: JavaScript testing
Visual Engineering
 
Javascript Testing with Jasmine 101
Javascript Testing with Jasmine 101
Roy Yu
 
Dependency Injection with CDI in 15 minutes
Dependency Injection with CDI in 15 minutes
Antonio Goncalves
 
Building Maintainable Applications in Apex
Building Maintainable Applications in Apex
Jeffrey Kemp
 
Thoughts On Learning A New Programming Language
Thoughts On Learning A New Programming Language
Patricia Aas
 
Voxxed Days Vilnius 2015 - Having fun with Javassist
Voxxed Days Vilnius 2015 - Having fun with Javassist
Anton Arhipov
 
Stop Making Excuses and Start Testing Your JavaScript
Stop Making Excuses and Start Testing Your JavaScript
Ryan Anklam
 
Celery
Celery
Òscar Vilaplana
 
Side effects-con-redux
Side effects-con-redux
Nicolas Quiceno Benavides
 
Zen: Building Maintainable Catalyst Applications
Zen: Building Maintainable Catalyst Applications
Jay Shirley
 
Testing Against AWS APIs Go
Testing Against AWS APIs Go
Stephen Scaffidi
 
Rails is not just Ruby
Rails is not just Ruby
Marco Otte-Witte
 
The Anatomy of an Exploit (CPPP 2019)
The Anatomy of an Exploit (CPPP 2019)
Patricia Aas
 
Testing Javascript with Jasmine
Testing Javascript with Jasmine
Tim Tyrrell
 
First glance at Akka 2.0
First glance at Akka 2.0
Vasil Remeniuk
 
Introduction to CDI and DI in Java EE 6
Introduction to CDI and DI in Java EE 6
Ray Ploski
 
Excellent
Excellent
Marco Otte-Witte
 
Reactive programming with RxJS - ByteConf 2018
Reactive programming with RxJS - ByteConf 2018
Tracy Lee
 
The Anatomy of an Exploit (NDC TechTown 2019)
The Anatomy of an Exploit (NDC TechTown 2019)
Patricia Aas
 
RSpec
RSpec
Marco Otte-Witte
 
Workshop 5: JavaScript testing
Workshop 5: JavaScript testing
Visual Engineering
 
Javascript Testing with Jasmine 101
Javascript Testing with Jasmine 101
Roy Yu
 
Dependency Injection with CDI in 15 minutes
Dependency Injection with CDI in 15 minutes
Antonio Goncalves
 
Building Maintainable Applications in Apex
Building Maintainable Applications in Apex
Jeffrey Kemp
 
Thoughts On Learning A New Programming Language
Thoughts On Learning A New Programming Language
Patricia Aas
 
Voxxed Days Vilnius 2015 - Having fun with Javassist
Voxxed Days Vilnius 2015 - Having fun with Javassist
Anton Arhipov
 
Stop Making Excuses and Start Testing Your JavaScript
Stop Making Excuses and Start Testing Your JavaScript
Ryan Anklam
 
Zen: Building Maintainable Catalyst Applications
Zen: Building Maintainable Catalyst Applications
Jay Shirley
 
Testing Against AWS APIs Go
Testing Against AWS APIs Go
Stephen Scaffidi
 
The Anatomy of an Exploit (CPPP 2019)
The Anatomy of an Exploit (CPPP 2019)
Patricia Aas
 
Testing Javascript with Jasmine
Testing Javascript with Jasmine
Tim Tyrrell
 
First glance at Akka 2.0
First glance at Akka 2.0
Vasil Remeniuk
 
Introduction to CDI and DI in Java EE 6
Introduction to CDI and DI in Java EE 6
Ray Ploski
 
Reactive programming with RxJS - ByteConf 2018
Reactive programming with RxJS - ByteConf 2018
Tracy Lee
 
The Anatomy of an Exploit (NDC TechTown 2019)
The Anatomy of an Exploit (NDC TechTown 2019)
Patricia Aas
 

More from Anton Arhipov (20)

JavaZone 2022 - Building Kotlin DSL.pdf
JavaZone 2022 - Building Kotlin DSL.pdf
Anton Arhipov
 
Idiomatic kotlin
Idiomatic kotlin
Anton Arhipov
 
TechTrain 2019 - (Не)адекватное техническое интервью
TechTrain 2019 - (Не)адекватное техническое интервью
Anton Arhipov
 
Build pipelines with TeamCity
Build pipelines with TeamCity
Anton Arhipov
 
Build pipelines with TeamCity
Build pipelines with TeamCity
Anton Arhipov
 
Devoxx Ukraine 2018 - Kotlin DSL in under an hour
Devoxx Ukraine 2018 - Kotlin DSL in under an hour
Anton Arhipov
 
GeeCON Prague 2018 - Kotlin DSL in under an hour
GeeCON Prague 2018 - Kotlin DSL in under an hour
Anton Arhipov
 
Build pipelines with TeamCity and Kotlin DSL
Build pipelines with TeamCity and Kotlin DSL
Anton Arhipov
 
Build pipelines with TeamCity
Build pipelines with TeamCity
Anton Arhipov
 
JavaDay Kiev 2017 - Integration testing with TestContainers
JavaDay Kiev 2017 - Integration testing with TestContainers
Anton Arhipov
 
GeeCON Prague 2017 - TestContainers
GeeCON Prague 2017 - TestContainers
Anton Arhipov
 
JavaOne 2017 - The hitchhiker’s guide to Java class reloading
JavaOne 2017 - The hitchhiker’s guide to Java class reloading
Anton Arhipov
 
JavaOne 2017 - TestContainers: integration testing without the hassle
JavaOne 2017 - TestContainers: integration testing without the hassle
Anton Arhipov
 
JavaOne 2017 - The hitchhiker’s guide to Java class reloading
JavaOne 2017 - The hitchhiker’s guide to Java class reloading
Anton Arhipov
 
JavaZone 2017 - The Hitchhiker’s guide to Java class reloading
JavaZone 2017 - The Hitchhiker’s guide to Java class reloading
Anton Arhipov
 
JUG.ua 20170225 - Java bytecode instrumentation
JUG.ua 20170225 - Java bytecode instrumentation
Anton Arhipov
 
Riga DevDays 2017 - The hitchhiker’s guide to Java class reloading
Riga DevDays 2017 - The hitchhiker’s guide to Java class reloading
Anton Arhipov
 
GeeCON 2017 - TestContainers. Integration testing without the hassle
GeeCON 2017 - TestContainers. Integration testing without the hassle
Anton Arhipov
 
JEEConf 2017 - The hitchhiker’s guide to Java class reloading
JEEConf 2017 - The hitchhiker’s guide to Java class reloading
Anton Arhipov
 
JEEConf 2017 - Having fun with Javassist
JEEConf 2017 - Having fun with Javassist
Anton Arhipov
 
JavaZone 2022 - Building Kotlin DSL.pdf
JavaZone 2022 - Building Kotlin DSL.pdf
Anton Arhipov
 
TechTrain 2019 - (Не)адекватное техническое интервью
TechTrain 2019 - (Не)адекватное техническое интервью
Anton Arhipov
 
Build pipelines with TeamCity
Build pipelines with TeamCity
Anton Arhipov
 
Build pipelines with TeamCity
Build pipelines with TeamCity
Anton Arhipov
 
Devoxx Ukraine 2018 - Kotlin DSL in under an hour
Devoxx Ukraine 2018 - Kotlin DSL in under an hour
Anton Arhipov
 
GeeCON Prague 2018 - Kotlin DSL in under an hour
GeeCON Prague 2018 - Kotlin DSL in under an hour
Anton Arhipov
 
Build pipelines with TeamCity and Kotlin DSL
Build pipelines with TeamCity and Kotlin DSL
Anton Arhipov
 
Build pipelines with TeamCity
Build pipelines with TeamCity
Anton Arhipov
 
JavaDay Kiev 2017 - Integration testing with TestContainers
JavaDay Kiev 2017 - Integration testing with TestContainers
Anton Arhipov
 
GeeCON Prague 2017 - TestContainers
GeeCON Prague 2017 - TestContainers
Anton Arhipov
 
JavaOne 2017 - The hitchhiker’s guide to Java class reloading
JavaOne 2017 - The hitchhiker’s guide to Java class reloading
Anton Arhipov
 
JavaOne 2017 - TestContainers: integration testing without the hassle
JavaOne 2017 - TestContainers: integration testing without the hassle
Anton Arhipov
 
JavaOne 2017 - The hitchhiker’s guide to Java class reloading
JavaOne 2017 - The hitchhiker’s guide to Java class reloading
Anton Arhipov
 
JavaZone 2017 - The Hitchhiker’s guide to Java class reloading
JavaZone 2017 - The Hitchhiker’s guide to Java class reloading
Anton Arhipov
 
JUG.ua 20170225 - Java bytecode instrumentation
JUG.ua 20170225 - Java bytecode instrumentation
Anton Arhipov
 
Riga DevDays 2017 - The hitchhiker’s guide to Java class reloading
Riga DevDays 2017 - The hitchhiker’s guide to Java class reloading
Anton Arhipov
 
GeeCON 2017 - TestContainers. Integration testing without the hassle
GeeCON 2017 - TestContainers. Integration testing without the hassle
Anton Arhipov
 
JEEConf 2017 - The hitchhiker’s guide to Java class reloading
JEEConf 2017 - The hitchhiker’s guide to Java class reloading
Anton Arhipov
 
JEEConf 2017 - Having fun with Javassist
JEEConf 2017 - Having fun with Javassist
Anton Arhipov
 
Ad

Java Bytecode: Passing Parameters

  • 1. Local Variablespublic java.lang.Object execute(); 0: aload_0 1: invokespecial #2; 4: astore_1 5: aload_0 6: aload_1 7: invokespecial #3;10: areturnStackvarvalue1valuedepth21323private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8; 4: iconst_1 5: iadd 6: invokestatic #7; 9: areturn51623
  • 2. Local Variablespublic java.lang.Object execute(); 0: aload_0 1: invokespecial #2; 4: astore_1 5: aload_0 6: aload_1 7: invokespecial #3; 10: areturnStackvarvalue1valuedepth21this323private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8; 4: iconst_1 5: iadd 6: invokestatic #7; 9: areturn51623
  • 3. Local Variablespublic java.lang.Object execute(); 0: aload_0 1: invokespecial #2; 4: astore_1 5: aload_0 6: aload_1 7: invokespecial #3; 10: areturnStackvarvalue1valuedepth21objectref323private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8; 4: iconst_1 5: iadd 6: invokestatic #7; 9: areturn51623
  • 4. Local Variablespublic java.lang.Object execute(); 0: aload_0 1: invokespecial #2; 4: astore_1 5: aload_0 6: aload_1 7: invokespecial #3; 10: areturnStackvarvalueobjectref1valuedepth21323private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8; 4: iconst_1 5: iadd 6: invokestatic #7; 9: areturn51623
  • 5. Local Variablespublic java.lang.Object execute(); 0: aload_0 1: invokespecial #2; 4: astore_1 5: aload_0 6: aload_1 7: invokespecial #3; 10: areturnStackvarvalueobjectref1valuedepth21this323private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8; 4: iconst_1 5: iadd 6: invokestatic #7; 9: areturn51623
  • 6. Local Variablespublic java.lang.Object execute(); 0: aload_0 1: invokespecial #2; 4: astore_1 5: aload_0 6: aload_1 7: invokespecial #3; 10: areturnStackvarvalueobjectref1valuedepth21objectref32this3private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8; 4: iconst_1 5: iadd 6: invokestatic #7; 9: areturn51623
  • 7. Local Variablespublic java.lang.Object execute(); 0: aload_0 1: invokespecial #2; 4: astore_1 5: aload_0 6: aload_1 7: invokespecial #3;//incValue10: areturnStackvarvalueobjectref1valuedepth21323private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8; 4: iconst_1 5: iadd 6: invokestatic #7; 9: areturn5objectref1623
  • 8. Local Variablespublic java.lang.Object execute(); 0: aload_0 1: invokespecial #2; 4: astore_1 5: aload_0 6: aload_1 7: invokespecial #3; //incValue10: areturnStackvarvalueobjectref1valuedepth21objectref323private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8;4: iconst_1 5: iadd 6: invokestatic #7; 9: areturn5objectref1623
  • 9. Local Variablespublic java.lang.Object execute(); 0: aload_0 1: invokespecial #2; 4: astore_1 5: aload_0 6: aload_1 7: invokespecial #3; //incValue10: areturnStackvarvalueobjectref1valuedepth21X323private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8;// Integer.intValue:()4: iconst_1 5: iadd 6: invokestatic #7; 9: areturn5objectref1623
  • 10. Local Variablespublic java.lang.Object execute(); 0: aload_0 1: invokespecial #2; 4: astore_1 5: aload_0 6: aload_1 7: invokespecial #3; //incValue10: areturnStackvarvalueobjectref1valuedepth21132X3private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8; 4: iconst_1 5: iadd 6: invokestatic #7; 9: areturn5objectref1623
  • 11. Local Variablespublic java.lang.Object execute(); 0: aload_0 1: invokespecial #2; 4: astore_1 5: aload_0 6: aload_1 7: invokespecial #3; //incValue10: areturnStackvarvalueobjectref1valuedepth21X + 1323private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8; 4: iconst_1 5: iadd6: invokestatic #7; 9: areturn5objectref1623
  • 12. Local Variablespublic java.lang.Object execute(); 0: aload_0 1: invokespecial #2; 4: astore_1 5: aload_0 6: aload_1 7: invokespecial #3; //incValue10: areturnStackvarvalueobjectref1valuedepth21objectref323private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8; 4: iconst_1 5: iadd 6: invokestatic #7;//Integer.valueOf9: areturn5objectref1623
  • 13. Local Variablespublic java.lang.Object execute(); 0: aload_0 1: invokespecial #2; 4: astore_1 5: aload_0 6: aload_1 7: invokespecial #3; //incValue10: areturnStackvarvalueobjectref1valuedepth21objectref323private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8; 4: iconst_1 5: iadd 6: invokestatic #7;9: areturn5objectref1623
  • 14. Local Variablespublic java.lang.Object execute(); 0: aload_0 1: invokespecial #2; 4: astore_1 5: aload_0 6: aload_1 7: invokespecial #3; 10: areturnStackvarvalueobjectref1valuedepth21objectref323private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8; 4: iconst_1 5: iadd 6: invokestatic #7;9: areturn51623
  • 15. Local Variablespublic java.lang.Object execute(); 0: aload_0 1: invokespecial #2; 4: astore_1 5: aload_0 6: aload_1 7: invokespecial #3; 10: areturnStackvarvalue1valuedepth21objectref323private java.lang.Integer incValue(java.lang.Integer);4varvalue0: aload_1 1: invokevirtual #8; 4: iconst_1 5: iadd 6: invokestatic #7;9: areturn51623