All the fundamental concepts and tools for understanding performance tuning in Java. Garbage collection, memory management and collector types and tools for profiling Java applications.
This is a good opportunity for those who want to learn Selenium and wondering where to start from. This presentation covers the topics related to Selenium IDE and locators. This would help in understanding the more complex Selenium Webdriver that will be taken up in next session.
This document introduces Quarkus, an open source Java framework for building container-native microservices. Quarkus uses GraalVM to compile Java code ahead-of-time, resulting in applications that are up to 10x smaller and 100x faster to start than traditional Java applications. It is optimized for Kubernetes and serverless workloads. Quarkus achieves these benefits through ahead-of-time compilation using GraalVM, which analyzes code statically and removes unused classes and code to generate efficient native executables.
Spring Boot is a framework for creating stand-alone, production-grade Spring based Applications that can be "just run". It provides starters for auto-configuration of common Spring and third-party libraries providing features like Thymeleaf, Spring Data JPA, Spring Security, and testing. It aims to remove boilerplate configuration and promote "convention over configuration" for quick development. The document then covers how to run a basic Spring Boot application, use Rest Controllers, Spring Data JPA, Spring Security, and testing. It also discusses deploying the application on a web server and customizing through properties files.
Going Beyond Microsoft IIS Short File Name Disclosure - NahamCon 2023 EditionSoroush Dalili
This document provides an introduction to short file names (SFN) in Windows and discusses issues related to inadvertently disclosing SFNs through IIS. It begins with an overview of how SFNs work and how they map to long file names. It then discusses the history of SFN disclosure through IIS and how it can be abused to reveal sensitive file names. The document provides examples of automatically and manually enumerating SFNs to discover long file names. It concludes with tips and tricks for SFN enumeration along with examples of using it to reveal parts of unknown file names.
Cypress has been gaining popularity during last couple of years. This tool aims to redefine a lot of established concepts that were present in end-to-end testing. Starting with Cypress feels like taking on a totally new testing journey. To be honest, it IS a different journey, but an exciting one. In this webinar, Cypress Ambassador Filip Hric, walks you through the first steps of how to start working with Cypress. Take away a solid understanding of what this tool can and cannot do for you.
DEVOPS 전반적인 것에 대해서 소개를 한 자료입니다.
http://wiki.tunelinux.pe.kr/display/sysadmin/DEVOPS
https://groups.google.com/forum/#!topic/sysadminstudy/g4bM_xbZPC8
DevOps 시작
DevOps 정의
Dev vs Ops 충돌
DevOps 유래
참고자료
애자일 방법론
ITIL
린스타트업
린 생산방식
애자일을 OPS로 확장
DevOps 관점 : 측정지표 관점, 프로세스 관점, 기술 관점
DevOps가 아닌 것은?
DevOps 소개
프로젝트 세팅 : 전통적인 프로젝트 세팅, 애자일 프로세스 세팅
하나의 팀
핵심
가치와 목적
프로세스
도구
DevOps 구성하기
측정지표 : cycle time, 변경(change)
흐름 개선하기
배포 개선 및 가속화 : batch size 줄이고 더 자주 배포하여 cyclle time 줄이기.
못 다한 이야기 : Metrics and Measurement View / Process View / Technical View
Top 11 Things About DevOps
DevOps의 기초 원리 : 전체 시스템적인 사고, 피드백 루프를 확대하기, 지속적인 실헝과 학습
자동화 도구
이상적인 프로젝트란?
버전관리
티켓관리
지속적인 통합(CI)
지속적인 배포(CD)
프로비저닝 툴체인
OS설치
설정
오케스트레이션(배포)/워크플로우
이제 무엇을 할까?
나가면서
참고자료
This document provides an overview of test automation using Cucumber and Calabash. It discusses using Cucumber to write automated test specifications in plain language and Calabash to execute those tests on Android apps. It outlines the environments, tools, and basic steps needed to get started, including installing Ruby and DevKit, creating Cucumber feature files, and using Calabash APIs to automate user interactions like tapping, entering text, and scrolling. The document also explains how to run tests on an Android app and generate an HTML report of the results.
Spring beans can be singleton or prototype. A bean definition defines a bean for Spring to manage including its class, id, and dependencies. Beans are created based on their dependencies with singletons created eagerly and prototypes created lazily. Bean properties are used to inject dependencies and can reference other beans. Beans without ids are anonymous while inner beans define dependencies inline. Init methods run after dependencies are loaded and values can be injected besides other beans. Abstract beans allow reusable bean definitions.
This presentation about Selenium WebDriver will help you understand what is Selenium, why Selenium WebDriver was developed, what exactly is Selenium WebDriver, the architecture of Selenium WebDriver and the limitations of Selenium WebDriver. In the end, we'll be looking at a demo showing the working of WebDriver using java. Selenium is an automated testing tool that tests web applications across various platforms and browsers. WebDriver happens to be one of the Selenium tools with a simple yet robust architecture. It controls the browser based on the user program. WebDriver revolutionized automation testing and continues to do so. Let's move further and understand the selenium web driver in detail.
Below are the topics we will be discussing in the presentation:
1. What is Selenium?
2. Why Selenium WebDriver?
3. What is Selenium WebDriver?
4. The architecture of Selenium WebDriver
5. Limitations of Selenium WebDriver
6. Demo: Automation testing with WebDriver
Selenium training has been designed to help developers and manual testers learn how to automate web applications with a robust framework, and integrate it within the DevOps processes of an organization. The course includes basic as well as advanced concepts of WebDriver and other tools/frameworks like TestNG, Maven, AutoIT, Sikuli, log4j. Special focus is given on building a robust framework with Page Object Design Pattern, Data-Driven Approach, and creating reusable components to improve productivity. The course also covers the Selenium Grid, which along with TestNG helps achieve parallel execution to improve coverage and reduce execution time for faster feedback. Appium is an open source test automation framework for use with native, hybrid, and mobile web applications. The course includes a project where you have to create the test automation for an eCommerce application with a framework and reporting.
What are the objectives of this Selenium training course?
This course will enable you to:
1. Revise the core Java concepts which are essential for learning Selenium WebDriver
2. Understand the scope of Test Automation in DevOps and fundamentals of Test Automation
3. Create Test Cases using Selenium IDE – Record and Playback tool
4. Understand Selenium WebDriver architecture and various layers of interaction
5. Set up WebDriver project in Eclipse and write test cases using TestNG
6. Locate elements using various locating techniques
7. Work with various WebDriver commands to drive web browser and various WebElement commands to deal with various web components
8. Learn to deal with various possible scenarios in terms of pop-ups, multiple Windows, frames, taking screenshots
9. Implement Page Object Design Pattern and Data Driven Testing
10. Understand how to use Maven, ANT, AutoIT, Sikuli, log4j, and listeners
11. Learn to use Selenium Grid with TestNG for parallel execution
Learn more at https://www.simplilearn.com/selenium-certification-training
This session is all about - the mechanism provided by Java Virtual Machine to reclaim heap space from objects which are eligible for Garbage collection.
Jenkins is a tool that allows users to automate multi-step processes that involve dependencies across multiple servers. It can be used to continuously build, test, and deploy code by triggering jobs that integrate code, run tests, deploy updates, and more. Jenkins provides a web-based interface to configure and manage recurring jobs and can scale to include slave agents to perform tasks on other machines. It offers many plugins to support tasks like testing, deployment, and notifications.
Cypress is an end-to-end testing framework that focuses on doing testing well through features like time travel debugging, real-time reloads, and automatic waiting. It works on any frontend framework and tests are written in JavaScript alone. Cypress provides an all-in-one solution for developers and QA engineers to set up testing, write Cucumber tests, run and debug tests from a dashboard or command line, and generate reports including screenshots, videos, and JUnit files.
This document provides an introduction and overview of Java Server Pages (JSP) technology. It discusses what JSP is, its advantages over other technologies like CGI and servlets, its life cycle, and how to create basic JSP applications. Key points include: JSP allows embedding dynamic Java code in HTML pages, separates presentation and business logic, offers performance benefits over CGI, and supports features like tag libraries. The JSP life cycle mirrors that of servlets, with an initial translation of JSP to servlet code before compilation and execution.
Async/await and the Task model are the main features of C# 5/.NET 4.5. While asynchronous programming can be done in most languages, all have different specifics, usage and trade-offs. You will see, in this presentation, what is the asynchronous Task model in .NET and why it matters for web apps.
Handle Exceptions in Selenium Webdriver | EdurekaEdureka!
** Selenium Certification Training: https://www.edureka.co/testing-with-selenium-webdriver **
This Edureka PPT on Exceptions in Selenium Webdriver will talk about exception handling in selenium. It will also tell you about various types of exceptions and how to handle them using various methods. Below topics are covered in this PPT:
What is Exception handling?
Exception Hierarchy
Checked vs Unchecked Exceptions
Types of Exceptions
Exception Methods
Selenium playlist: https://goo.gl/NmuzXE
Selenium Blog playlist: http://bit.ly/2B7C3QR
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
The document provides an overview of the Spring framework. It discusses that Spring simplifies enterprise Java development through dependency injection, aspect-oriented programming, and reducing boilerplate code. It describes the main Spring modules including the core container, AOP, DAO, and web modules. The core container manages the beans in a Spring application, creating, configuring, and wiring them together. The document contrasts BeanFactory and ApplicationContext, noting ApplicationContext provides additional features like internationalization support and publishing events.
Node.js is an introduction to the Node.js platform for developing server-side JavaScript applications. It discusses Node.js background and architecture, JavaScript basics, installing Node.js and setting up a development environment. It then demonstrates building a simple web application using Express and connecting it to MongoDB. The document provides an overview of Node.js advantages like asynchronous non-blocking I/O and event-driven model that make it well-suited for real-time applications and APIs.
SSL Pinning and HSTS header will be used to prevent man in the middle attack. the slide has detail information about the same. it can be very useful for the web application penetration tester and developer.
This document provides an overview and instructions for setting up Jenkins continuous integration software. It discusses downloading and installing Jenkins, integrating it with Tomcat and configuring plugins to support version control with Git and builds with Maven. The tutorial is intended to help software testers learn how to continuously build and test projects to integrate changes quickly and obtain fresh builds.
Neotys certification certifies that Harish Srivastava successfully completed the requirements to become a NeoLoad Public Training 4.1 on July 25, 2013. The certification is signed by Thibaud Bussière, President of Neotys, and Bruno Duval, Vice President of Professional Services at Neotys.
This document discusses Huang Xiaoqing's work from May 22nd to May 23rd 2015. It includes details on tasks completed each day, formulas learned, sample code to find the next day given a date string, and test cases for different scenarios. The document concludes by thanking the reader.
Going Beyond Microsoft IIS Short File Name Disclosure - NahamCon 2023 EditionSoroush Dalili
This document provides an introduction to short file names (SFN) in Windows and discusses issues related to inadvertently disclosing SFNs through IIS. It begins with an overview of how SFNs work and how they map to long file names. It then discusses the history of SFN disclosure through IIS and how it can be abused to reveal sensitive file names. The document provides examples of automatically and manually enumerating SFNs to discover long file names. It concludes with tips and tricks for SFN enumeration along with examples of using it to reveal parts of unknown file names.
Cypress has been gaining popularity during last couple of years. This tool aims to redefine a lot of established concepts that were present in end-to-end testing. Starting with Cypress feels like taking on a totally new testing journey. To be honest, it IS a different journey, but an exciting one. In this webinar, Cypress Ambassador Filip Hric, walks you through the first steps of how to start working with Cypress. Take away a solid understanding of what this tool can and cannot do for you.
DEVOPS 전반적인 것에 대해서 소개를 한 자료입니다.
http://wiki.tunelinux.pe.kr/display/sysadmin/DEVOPS
https://groups.google.com/forum/#!topic/sysadminstudy/g4bM_xbZPC8
DevOps 시작
DevOps 정의
Dev vs Ops 충돌
DevOps 유래
참고자료
애자일 방법론
ITIL
린스타트업
린 생산방식
애자일을 OPS로 확장
DevOps 관점 : 측정지표 관점, 프로세스 관점, 기술 관점
DevOps가 아닌 것은?
DevOps 소개
프로젝트 세팅 : 전통적인 프로젝트 세팅, 애자일 프로세스 세팅
하나의 팀
핵심
가치와 목적
프로세스
도구
DevOps 구성하기
측정지표 : cycle time, 변경(change)
흐름 개선하기
배포 개선 및 가속화 : batch size 줄이고 더 자주 배포하여 cyclle time 줄이기.
못 다한 이야기 : Metrics and Measurement View / Process View / Technical View
Top 11 Things About DevOps
DevOps의 기초 원리 : 전체 시스템적인 사고, 피드백 루프를 확대하기, 지속적인 실헝과 학습
자동화 도구
이상적인 프로젝트란?
버전관리
티켓관리
지속적인 통합(CI)
지속적인 배포(CD)
프로비저닝 툴체인
OS설치
설정
오케스트레이션(배포)/워크플로우
이제 무엇을 할까?
나가면서
참고자료
This document provides an overview of test automation using Cucumber and Calabash. It discusses using Cucumber to write automated test specifications in plain language and Calabash to execute those tests on Android apps. It outlines the environments, tools, and basic steps needed to get started, including installing Ruby and DevKit, creating Cucumber feature files, and using Calabash APIs to automate user interactions like tapping, entering text, and scrolling. The document also explains how to run tests on an Android app and generate an HTML report of the results.
Spring beans can be singleton or prototype. A bean definition defines a bean for Spring to manage including its class, id, and dependencies. Beans are created based on their dependencies with singletons created eagerly and prototypes created lazily. Bean properties are used to inject dependencies and can reference other beans. Beans without ids are anonymous while inner beans define dependencies inline. Init methods run after dependencies are loaded and values can be injected besides other beans. Abstract beans allow reusable bean definitions.
This presentation about Selenium WebDriver will help you understand what is Selenium, why Selenium WebDriver was developed, what exactly is Selenium WebDriver, the architecture of Selenium WebDriver and the limitations of Selenium WebDriver. In the end, we'll be looking at a demo showing the working of WebDriver using java. Selenium is an automated testing tool that tests web applications across various platforms and browsers. WebDriver happens to be one of the Selenium tools with a simple yet robust architecture. It controls the browser based on the user program. WebDriver revolutionized automation testing and continues to do so. Let's move further and understand the selenium web driver in detail.
Below are the topics we will be discussing in the presentation:
1. What is Selenium?
2. Why Selenium WebDriver?
3. What is Selenium WebDriver?
4. The architecture of Selenium WebDriver
5. Limitations of Selenium WebDriver
6. Demo: Automation testing with WebDriver
Selenium training has been designed to help developers and manual testers learn how to automate web applications with a robust framework, and integrate it within the DevOps processes of an organization. The course includes basic as well as advanced concepts of WebDriver and other tools/frameworks like TestNG, Maven, AutoIT, Sikuli, log4j. Special focus is given on building a robust framework with Page Object Design Pattern, Data-Driven Approach, and creating reusable components to improve productivity. The course also covers the Selenium Grid, which along with TestNG helps achieve parallel execution to improve coverage and reduce execution time for faster feedback. Appium is an open source test automation framework for use with native, hybrid, and mobile web applications. The course includes a project where you have to create the test automation for an eCommerce application with a framework and reporting.
What are the objectives of this Selenium training course?
This course will enable you to:
1. Revise the core Java concepts which are essential for learning Selenium WebDriver
2. Understand the scope of Test Automation in DevOps and fundamentals of Test Automation
3. Create Test Cases using Selenium IDE – Record and Playback tool
4. Understand Selenium WebDriver architecture and various layers of interaction
5. Set up WebDriver project in Eclipse and write test cases using TestNG
6. Locate elements using various locating techniques
7. Work with various WebDriver commands to drive web browser and various WebElement commands to deal with various web components
8. Learn to deal with various possible scenarios in terms of pop-ups, multiple Windows, frames, taking screenshots
9. Implement Page Object Design Pattern and Data Driven Testing
10. Understand how to use Maven, ANT, AutoIT, Sikuli, log4j, and listeners
11. Learn to use Selenium Grid with TestNG for parallel execution
Learn more at https://www.simplilearn.com/selenium-certification-training
This session is all about - the mechanism provided by Java Virtual Machine to reclaim heap space from objects which are eligible for Garbage collection.
Jenkins is a tool that allows users to automate multi-step processes that involve dependencies across multiple servers. It can be used to continuously build, test, and deploy code by triggering jobs that integrate code, run tests, deploy updates, and more. Jenkins provides a web-based interface to configure and manage recurring jobs and can scale to include slave agents to perform tasks on other machines. It offers many plugins to support tasks like testing, deployment, and notifications.
Cypress is an end-to-end testing framework that focuses on doing testing well through features like time travel debugging, real-time reloads, and automatic waiting. It works on any frontend framework and tests are written in JavaScript alone. Cypress provides an all-in-one solution for developers and QA engineers to set up testing, write Cucumber tests, run and debug tests from a dashboard or command line, and generate reports including screenshots, videos, and JUnit files.
This document provides an introduction and overview of Java Server Pages (JSP) technology. It discusses what JSP is, its advantages over other technologies like CGI and servlets, its life cycle, and how to create basic JSP applications. Key points include: JSP allows embedding dynamic Java code in HTML pages, separates presentation and business logic, offers performance benefits over CGI, and supports features like tag libraries. The JSP life cycle mirrors that of servlets, with an initial translation of JSP to servlet code before compilation and execution.
Async/await and the Task model are the main features of C# 5/.NET 4.5. While asynchronous programming can be done in most languages, all have different specifics, usage and trade-offs. You will see, in this presentation, what is the asynchronous Task model in .NET and why it matters for web apps.
Handle Exceptions in Selenium Webdriver | EdurekaEdureka!
** Selenium Certification Training: https://www.edureka.co/testing-with-selenium-webdriver **
This Edureka PPT on Exceptions in Selenium Webdriver will talk about exception handling in selenium. It will also tell you about various types of exceptions and how to handle them using various methods. Below topics are covered in this PPT:
What is Exception handling?
Exception Hierarchy
Checked vs Unchecked Exceptions
Types of Exceptions
Exception Methods
Selenium playlist: https://goo.gl/NmuzXE
Selenium Blog playlist: http://bit.ly/2B7C3QR
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
The document provides an overview of the Spring framework. It discusses that Spring simplifies enterprise Java development through dependency injection, aspect-oriented programming, and reducing boilerplate code. It describes the main Spring modules including the core container, AOP, DAO, and web modules. The core container manages the beans in a Spring application, creating, configuring, and wiring them together. The document contrasts BeanFactory and ApplicationContext, noting ApplicationContext provides additional features like internationalization support and publishing events.
Node.js is an introduction to the Node.js platform for developing server-side JavaScript applications. It discusses Node.js background and architecture, JavaScript basics, installing Node.js and setting up a development environment. It then demonstrates building a simple web application using Express and connecting it to MongoDB. The document provides an overview of Node.js advantages like asynchronous non-blocking I/O and event-driven model that make it well-suited for real-time applications and APIs.
SSL Pinning and HSTS header will be used to prevent man in the middle attack. the slide has detail information about the same. it can be very useful for the web application penetration tester and developer.
This document provides an overview and instructions for setting up Jenkins continuous integration software. It discusses downloading and installing Jenkins, integrating it with Tomcat and configuring plugins to support version control with Git and builds with Maven. The tutorial is intended to help software testers learn how to continuously build and test projects to integrate changes quickly and obtain fresh builds.
Neotys certification certifies that Harish Srivastava successfully completed the requirements to become a NeoLoad Public Training 4.1 on July 25, 2013. The certification is signed by Thibaud Bussière, President of Neotys, and Bruno Duval, Vice President of Professional Services at Neotys.
This document discusses Huang Xiaoqing's work from May 22nd to May 23rd 2015. It includes details on tasks completed each day, formulas learned, sample code to find the next day given a date string, and test cases for different scenarios. The document concludes by thanking the reader.
This presentation is a feedback of how I wrote a simple lock profiler on the JVM, including architectural overview, limits of the current approach and roadmap for future versions
The document discusses Java locks and the ReentrantLock interface. It describes various methods for acquiring locks, such as lock(), tryLock(), and lockInterruptibly(). It notes that synchronized blocks do not guarantee thread access sequence or allow parameters like timeouts. ReentrantLock implements the Lock interface and allows the same thread to acquire the same lock multiple times. Its benefits include interruptible locking, timeouts, creating fair locks, and listing waiting threads.
The document discusses garbage collection and object graphs. It lists objects and their outgoing references, showing how objects are connected and retained in memory. It also covers using Log4j in web applications and ensuring proper cleanup of logging resources during undeployment.
This document contains Nginx configuration for redirecting HTTP to HTTPS and proxying HTTPS requests to a Tomcat server. It also describes configuring Tomcat and Jira to trust the X-Forwarded-For, X-Forwarded-Proto, and PROXY headers set by Nginx so they know the original client IP and protocol.
The document provides instructions for making pork spare ribs with apples, bell peppers, asparagus, and potatoes. It involves washing the ribs and scalding them for 2 minutes before marinating them in a mixture of soy sauce, BBQ sauce, ginger, garlic, and black pepper for 30 minutes. The marinated ribs are then baked for 25 minutes with bell peppers and asparagus at 180°C, brushing with additional BBQ sauce, before being served.
Save JVM by Yourself: Real War Experiences of OOMLeon Chen
The document discusses garbage collection and object graphs. It lists objects and their outgoing references, showing how objects are connected and retained in memory. It also covers how Log4j must be configured for proper cleanup in web applications to avoid issues.
The document provides an overview of load testing using NeoLoad. It discusses why load testing is important, the differences between functional and load testing, and the main components of NeoLoad including scripting, execution, analysis and monitoring. It then describes the basic process of creating a NeoLoad test including recording a scenario to create a virtual user, setting the population size and scenario, running the test, and analyzing results on things like response times, errors and graphs. Communication between NeoLoad and the server is agentless using push technology.
This document discusses Scribe and Thrift, log aggregation systems developed by Facebook. It provides an overview of Scribe, which is used to collect log data from different servers and applications. Scribe uses Thrift for its RPC communication and does not rely on a central server - if the central server is unavailable, log data will be stored locally and synced once the server is available again. The document also discusses installing and configuring Scribe and Thrift on a Linux system and implementing a simple logging example.
Introduction: This session discusses simple guidelines that can help develop reliable and high performing parallelism friendly applications in Java. It introduces some of the best practices that can be adopted in Concurrent programming in Java. The session also briefly explains various techniques used by the Java Virtual Machine to optimize synchronization.
Background: Over the years, there has been significant amount of work to make Java support concurrency with less overhead. With the advent of multi-cores, Parallelism is very essential to increase the Application throughput. Parallelism introduces atomicity and visibility issues. From Java 5 onwards, significant improvements like java.util.concurrency, Latches, Barriers are introduced to support Concurrency.
Considerable improvements have also been done at the Virtual Machine level to optimize synchronizations.
Session Agenda: The Session focuses on the “What?Why?How? of Concurrency” in java. It briefly describes the synchronizing features available in Java. A common set of pitfalls faced in Concurrent programming and methods to over come these pitfalls are also introduced. Usage of concurrent collections, Latches and Barriers is demonstrated. Much attention has been given to optimize lock management and synchronization in Java virtual machine. Features like biased locking, lock coarsening, lock elision by escape analysis and adaptive spin locking aim at this optimization. The Session explains each of these features.
Summary: The session describes some of the best practices in developing bug-free concurrent applications. Common pitfalls encountered in concurrent design and methods to avoid such pitfalls are also described.
This document provides an overview of Java concurrency and thread synchronization. It discusses synchronizing methods, arranging independent attributes, using conditions, synchronizing with locks, read/write locks, lock fairness, and multiple conditions. Examples include synchronizing access to bank accounts, cinema ticket sales, a producer-consumer problem, and a print queue simulation. Key synchronization mechanisms in Java include the synchronized keyword, Lock interface, and Condition interface.
Presentation describes basic concepts of thread pool such as:
- interacting with queues,
- using pools from Executors class,
- task rejecting
- using ThreadFactory for thread creating
- Future and Callable interfaces,
- basic API
- possibilities for extending
This document provides an overview of garbage collection in Java. It begins with an introduction to the presenter Leon Chen and his background. It then discusses Java memory management and garbage collection fundamentals, including the young and old generations, minor and major garbage collections, and how objects are promoted between generations. The document provides examples of garbage collection using diagrams and discusses tuning the Java heap size based on the live data size. It emphasizes the importance of garbage collection logging for performance analysis.
The document discusses memory management and garbage collection in the Hotspot Java Virtual Machine. It describes different garbage collection algorithms like mark-sweep, copying, and generational collection. It explains the different garbage collectors in Hotspot JVM like serial, parallel, parallel compacting, and concurrent mark sweep collectors. It also discusses some key garbage collection terminology and metrics.
This document discusses tuning garbage collection in the Java Virtual Machine. It describes key metrics for measuring garbage collection performance like throughput, footprint, and pause times. Factors that impact these metrics like generation sizing, survivor space ratios, and garbage collector selection are explained. The document also provides guidance on using JVM flags and garbage collection logs to analyze and improve performance.
This document discusses garbage collection in Java. It begins by explaining the motivation for garbage collection in Java, such as avoiding memory leaks and heap corruption. It then covers the goals of garbage collectors, including minimizing memory overhead, maximizing application throughput while keeping pause times low. Different types of garbage collectors are described, such as serial, parallel, CMS, and G1 collectors. Key concepts like generations, GC roots, and safe points are also summarized.
The document discusses Java garbage collection and GC-friendly coding practices. It covers key GC concepts like generational collection, card marking, and write barriers. It describes the different GC algorithms like generational, G1, and parallel collection. It provides examples of GC-friendly techniques like avoiding large or complex objects, using object pooling, and properly using reference types. The goal is to minimize object retention and graph complexity to reduce GC pause times.
Virtual machines don't have to be slow, they don't even have to be slower than running native code.
All you have to do is write your code, lay back and let the JVM do its magic !
Learn about various JVM runtime optimizations and why is it considered one of the best VMs in the world.
The document summarizes how garbage collection works in Java. It describes the marking phase where referenced and unreferenced objects are identified. Unreferenced objects are then deleted in the normal deletion step. For better performance, referenced objects can also be compacted together. The document further explains generational garbage collection, where new objects are allocated to the young generation and aged objects are promoted to the old generation. Minor and major garbage collections handle each generation. Different garbage collectors, like serial, parallel, CMS and G1, are also summarized regarding their implementation and suitability for different applications.
An Introduction to JVM Internals and Garbage Collection in JavaAbhishek Asthana
This document provides an overview of Java memory structures and garbage collection. It discusses the key areas of memory used by the JVM - heap, method area, native area, and threads. It then covers garbage collection concepts like roots, algorithms like mark-sweep-compact, and different GC strategies like serial, parallel, concurrent mark-sweep, and Garbage First collector. Performance metrics for evaluating GC and how objects transition between generations in generational collection are also summarized.
A presentation on how automatic memory management and adaptive compilation impact on latency of applications. Includes some ideas on how to minimise these affects.
This slide will explain about building blocks of JVM optimization for you java based application.
It explains basics of heap concepts and different type of java garbage collectors.
This document provides an overview of Java Virtual Machine (JVM) concepts including the Java process life cycle, class loading, JVM memory layout, garbage collection, and tools for monitoring JVM performance and debugging issues. Key topics covered include the Java main method, class loader hierarchy, object size calculation, generational garbage collection, and commands like jinfo, jstack, jstat, jmap for viewing thread dumps, GC statistics, and heap information.
Are your application's tail-latencies holding it back from delivering its near-real time SLOs? Do your in-memory processing platform's long pauses only get worse with increasing heap sizes? How about those latency spikes causing variability in your end-to-end latency for your multi-tiered distributed systems?
If any of the above keep you up at night, then have no fear as Z Garbage Collector (GC) is here and is production ready in JDK 15.
In this talk, Monica Beckwith will cover the basics of Z GC and contrast it with G1 GC (the current default collector for OpenJDK JDK 11 LTS and tip).
This presentation is primarily based on Oracle's "Java SE 6 HotSpot™ Virtual Machine Garbage Collection Tuning" document.
This introduces how Java manages memory using generations, available garbage collectors and how to tune them to achieve desired performance.
The document discusses garbage collection in the Java Virtual Machine. It outlines the runtime data areas of JVM including heap, stacks, and method area. It describes different approaches to determining if an object is live or dead including reference counting and tracing GC roots. The document then explains common garbage collection algorithms like mark-sweep and copying and how different garbage collectors in Hotspot JVM like Serial, Parallel, and CMS work. It also discusses policies for object allocation and handling promotion of objects.
Have you ever seen an OutOfMemoryError? I'm sure you have. But then, did you understood that line you copied from StackOverflow?
If you haven't, and if you want a gently introduction to the complex world of Java Garbage Collection this is your talk.
I'll talk about garbage collection concepts, the garbage collection in the Hotspot JVM (the default in Oraclel's JDK/JRE) and I'll try to put it in terms that any Java developer can grasp. The next time you'll face the dreaded 'OutOfMemoryError', at least, you'll know what are you up against.
The document discusses Java memory management and garbage collection. It explains that the garbage collector manages Java memory and object allocation. Selecting the right garbage collection algorithm and properly sizing it is important for application performance. The document also provides tips on optimizing Java configuration such as configuring garbage collection logging, analyzing logs, tuning heap memory size, and taking heap dumps for troubleshooting.
The Java memory model and the Garbage Collector can drive you into serious problems if you don't know how it runs, defrags, and remove objects - this presentation is not updated for Java 8.
.NET Core, ASP.NET Core Course, Session 4Amin Mesbahi
Session 4,
What is Garbage Collector?
Fundamentals of memory
Conditions for a garbage collection
Generations
Configuring garbage collection
Workstation
Server
Java Garbage Collectors – Moving to Java7 Garbage First (G1) CollectorGurpreet Sachdeva
One of the key strengths of JVM is automatic memory management (Garbage Collection). Its understanding can help in writing better applications. This becomes all the more important as enterprise server applications have large amount of live heap data and significant parallel threads. Until recently, main collectors were parallel collector and concurrent-mark-sweep (CMS) collector. This presentation introduces the various Garbage Collectors and compares the CMS collector against its replacement, a new implementation in Java7 i.e. G1. It is characterized by a single contiguous heap which is split into same-sized regions. In fact if your application is still running on the 1.5 or 1.6 JVM, a compelling argument to upgrade to Java 7 is to leverage G1.
Diagnosing Problems in Production - CassandraJon Haddad
1) The document discusses various tools for diagnosing problems in Cassandra production environments, including OpsCenter for monitoring, application metrics collection with Statsd/Graphite, and log aggregation with Splunk or Logstash.
2) Some common issues covered are incorrect server times causing data inconsistencies, tombstone overhead slowing queries, not using the proper snitch, and disk space not being reclaimed on new nodes.
3) Diagnostic tools described are htop, iostat, vmstat, dstat, strace, tcpdump, and nodetool for investigating process activity, disk usage, memory, networking, and Cassandra-specific statistics. GC profiling and query tracing are also recommended.
JVM memory metrics and rules for detecting possible OOM caused crashAtharva Bhingarkar
The document describes memory usage pattern in JVM at OOM, and identifies rules for an early detection system which can alert about impending OOM error, and hence a crash.
How Can I use the AI Hype in my Business Context?Daniel Lehner
𝙄𝙨 𝘼𝙄 𝙟𝙪𝙨𝙩 𝙝𝙮𝙥𝙚? 𝙊𝙧 𝙞𝙨 𝙞𝙩 𝙩𝙝𝙚 𝙜𝙖𝙢𝙚 𝙘𝙝𝙖𝙣𝙜𝙚𝙧 𝙮𝙤𝙪𝙧 𝙗𝙪𝙨𝙞𝙣𝙚𝙨𝙨 𝙣𝙚𝙚𝙙𝙨?
Everyone’s talking about AI but is anyone really using it to create real value?
Most companies want to leverage AI. Few know 𝗵𝗼𝘄.
✅ What exactly should you ask to find real AI opportunities?
✅ Which AI techniques actually fit your business?
✅ Is your data even ready for AI?
If you’re not sure, you’re not alone. This is a condensed version of the slides I presented at a Linkedin webinar for Tecnovy on 28.04.2025.
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPathCommunity
Join this UiPath Community Berlin meetup to explore the Orchestrator API, Swagger interface, and the Test Manager API. Learn how to leverage these tools to streamline automation, enhance testing, and integrate more efficiently with UiPath. Perfect for developers, testers, and automation enthusiasts!
📕 Agenda
Welcome & Introductions
Orchestrator API Overview
Exploring the Swagger Interface
Test Manager API Highlights
Streamlining Automation & Testing with APIs (Demo)
Q&A and Open Discussion
Perfect for developers, testers, and automation enthusiasts!
👉 Join our UiPath Community Berlin chapter: https://community.uipath.com/berlin/
This session streamed live on April 29, 2025, 18:00 CET.
Check out all our upcoming UiPath Community sessions at https://community.uipath.com/events/.
Procurement Insights Cost To Value Guide.pptxJon Hansen
Procurement Insights integrated Historic Procurement Industry Archives, serves as a powerful complement — not a competitor — to other procurement industry firms. It fills critical gaps in depth, agility, and contextual insight that most traditional analyst and association models overlook.
Learn more about this value- driven proprietary service offering here.
Mobile App Development Company in Saudi ArabiaSteve Jonas
EmizenTech is a globally recognized software development company, proudly serving businesses since 2013. With over 11+ years of industry experience and a team of 200+ skilled professionals, we have successfully delivered 1200+ projects across various sectors. As a leading Mobile App Development Company In Saudi Arabia we offer end-to-end solutions for iOS, Android, and cross-platform applications. Our apps are known for their user-friendly interfaces, scalability, high performance, and strong security features. We tailor each mobile application to meet the unique needs of different industries, ensuring a seamless user experience. EmizenTech is committed to turning your vision into a powerful digital product that drives growth, innovation, and long-term success in the competitive mobile landscape of Saudi Arabia.
This is the keynote of the Into the Box conference, highlighting the release of the BoxLang JVM language, its key enhancements, and its vision for the future.
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveScyllaDB
Want to learn practical tips for designing systems that can scale efficiently without compromising speed?
Join us for a workshop where we’ll address these challenges head-on and explore how to architect low-latency systems using Rust. During this free interactive workshop oriented for developers, engineers, and architects, we’ll cover how Rust’s unique language features and the Tokio async runtime enable high-performance application development.
As you explore key principles of designing low-latency systems with Rust, you will learn how to:
- Create and compile a real-world app with Rust
- Connect the application to ScyllaDB (NoSQL data store)
- Negotiate tradeoffs related to data modeling and querying
- Manage and monitor the database for consistently low latencies
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025BookNet Canada
Book industry standards are evolving rapidly. In the first part of this session, we’ll share an overview of key developments from 2024 and the early months of 2025. Then, BookNet’s resident standards expert, Tom Richardson, and CEO, Lauren Stewart, have a forward-looking conversation about what’s next.
Link to recording, transcript, and accompanying resource: https://bnctechforum.ca/sessions/standardsgoals-for-2025-standards-certification-roundup/
Presented by BookNet Canada on May 6, 2025 with support from the Department of Canadian Heritage.
Artificial Intelligence is providing benefits in many areas of work within the heritage sector, from image analysis, to ideas generation, and new research tools. However, it is more critical than ever for people, with analogue intelligence, to ensure the integrity and ethical use of AI. Including real people can improve the use of AI by identifying potential biases, cross-checking results, refining workflows, and providing contextual relevance to AI-driven results.
News about the impact of AI often paints a rosy picture. In practice, there are many potential pitfalls. This presentation discusses these issues and looks at the role of analogue intelligence and analogue interfaces in providing the best results to our audiences. How do we deal with factually incorrect results? How do we get content generated that better reflects the diversity of our communities? What roles are there for physical, in-person experiences in the digital world?
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxshyamraj55
We’re bringing the TDX energy to our community with 2 power-packed sessions:
🛠️ Workshop: MuleSoft for Agentforce
Explore the new version of our hands-on workshop featuring the latest Topic Center and API Catalog updates.
📄 Talk: Power Up Document Processing
Dive into smart automation with MuleSoft IDP, NLP, and Einstein AI for intelligent document workflows.
Role of Data Annotation Services in AI-Powered ManufacturingAndrew Leo
From predictive maintenance to robotic automation, AI is driving the future of manufacturing. But without high-quality annotated data, even the smartest models fall short.
Discover how data annotation services are powering accuracy, safety, and efficiency in AI-driven manufacturing systems.
Precision in data labeling = Precision on the production floor.
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc
Most consumers believe they’re making informed decisions about their personal data—adjusting privacy settings, blocking trackers, and opting out where they can. However, our new research reveals that while awareness is high, taking meaningful action is still lacking. On the corporate side, many organizations report strong policies for managing third-party data and consumer consent yet fall short when it comes to consistency, accountability and transparency.
This session will explore the research findings from TrustArc’s Privacy Pulse Survey, examining consumer attitudes toward personal data collection and practical suggestions for corporate practices around purchasing third-party data.
Attendees will learn:
- Consumer awareness around data brokers and what consumers are doing to limit data collection
- How businesses assess third-party vendors and their consent management operations
- Where business preparedness needs improvement
- What these trends mean for the future of privacy governance and public trust
This discussion is essential for privacy, risk, and compliance professionals who want to ground their strategies in current data and prepare for what’s next in the privacy landscape.
Technology Trends in 2025: AI and Big Data AnalyticsInData Labs
At InData Labs, we have been keeping an ear to the ground, looking out for AI-enabled digital transformation trends coming our way in 2025. Our report will provide a look into the technology landscape of the future, including:
-Artificial Intelligence Market Overview
-Strategies for AI Adoption in 2025
-Anticipated drivers of AI adoption and transformative technologies
-Benefits of AI and Big data for your business
-Tips on how to prepare your business for innovation
-AI and data privacy: Strategies for securing data privacy in AI models, etc.
Download your free copy nowand implement the key findings to improve your business.
HCL Nomad Web – Best Practices and Managing Multiuser Environmentspanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-nomad-web-best-practices-and-managing-multiuser-environments/
HCL Nomad Web is heralded as the next generation of the HCL Notes client, offering numerous advantages such as eliminating the need for packaging, distribution, and installation. Nomad Web client upgrades will be installed “automatically” in the background. This significantly reduces the administrative footprint compared to traditional HCL Notes clients. However, troubleshooting issues in Nomad Web present unique challenges compared to the Notes client.
Join Christoph and Marc as they demonstrate how to simplify the troubleshooting process in HCL Nomad Web, ensuring a smoother and more efficient user experience.
In this webinar, we will explore effective strategies for diagnosing and resolving common problems in HCL Nomad Web, including
- Accessing the console
- Locating and interpreting log files
- Accessing the data folder within the browser’s cache (using OPFS)
- Understand the difference between single- and multi-user scenarios
- Utilizing Client Clocking
Book industry standards are evolving rapidly. In the first part of this session, we’ll share an overview of key developments from 2024 and the early months of 2025. Then, BookNet’s resident standards expert, Tom Richardson, and CEO, Lauren Stewart, have a forward-looking conversation about what’s next.
Link to recording, presentation slides, and accompanying resource: https://bnctechforum.ca/sessions/standardsgoals-for-2025-standards-certification-roundup/
Presented by BookNet Canada on May 6, 2025 with support from the Department of Canadian Heritage.
Quantum Computing Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Impelsys Inc.
Impelsys provided a robust testing solution, leveraging a risk-based and requirement-mapped approach to validate ICU Connect and CritiXpert. A well-defined test suite was developed to assess data communication, clinical data collection, transformation, and visualization across integrated devices.
2. Agenda - Garbage Collection
1. JVM Architecture
Components of GC
2. Fundamentals of Garbage Collection
3. GC Algorithms
• Generational GC
Young generation
Old Generation
Minor and Major GC
• Serial and Parallel GC
• STW and Concurrent GC
• CMS GC
3. • More time in GC means more application thread pauses.
• Higher the number of objects, higher is the memory foot print
and thereby more work for GC to reclaim memory.
• Large heap - more time for GC to trigger.
• Small heap - less time but frequent GCs.
Why GC Monitoring important?
• GC compute intensive - CPU overhead. More the time taken
by GC, slower will be your application.
• Throughput : Total time spent in not doing GC.
• Pause Time: The time for which the application threads
stopped while collecting.
• Promptness: time between objects death and its collection
5. 1) Classloader:
Classloader is a subsystem of JVM that is used to load class files.
2) Class(Method) Area:
It stores per-class structures such as the runtime constant pool, field and
method data, the code for methods.
3) Heap:
It is the runtime data area in which objects are allocated.
4) Stack:
Each thread has its own PC register and a Java stack. A new frame is created
each time a method is invoked and is destroyed when its method invocation
completes. The stack stores primitive local variables and object references along
with the call stack.
5) Program Counter Register:
It contains the address of the Java virtual machine instruction currently being
executed.
HotSpot JVM: Architecture
6. 6) Native Method Stack:
It contains all the native methods used in the application.
7) Execution Engine:
A virtual processor
Interpreter:
Reads bytecode stream and executes the instructions.
Just-In-Time(JIT) compiler:
JIT compiles parts of the byte code that have similar functionality at the
same time, and hence reduces the amount of time needed to compile. Here the
term “compiler” refers to a translator from the instruction set of a JVM to the
instruction set of a specific CPU.
HotSpot JVM: Architecture
8. Before Marking
After Marking
Garbage Collector first performs a task called
Marking.
Each object which the GC meets is marked as
being used and will not be deleted in the
sweeping stage.
Fundamentals of Garbage
Collection
10. The Sweeping stage is where the deletion of the objects takes
place.
The traditional way is to let the allocator methods use complex data
structures to search the memory for the required space.
Fundamentals of Garbage Collection
11. Deletion with
compacting
Compact the memory by moving objects close to each other.
Object allocation is faster.
Fundamentals of Garbage Collection
14. Generational Garbage Collection
HotSpot uses “Generational Collectors”
HotSpot Java heap is allocated into generational spaces.
Memory space is divided into three sections:
• Young Generation (for young objects)
Eden
A “from” survivor space
A “to” survivor space
• Tenured (old) generation (for old objects)
• Permanent generation (meta data, classes and so on)
15. Features of Young Generational Space
• GCs occur relatively frequent.
• GCs are fast and efficient because young generation space is
usually small and likely to contain a lot of short lived objects.
• Objects that survive some number of young generation
collections are promoted to old generation heap space.
Features of Old Generational Space
• Typically larger than young generation heap space
• Its occupancy grows slowly
• GCs are infrequent but takes significantly longer time to
complete than young generational heap space.
GCs in old generation space should be minimized.
Generational Garbage Collection
17. New objects are allocated to the Eden space.
When Eden space is full, a minor GC is triggered
(Stop the world event)
Young GC process
Generational Garbage Collection
18. Unreferenced objects are garbage collected.
Referenced objects are copied to survivor space and have
their age incremented.
Young GC process
Generational Garbage Collection
19. After objects are moved to the survivor space, Eden space is
cleared.
The from survivor space is also cleared.
Young GC process
Generational Garbage Collection
20. Next Minor GC
Referenced objects from last GC become "from" Survivor
space.
Referenced objects are copied to the "to" survivor space.
Surviving objects ages are incremented.
Young GC process
Generational Garbage Collection
22. Promoted to Old Space
When age threshold is reached , objects are eventually promoted to
tenured space.
Young GC process
Generational Garbage Collection
23. Process repeats at each minor GC
When objects reach an age threshold, they are copied to
old generation
Generational Garbage Collection
24. • Young Generation
Eden
Survivor Space
Objects age here
• Minor garbage collections are always "Stop the
World" events
• Minor garbage collections can be
Single-threaded
Serial GC
Multithreaded (Parallel)
• Parallel GC
• Concurrent GC
• G1 GC
Young GC process - Summary
25. Improve performance of GC
For young generation (Minor GC)
threads
timegc
threads
Default GC Parallel GC
Young
Generation
Serial GC vs Parallel GC
26. Reduce pause time to collect Old Generation
For old generation (Full GC)
Enabled by -XX:+UseConcMarkSweepGC
threads
timegc
threads
STW GC Concurrent GC
Old
Generation
STW GC vs Concurrent GC
28. • Eliminating dead object in “Eden” space.
• Moving live object from “Eden” to empty survival space (“To” space).
• Object that are too big, are copied directly to old space.
• Eliminating dead object in survival “From” space
• Mature objects are moved to old space
• Moving live object from used survival space (“From”) to empty survival
space (“To” space).
• Object that are too big, are copied directly to old space.
Serial Collector
29. Initial Mark
• Identifies root objects.
• Stop the world phase
Concurrent
Mark
• Marks live object that are reachable from the root object graph.
• Concurrent
Remark
• Revisits changed objects for liveliness check (Objects change
during the concurrent phases)
• Stop the world phase
Concurrent
Sweep
• All garbage objects are swept.
• Concurrent
Concurrent Mark-Sweep
30. • 32 bit Java processes heap size
Varies according to the OS and platform
determined by the process memory layout
32bit architecture has an addressable range of: 2^32 is
4GB
• 64 bit processes do not have this limit
Limit exists, but is so large it can be effectively ignored
Addressability usually between 2^44 and 2^64 : 16+
TeraBytes
Maximum Possible Heap Size
A 32 bit Java process has a 4 GB memory which is shared
by the Java Heap, Native Heap and the Operating System.
31. GC will adapt heap size to keep occupancy between 40% and
70%
• Heap occupancy over 70% causes frequent GC cycles
Which, In general means reduced performance
• Heap occupancy below 40% means infrequent GC cycles, but
cycles longer than they need to be
Which means longer pause times than necessary
Which generally means reduced performance (high latency)
• The maximum heap size setting should therefore be 43% larger
than the maximum occupancy of the application
Maximum occupancy + 43% means occupancy at 70% of total
heap
Eg. For 70MB occupancy, 100MB heap size required (70MB + 43%
of 70MB)
“The Right” Java heap size
32. Fixed heap vs. Variable heap
Minimum heap size (-Xms) = Maximum heap size (-Xmx)?
• Variable Heap Sizes
GC will adapt heap size to keep occupancy between 40% and
70% which expands and shrinks the Java heap
Allows for scenarios where usage varies over time, where
variations would take usage outside of the 40-70% window
• Fixed Heap Sizes
Does not expand or shrink the Java heap
33. Requirement Problem Solution
Fast and responsive Requires low pause GC CMS Collector
Needs to support a large
number of concurrent
users
• Generates a lot of
short lived objects
• Hardware support
Multi-threaded Hardware
Large Eden memory space
(1 GB)
Generates a large
number of proxy
classes
Requires Permanent
generation tuning
Large permanent generation
space (384 MB)
Holds large data
collections in memory
Requires a large old
memory space
Large Old memory space (4
GB)
Heap size is 5 GB 32 Bit JVM is not enough 64 Bit JVM and Hardware
GC Related Problems & Solutions