Automatisierter Software-Test unter JavaGFU Cyrus AG
Dieser Vortrag zeigt die Vorteile moderner Ansätze für den Test von Java-Anwendungen auf. Die für eine erfolgreiche Testautomatisierung einzusetzenden Java-Test-Frameworks und -Werkzeuge werden exemplarisch vorgestellt (z.B. JUnit, Abbot, JETM). Die Verwaltung von Testdaten und der Einsatz von dedizierten Testdatenbanken werden behandelt. Herr Seekamp veranschaulicht den praktischen Einsatz von automatisierten Testverfahren anhand von zwei JavaEE-Projekten. Er geht außerdem auf den Begriff des Testmanagement und das Konzept der testgetriebenen Software-Entwicklung ein. Die für die Durchführung von automatisierten Software-Tests notwendigen Bausteine werden zusammengefasst. Der Ausblick benennt die Problemfelder und das Potenzial der Testautomatisierung.
* Grundlagen und Ziele des Software-Tests
* Manueller Software-Test und dessen Nachteile
* Übergang zu automatisierten Testverfahren und deren Vorteile
* Frameworks und Werkzeuge für die Testautomatisierung
* Verwaltung von Testdaten und Einsatz von Testdatenbanken
* Beispiele für Testautomatisierung in JavaEE-Projekten
* Notwendigkeit des Testmanagement
* Konzept der testgetriebenen Entwicklung und Vorteile für den Entwickler
* Bausteine für automatisierte Software-Tests
* Problemfelder und Potenzial der Testautomatisierung
The document discusses production management. It defines production management as planning, organizing, directing and controlling the production system to satisfy customer wants. The main objective of production management is to produce goods and services of the right quality, quantity, and time at minimum cost while optimizing production capacity. It also outlines the functions of production management such as production planning, control, quality control, and inventory control.
Mark bernstein framingham ma is a detail oriented professionalGeoffrey Batey
Mark Bernstein is working as a communication engineer for many years. He enjoys troubleshooting technology and easily figures out errors to an issue to resolve.
Réussir son Baccalauréat
Ceci est un programme d’encadrement pédagogique destiné à répondre efficacement à votre souci: celui de gagner votre Baccalauréat.
Objectif:Cette formation a pour objectif de vous donner les éléments essentiels pour réussir votre examen.
Agiles Testen (z.B. in Scrum, Kanban, XP) ist zu einem unverzichtbaren Bestandteil agiler Softwareentwicklung geworden.
Testen in agilen Entwicklungsprojekten unterscheidet sich vom klassischen Testen in erster Linie dadurch, dass Testen eine präventive Maßnahme ist und dass die Tests viel häufiger ausgeführt werden müssen. Der Fokus liegt dabei in der Einbindung von Testern unter Beachtung des agilen Manifests und der Anwendung agiler Prinzipien auf das Testen, wie beispielsweise schnelles Feedback, hoher Automatisierungsgrad, Auflösung starrer Teststufen, enge Zusammenarbeit in selbstorganisierten Teams.
Inhalt
- Definition
- Agiles Testen im Team
- Testkategorien
- Unit-Tests
- TDD/ATDD/BDD
- 3 Amigo
- Akzeptanztests
- Exploratives Testen
- Continuous Integration, Delivery & Deployment
- Integration in Scrum
- Genereller Umgang mit Bugs
Automatisierter Software-Test unter JavaGFU Cyrus AG
Dieser Vortrag zeigt die Vorteile moderner Ansätze für den Test von Java-Anwendungen auf. Die für eine erfolgreiche Testautomatisierung einzusetzenden Java-Test-Frameworks und -Werkzeuge werden exemplarisch vorgestellt (z.B. JUnit, Abbot, JETM). Die Verwaltung von Testdaten und der Einsatz von dedizierten Testdatenbanken werden behandelt. Herr Seekamp veranschaulicht den praktischen Einsatz von automatisierten Testverfahren anhand von zwei JavaEE-Projekten. Er geht außerdem auf den Begriff des Testmanagement und das Konzept der testgetriebenen Software-Entwicklung ein. Die für die Durchführung von automatisierten Software-Tests notwendigen Bausteine werden zusammengefasst. Der Ausblick benennt die Problemfelder und das Potenzial der Testautomatisierung.
* Grundlagen und Ziele des Software-Tests
* Manueller Software-Test und dessen Nachteile
* Übergang zu automatisierten Testverfahren und deren Vorteile
* Frameworks und Werkzeuge für die Testautomatisierung
* Verwaltung von Testdaten und Einsatz von Testdatenbanken
* Beispiele für Testautomatisierung in JavaEE-Projekten
* Notwendigkeit des Testmanagement
* Konzept der testgetriebenen Entwicklung und Vorteile für den Entwickler
* Bausteine für automatisierte Software-Tests
* Problemfelder und Potenzial der Testautomatisierung
The document discusses production management. It defines production management as planning, organizing, directing and controlling the production system to satisfy customer wants. The main objective of production management is to produce goods and services of the right quality, quantity, and time at minimum cost while optimizing production capacity. It also outlines the functions of production management such as production planning, control, quality control, and inventory control.
Mark bernstein framingham ma is a detail oriented professionalGeoffrey Batey
Mark Bernstein is working as a communication engineer for many years. He enjoys troubleshooting technology and easily figures out errors to an issue to resolve.
Réussir son Baccalauréat
Ceci est un programme d’encadrement pédagogique destiné à répondre efficacement à votre souci: celui de gagner votre Baccalauréat.
Objectif:Cette formation a pour objectif de vous donner les éléments essentiels pour réussir votre examen.
Agiles Testen (z.B. in Scrum, Kanban, XP) ist zu einem unverzichtbaren Bestandteil agiler Softwareentwicklung geworden.
Testen in agilen Entwicklungsprojekten unterscheidet sich vom klassischen Testen in erster Linie dadurch, dass Testen eine präventive Maßnahme ist und dass die Tests viel häufiger ausgeführt werden müssen. Der Fokus liegt dabei in der Einbindung von Testern unter Beachtung des agilen Manifests und der Anwendung agiler Prinzipien auf das Testen, wie beispielsweise schnelles Feedback, hoher Automatisierungsgrad, Auflösung starrer Teststufen, enge Zusammenarbeit in selbstorganisierten Teams.
Inhalt
- Definition
- Agiles Testen im Team
- Testkategorien
- Unit-Tests
- TDD/ATDD/BDD
- 3 Amigo
- Akzeptanztests
- Exploratives Testen
- Continuous Integration, Delivery & Deployment
- Integration in Scrum
- Genereller Umgang mit Bugs
OSMC 2010 | Java Monitoring und Troubleshooting by Rainer JungNETWAYS
Ein großer Teil der Geschäftslogik von Unternehmen ist heute in Java-Software abgebildet. Dennoch werden Java-Anwendungen nur allzu häufig als Black Box betrieben und die Analyse von Störungen sehr schnell an Entwicklungsabteilungen delegiert. Diesen steht jedoch in der Regel keine für eine Ursachenanalyse ausreichende Informationsbasis zur Verfügung, so dass Operations und Entwicklung sich auf eine langwierige und schmerzhafte Suche machen.
Dabei bietet die Java-Plattform durchaus interessante Möglichkeiten der Überwachung, die eine schnelle Eingrenzung der Wurzelursache erleichtern, aber leider noch zu wenig bekannt sind und kaum genutzt werden. Im Vortrag werden zunächst einige Grundlagen hierfür vorgestellt, insbesondere JMX. Am Beispiel von Apache Tomcat vertiefen wir, welche für das Monitoring sehr spannenden Parameter dort zur Verfügung stehen, aber auch welche Probleme dieser Ansatz mit sich bringt.
Ein kurzer Ausflug in die Analyse von Java-Thread Dumps schließt den Vortrag ab. Thread Dumps sind der wichtigste – das Monitoring ergänzende – Ansatz für das Troubleshooting von Java-Anwendungen, insbesondere wenn es um Performance-Probleme in verteilten Landschaften geht. Nicht zu vergessen: diese Methode kann auch in Produktion verwendet werden.
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdAOE
Sep 08, 2012
Continuous Delivery und Autoscaling von Enterprise Web-Applicationen in der Amazon Cloud
In diesem Vortrag zeigen wir am Beispiel des neuen Angrybird-Onlineshops, der zu Spitzenzeiten bis zu 10 Bestellungen pro Sekunde aufnehmen kann und dabei hochverfügbar ist, wie eine automatisch skalierende Cloud Infrastruktur sowie die nötigen Konzepte aussehen können.
Wir beschreiben die Herausforderungen und unsere Lösungen, um den Shop für ein Multi-Server-Setup vorzubereiten und zu betreiben. Spezielle Anforderungen an eine solche Architektur sowie die Integration von Reverse Proxies (Varnish), die Nutzung eines CDNs, verschiedene Cache-Strategien und weitere Optimierung sind ebenfalls Bestandteil dieses Vortrags. Außerdem stellen wir unsere automatisierte Cloud-Deployment-Strategien vor, angefangen von den Entwicklungsumgebungen, über den continuous Integration Server und unser Testing Framework bis hin zum A/B-Deployment in der Cloud.
Oracle-DB: Panorama-Sampler - Eigenes Workload Repository für PanoramaPeter Ramm
Panorama-Sampler erlaubt die rückwirkende Bewertung von Betriebszuständen der Oracle-DB durch aktive Aufzeichnung der Historie.
Ähnlich dem AWR der Enterprise Edition werden diverse Aspekte protokolliert, inkl. Session- und SQL-Historie.
Rückwirkende Betrachtungen werden somit möglich ohne Lizenzierung des Diagnostics Pack und damit auch nutzbar für Standard Edition.
Veranstaltung "Confluence & JIRA Community Day 2013" in Frankfurt/M. am 21. November 2013.
Eine Präsentation zum Thema "JIRA goes i18n" von Jan Schulz, Head of Project bei der catWorkX GmbH.
Selenium bietet als Testwerkzeug eine große Spanne an Möglichkeiten, Tests für Webcontent zu erstellen. Häufig haben Nutzer jedoch Probleme, mit Selenium robuste Tests zu erzeugen. Ursache für diese Probleme ist oftmals nicht oder ungenügend berücksichtigtes Zeitverhalten.
Selenium bietet von Haus aus Wege an, diese Probleme zu bewältigen. Bei United Planet gehen wir seit Anfang 2017 noch einen Schritt weiter, indem wir ein hauseigenes Selenium Framework verwenden. Die damit gemachten Erfahrungen möchten wir gern mit den Konferenzteilnehmern teilen. Wir möchten unseren Ansatz zeigen, einen hohen Stabilitätsgrad, bei vernünftiger Laufzeit zu erreichen. Darüber hinaus, möchten wir vorführen, wie es uns durch Nutzung von Docker gelingt, unsere Selenium Tests zu parallelisieren und wie wir dabei vorgehen, um fehlgeschlagene Tests mit Hilfe von Screenshots, Videos und Logausgaben zu debuggen.
OSMC 2010 | Java Monitoring und Troubleshooting by Rainer JungNETWAYS
Ein großer Teil der Geschäftslogik von Unternehmen ist heute in Java-Software abgebildet. Dennoch werden Java-Anwendungen nur allzu häufig als Black Box betrieben und die Analyse von Störungen sehr schnell an Entwicklungsabteilungen delegiert. Diesen steht jedoch in der Regel keine für eine Ursachenanalyse ausreichende Informationsbasis zur Verfügung, so dass Operations und Entwicklung sich auf eine langwierige und schmerzhafte Suche machen.
Dabei bietet die Java-Plattform durchaus interessante Möglichkeiten der Überwachung, die eine schnelle Eingrenzung der Wurzelursache erleichtern, aber leider noch zu wenig bekannt sind und kaum genutzt werden. Im Vortrag werden zunächst einige Grundlagen hierfür vorgestellt, insbesondere JMX. Am Beispiel von Apache Tomcat vertiefen wir, welche für das Monitoring sehr spannenden Parameter dort zur Verfügung stehen, aber auch welche Probleme dieser Ansatz mit sich bringt.
Ein kurzer Ausflug in die Analyse von Java-Thread Dumps schließt den Vortrag ab. Thread Dumps sind der wichtigste – das Monitoring ergänzende – Ansatz für das Troubleshooting von Java-Anwendungen, insbesondere wenn es um Performance-Probleme in verteilten Landschaften geht. Nicht zu vergessen: diese Methode kann auch in Produktion verwendet werden.
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdAOE
Sep 08, 2012
Continuous Delivery und Autoscaling von Enterprise Web-Applicationen in der Amazon Cloud
In diesem Vortrag zeigen wir am Beispiel des neuen Angrybird-Onlineshops, der zu Spitzenzeiten bis zu 10 Bestellungen pro Sekunde aufnehmen kann und dabei hochverfügbar ist, wie eine automatisch skalierende Cloud Infrastruktur sowie die nötigen Konzepte aussehen können.
Wir beschreiben die Herausforderungen und unsere Lösungen, um den Shop für ein Multi-Server-Setup vorzubereiten und zu betreiben. Spezielle Anforderungen an eine solche Architektur sowie die Integration von Reverse Proxies (Varnish), die Nutzung eines CDNs, verschiedene Cache-Strategien und weitere Optimierung sind ebenfalls Bestandteil dieses Vortrags. Außerdem stellen wir unsere automatisierte Cloud-Deployment-Strategien vor, angefangen von den Entwicklungsumgebungen, über den continuous Integration Server und unser Testing Framework bis hin zum A/B-Deployment in der Cloud.
Oracle-DB: Panorama-Sampler - Eigenes Workload Repository für PanoramaPeter Ramm
Panorama-Sampler erlaubt die rückwirkende Bewertung von Betriebszuständen der Oracle-DB durch aktive Aufzeichnung der Historie.
Ähnlich dem AWR der Enterprise Edition werden diverse Aspekte protokolliert, inkl. Session- und SQL-Historie.
Rückwirkende Betrachtungen werden somit möglich ohne Lizenzierung des Diagnostics Pack und damit auch nutzbar für Standard Edition.
Veranstaltung "Confluence & JIRA Community Day 2013" in Frankfurt/M. am 21. November 2013.
Eine Präsentation zum Thema "JIRA goes i18n" von Jan Schulz, Head of Project bei der catWorkX GmbH.
Selenium bietet als Testwerkzeug eine große Spanne an Möglichkeiten, Tests für Webcontent zu erstellen. Häufig haben Nutzer jedoch Probleme, mit Selenium robuste Tests zu erzeugen. Ursache für diese Probleme ist oftmals nicht oder ungenügend berücksichtigtes Zeitverhalten.
Selenium bietet von Haus aus Wege an, diese Probleme zu bewältigen. Bei United Planet gehen wir seit Anfang 2017 noch einen Schritt weiter, indem wir ein hauseigenes Selenium Framework verwenden. Die damit gemachten Erfahrungen möchten wir gern mit den Konferenzteilnehmern teilen. Wir möchten unseren Ansatz zeigen, einen hohen Stabilitätsgrad, bei vernünftiger Laufzeit zu erreichen. Darüber hinaus, möchten wir vorführen, wie es uns durch Nutzung von Docker gelingt, unsere Selenium Tests zu parallelisieren und wie wir dabei vorgehen, um fehlgeschlagene Tests mit Hilfe von Screenshots, Videos und Logausgaben zu debuggen.
2. 1. Wieso Profiling bzw. Monitoring?
1. Monitoring
2. Profiling
3. Abgrenzung Monitoring zu Profiling
2. (Basis)Werkzeuge des JDK
1. jps
2. jstat
3. jstatd
Inhalt
01.02.2011 | NEO BUSINESS PARTNERS GmbH
3. jstatd
3. Exkurs: Java Management Extensions (JMX)
4. Exkurs: Java Heaps
5. Exkurs: Garbage Collection
6. Monitoring mit jconsole
7. Profiling mit jvisualvm
1. Übersicht Beispiele
2. Profiling CPU
3. Profiling Memory
3. • Def.: Monitoring ist ein Überbegriff für alle Arten der unmittelbaren
systematischen Erfassung (Protokollierung), Beobachtung oder
Überwachung eines Vorgangs oder Prozesses mittels technischer Hilfsmittel
oder anderer Beobachtungssysteme. Dabei ist die wiederholende
Durchführung ein zentrales Element der jeweiligen
Untersuchungsprogramme, um anhand von Ergebnisvergleichen
Schlussfolgerungen ziehen zu können.
• Die Funktion des Monitorings besteht darin, bei einem beobachteten Ablauf
bzw. Prozess steuernd einzugreifen, sofern dieser nicht den gewünschten
1. Wieso Profiling und Monitoring?
Monitoring
01.02.2011 | NEO BUSINESS PARTNERS GmbH
bzw. Prozess steuernd einzugreifen, sofern dieser nicht den gewünschten
Verlauf nimmt bzw. bestimmte Schwellwerte unter- bzw. überschritten sind.
Monitoring ist deshalb ein Sondertyp des Protokollierens.
4. • Def.: Als Profiler werden Programmierwerkzeuge bezeichnet, die das
Laufzeitverhalten von Software analysieren. Es gibt unterschiedliche
Problembereiche in der Softwareentwicklung, die durch ineffiziente
Programmierung ausgelöst werden.
• Ein Profiler hilft dem Entwickler durch Analyse und Vergleich von laufenden
Programmen die Problembereiche aufzudecken. Daraus kann man
Maßnahmen zur strukturellen und algorithmischen Verbesserung des
Quellcodes ableiten.
• Profiler können bei einer API Analyse zwecks re-engineering sehr behilflich
1. Wieso Profiling und Monitoring?
Profiling
01.02.2011 | NEO BUSINESS PARTNERS GmbH
• Profiler können bei einer API Analyse zwecks re-engineering sehr behilflich
sein, wenn kein Quellcode vorliegt
• Laufzeit oder Speicherprobleme ohne Profiler zu analysieren ist sehr
zeitaufwendig und mühsam. I.d.R. wird umständlicher problemspezifisches
Logging in die Software eingehführt…
• Java Profiler arbeiten i.d.R. mit reversibler Code Instrumentierung zur
Laufzeit
5. • Monitoring wird zur Überwachung und Steuerung eingesetzt
• Mit Monitoring ist es möglich grundsätzlich mögliche Probleme im
Laufzeitverhalten festzustellen -> Anwendung benötigt viel Speicher oder ist
langsam
• Mit Profiling analysiert man durch Benutzer oder Monitoring festgestellte
Probleme im Detail -> Speichernutzung und Performance und leitet
Maßnahmen zur Behebung ab
• D.h. Monitoring trägt der Erkenntnis bei und Profiling der Problembehebung
1. Wieso Profiling und Monitoring?
Abgrenzung Monitoring zu Profiling
01.02.2011 | NEO BUSINESS PARTNERS GmbH
6. • Siehe http://java.sun.com/performance/jvmstat/
• Auszug: JVM Process Status Tool - Lists instrumented HotSpot Java virtual
machines on a target system. (formerly jvmps)
2. (Basis)Werkzeuge des JDK
jps
01.02.2011 | NEO BUSINESS PARTNERS GmbH
• Wird auch von jconsole und jvisualvm genutzt
• Kurz: Listet Java VM Prozesse
• Nützlich: Bedingt
7. • Siehe http://java.sun.com/performance/jvmstat/
• Auszug: JVM Statistics Monitoring Tool - Attaches to an instrumented
HotSpot Java virtual machine and collects and logs performance statistics as
specified by the command line options. (formerly jvmstat)
(Basis)Werkzeuge des JDK
jstat
01.02.2011 | NEO BUSINESS PARTNERS GmbH
• Kurz: Kommandozeilen Monitoring
• Nützlich: Bedingt, da schwierig zu bedienen. Sehr viele Aufrufvariationen. Ist
sicher ein Expertentool und nicht für den täglichen Gebrauch geeignet
• Besser man nutz jconsole/jvsualvm als Frontend
8. • Siehe http://java.sun.com/performance/jvmstat/
• Auszug: JVM jstat Daemon - Launches an RMI server application that
monitors for the creation and termination of instrumented HotSpot Java
virtual machines and provides a interface to allow remote monitoring tools to
attach to Java virtual machines running on the local system. (formerly
perfagent)
• Kurz: Muss auf Zielrechner gestartet sein, wenn man jstat remote auf eine
VM anwenden möchte
(Basis)Werkzeuge des JDK
jstatd
01.02.2011 | NEO BUSINESS PARTNERS GmbH
9. • Erwähnenswert, da Monitoring auch Steuerung betrifft
• Java Management Extensions (JMX) ist eine vom Java Community Process
(JSR-3) entwickelte Spezifikation zur Verwaltung und Überwachung von
Java-Anwendungen
• Vergleiche SNMP
• D.h. es können über die JMX API Management Extensions (MBeans)
entwickelt und in einer VM (MBeanServer) bereitgestellt werden
• Entsprechende Tools können die Management Extensions, welche von einer
3. Exkurs: Java Management Extensions (JMX)
01.02.2011 | NEO BUSINESS PARTNERS GmbH
• Entsprechende Tools können die Management Extensions, welche von einer
VM exponiert werden, listen und aufrufen
• Standard VM/JDK stellt schon viele Extensions bereit, welche Grundlage von
Werkzeugen wie jconsole und jvisualvm sind
• Beispiel folgt
10. • Eden Space (heap): pool from which memory is initially allocated for most
objects.
• Survivor Space (heap): pool containing objects that have survived GC of eden
space.
• Tenured Generation (heap): pool containing objects that have existed for
some time in the survivor space.
• Permanent Generation (non-heap): holds all the reflective data of the virtual
machine itself, such as class and method objects. With JVMs that use class
data sharing, this generation is divided into read-only and read-write areas.
4. Exkurs: Java Heaps (Heap or non-Heap?)
01.02.2011 | NEO BUSINESS PARTNERS GmbH
data sharing, this generation is divided into read-only and read-write areas.
• Code Cache (non-heap): HotSpot JVM also includes a "code cache" containing
memory used for compilation and storage of native code.
• Siehe auch
http://java.sun.com/j2se/reference/whitepapers/memorymanagement_wh
itepaper.pdf
11. • Garbage Collection (GC) ist CPU intensiv
• Teilweise reagiert Anwendung nicht, wenn GC aktiv
• VM Parameter um Garbage Collector Verhalten zu steuern
• Z.B. -XX:+UseParallelGC -XX:ParallelGCThreads=4
• Parallele GC Threads empfohlen bei Muli Core CPUs. VM läuft meist nur in
einer CPU (kein natives threading)
• Garbage Collection wird von der VM möglichst hinausgezögert ->
Performance
5. Exkurs: Garbage Collection
01.02.2011 | NEO BUSINESS PARTNERS GmbH
Performance
• Selektion des Kollektors
• –XX:+UseSerialGC
• –XX:+UseParallelGC
• –XX:+UseParallelOldGC
• –XX:+UseConcMarkSweepGC
• Es gibt also diverse Tuningmöglichkeiten des GCs
• Siehe auch
• http://www.oracle.com/technetwork/java/gc-tuning-5-138395.html
• http://download.oracle.com/javase/6/docs/technotes/guides/management/jconsole.html#gddz
t
12. • jconsole nutz JMX für die Überwachung und Steuerung
• Liest also alle registrierten MBeans und listet deren Daten und Methoden
• MBean stellt Properties (ro/rw) und Methoden bereit
6. Monitoring mit jconsole
JDK_HOME/bin/jconsole
01.02.2011 | NEO BUSINESS PARTNERS GmbH
Startdialog jconsole
13. • Bietet neben Profiling auch Monitoring wie jconsole
7. Profiling mit jvisualvm
JDK_HOME/bin/jvisualvm
01.02.2011 | NEO BUSINESS PARTNERS GmbH
14. Das Tuning bzw. die Analyse von Java Programmen erfordert viel Erfahrung und
wissen über potenzielle Poblembereiche
• „Java Performance Tuning“ - O‘Reilly von Jack Shirazi
• „Effective Java“ – Sun von Joshua Bloch
• „Bitter Java“ – Manning von Bruce A. Tate (lustig)
• „Better, Faster, Lighter Java“ – O‘Reilly von Bruce A. Tate und Justin
Gehtland
7. Profiling mit jvisualvm
Literatur
01.02.2011 | NEO BUSINESS PARTNERS GmbH
Gehtland
Diese Titel habe ich vor vielen Jahren gelesen. Es gibt sicher neue Auflagen bzw.
sind die Weisheiten und Fakten in diesen Büchern immer gültig.
15. Die Vorteile von Profiling bei der Analyse von Speichernutzung und
Laufzeitverhalten werden anhand folgender Beispiele verdeutlicht
• XSLT Verarbeitung: Vergleich von 3 Möglichkeiten der Transformation
• DOM, alle sagen DOM braucht viel Speicher und CPU. Wirklich?
• SAX, ist doch eh viel besser als DOM, oder?
• Stream, die Silberkugel….angeblich gibt es keine
• String Konkatinierung in Schleife
7. Profiling mit jvisualvm
Die Beispiele
01.02.2011 | NEO BUSINESS PARTNERS GmbH
• String, so etwas tut man doch nicht
• StringBuffer, ja genau
• StringBuilder, was ist das?
16. Motivation:
• Man denkt, was dauert den da so lange
• Kunde sagt die Anwendung bzw. eine bestimmte Funktion ist langsam
• Re-engineering
7. Profiling mit jvisualvm
Profiling CPU
01.02.2011 | NEO BUSINESS PARTNERS GmbH
17. Motivation:
• Speicherprobleme in Java? Ja, das gibt es
• Stichwort langlebige Objekte in Verbindung mit Caches (statische Maps etc.)
• Manchmal findet man allerdings nicht wirklich einen Programmierfehler oder
einen ineffizienten Algorithmus. D.h. die Anwendung benötigt naturgemäß
viel Speicher
• XML/XSL: SAX oder DOM?
• Tradeoff Performance <->Speicher
7. Profiling mit jvisualvm
Profiling Memory
01.02.2011 | NEO BUSINESS PARTNERS GmbH
• Tradeoff Performance <->Speicher