SlideServe
Menu
Préférences
© SlideServe · v2026

JREBEL FOR ECLIPSE

liana avatar
27 diapositives · 483 Views · Jul 29, 2014

JREBEL FOR ECLIPSE. ECLIPSE DAY CHINA 2013. PRESENTER. ANTON ARHIPOV @ antonarhipov PRODUCT MANAGER. BASED ON JAVAAGENT TECHNOLOGY DISTRIBUTED AS IDE PLUGIN Eclipse , incl. MyEclipse , RAD, etc Also: IntelliJ IDEA, NetBeans , JDeveloper. A PRODUCTIVITY TOOL FOR JAVA DEVELOPERS.

JREBEL FOR ECLIPSE - slide 1
01 / 27JREBEL FOR ECLIPSE
1 / 17

Télécharger la présentation

JREBEL FOR ECLIPSE
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. JREBEL FOR ECLIPSE ECLIPSE DAY CHINA 2013

  2. PRESENTER ANTON ARHIPOV @antonarhipov PRODUCT MANAGER

  3. BASED ON JAVAAGENT TECHNOLOGY • DISTRIBUTED AS IDE PLUGIN • Eclipse, incl. MyEclipse, RAD, etc • Also: IntelliJ IDEA, NetBeans, JDeveloper A PRODUCTIVITY TOOL FOR JAVA DEVELOPERS

  4. THE TURNAROUND MAKE CHANGES BUILD, DEPLOY, WAIT AVERAGE: 2.5 min OBSERVE RESULTS

  5. THE TURNAROUND MAKE CHANGES BUILD, DEPLOY, WAIT OBSERVE RESULTS NO BUILD! NO REDEPLOY! NO WAITING!

  6. WASTED TIME 1-60 sec 30 sec – 30 min ~1min APPLICATION STARTUP SERVER STARTUP IN-APPLICATION NAVIGATION

  7. HOW TO RELOAD A CLASS? Old Class Loader New Class Loader MyClass MyClass’ MyObject MyObject TRANSFER THE STATE

  8. serialize/deserialize init() Session Session Classes Sevlet NewClasses Sevlet App State App State Libraries New Libraries OldClassLoader NewClassLoader THIS IS WHAT EVERY APPLICATION SERVER DOES

  9. Session Session Classes Sevlet NewClasses Sevlet App State App State New Libraries OldClassLoader NewClassLoader CLASS LOADERS ARE EASY TO LEAK!

  10. THE REALITY: CLASS LOADERS ARE NOT GOOD FOR RELOADING CLASSES

  11. HotSwap Make changes OldClassLoader Debugger MyObject.class HotSwap New code 111000100 101010010 Code101000101 100010010 New code 111000100 101010010 MyObject

  12. JRebelvsHotSwap

  13. Maybe one day Java gets a better HotSwap: • JEP 159: Enhanced Class Redefinition • But class reloading is not enough for real applications!

  14. JRebel Make changes OldClassLoader JRebel Framework MyObject.class Code101000101 100010010 New code 111000100 101010010 Configuration (XML, annotations,..) MyObject

  15. JRebel does NOT create new class loaders to update classes!

  16. DEMO TIME!

  17. GET AT ECLIPSE MARKETPLACE

  18. ADD JREBEL NATURE

  19. ENABLE JREBEL AGENT

  20. JREBEL CONFIG CENTER

  21. By starting the container you will see JRebel messages like below

  22. REBEL.XML JRebel monitors directories specified in rebel.xml

  23. INSTANT CLASS RELOADING JRebel reloads only what’s changed

  24. FRAMEWORK CONFIGURATIONS JRebel understands framework configuration files

  25. http://zeroturnaround.com/software/jrebel/features/frameworks/http://zeroturnaround.com/software/jrebel/features/frameworks/

  26. Questions? • @antonarhipov • anton@zerotunraround.com • http://www.jrebel.com