This document summarizes a presentation about new features in Java SE 8. It discusses lambda expressions, default methods, stream API for collections, and improvements to core libraries, garbage collection, and security. The presentation covers over 50 new features and improvements in Java 8 and includes code examples of using lambda expressions, method references, and the stream API.
Oracle Latch and Mutex Contention TroubleshootingTanel Poder
This is an intro to latch & mutex contention troubleshooting which I've delivered at Hotsos Symposium, UKOUG Conference etc... It's also the starting point of my Latch & Mutex contention sections in my Advanced Oracle Troubleshooting online seminar - but we go much deeper there :-)
This is a recording of my Advanced Oracle Troubleshooting seminar preparation session - where I showed how I set up my command line environment and some of the main performance scripts I use!
Oracle Latch and Mutex Contention TroubleshootingTanel Poder
This is an intro to latch & mutex contention troubleshooting which I've delivered at Hotsos Symposium, UKOUG Conference etc... It's also the starting point of my Latch & Mutex contention sections in my Advanced Oracle Troubleshooting online seminar - but we go much deeper there :-)
This is a recording of my Advanced Oracle Troubleshooting seminar preparation session - where I showed how I set up my command line environment and some of the main performance scripts I use!
If you use scripting languages to power web, mobile, and/or enterprise applications, this session will show you how to use Oracle Database efficiently. It demonstrates how PHP can take full advantage of new performance, scalability, availability, and security features in Oracle Database 12c and Oracle Linux. Many of these features are available to other C-based scripting languages too, like Ruby, Python and Perl. DBA's will also benefit by seeing how applications can be monitored.
Building highly scalable website requires to understand the core building blocks of your applicative environment. In this talk we dive into Jahia core components to understand how they interact and how by (1) respecting a few architectural practices and (2) fine tuning Jahia components and the JVM, you will be able to build a highly scalable service
My talk for "MySQL, MariaDB and Friends" devroom at Fosdem on February 2, 2019
Born in 2010 in MySQL 5.5.3 as "a feature for monitoring server execution at a low level," grown in 5.6 times with performance fixes and DBA-faced features, in MySQL 5.7 Performance Schema is a mature tool, used by humans and more and more monitoring products. It becomes more popular over the years. In this talk I will give an overview of Performance Schema, focusing on its tuning, performance, and usability.
Performance Schema helps to troubleshoot query performance, complicated locking issues, memory leaks, resource usage, problematic behavior, caused by inappropriate settings and much more. It comes with hundreds of options which allow precisely tune what to instrument. More than 100 consumers store collected data.
Performance Schema is a potent tool. And very complicated at the same time. It does not affect performance in most cases and can slow down server dramatically if configured without care. It collects a lot of data, and sometimes this data is hard to read.
This talk will start from the introduction of how Performance Schema designed, and you will understand why it slowdowns server in some cases and does not affect your queries in others. Then we will discuss which information you can retrieve from Performance Schema and how to do it effectively.
I will cover its companion sys schema and graphical monitoring tools.
Demo on Performance Schema which I performed at DevOps Stage conference in Kiev on October 13, 2018. More at https://devopsstage.com/stranitsa-spikera/sveta-smirnova/
If you use scripting languages to power web, mobile, and/or enterprise applications, this session will show you how to use Oracle Database efficiently. It demonstrates how PHP can take full advantage of new performance, scalability, availability, and security features in Oracle Database 12c and Oracle Linux. Many of these features are available to other C-based scripting languages too, like Ruby, Python and Perl. DBA's will also benefit by seeing how applications can be monitored.
Building highly scalable website requires to understand the core building blocks of your applicative environment. In this talk we dive into Jahia core components to understand how they interact and how by (1) respecting a few architectural practices and (2) fine tuning Jahia components and the JVM, you will be able to build a highly scalable service
My talk for "MySQL, MariaDB and Friends" devroom at Fosdem on February 2, 2019
Born in 2010 in MySQL 5.5.3 as "a feature for monitoring server execution at a low level," grown in 5.6 times with performance fixes and DBA-faced features, in MySQL 5.7 Performance Schema is a mature tool, used by humans and more and more monitoring products. It becomes more popular over the years. In this talk I will give an overview of Performance Schema, focusing on its tuning, performance, and usability.
Performance Schema helps to troubleshoot query performance, complicated locking issues, memory leaks, resource usage, problematic behavior, caused by inappropriate settings and much more. It comes with hundreds of options which allow precisely tune what to instrument. More than 100 consumers store collected data.
Performance Schema is a potent tool. And very complicated at the same time. It does not affect performance in most cases and can slow down server dramatically if configured without care. It collects a lot of data, and sometimes this data is hard to read.
This talk will start from the introduction of how Performance Schema designed, and you will understand why it slowdowns server in some cases and does not affect your queries in others. Then we will discuss which information you can retrieve from Performance Schema and how to do it effectively.
I will cover its companion sys schema and graphical monitoring tools.
Demo on Performance Schema which I performed at DevOps Stage conference in Kiev on October 13, 2018. More at https://devopsstage.com/stranitsa-spikera/sveta-smirnova/
Finally Java SE 7 is GA and you can start using it. This talk will cover the most important new features of the language and the virtual machine. It will also cover some features that did not make it in to the SE 7 release. Finally we will discuss current state of Java as an ecosystem and my analysis and hopes for the future.
Accelerating Spark SQL Workloads to 50X Performance with Apache Arrow-Based F...Databricks
In Big Data field, Spark SQL is important data processing module for Apache Spark to work with structured row-based data in a majority of operators. Field-programmable gate array(FPGA) with highly customized intellectual property(IP) can not only bring better performance but also lower power consumption to accelerate CPU-intensive segments for an application.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Building RAG with self-deployed Milvus vector database and Snowpark Container...Zilliz
This talk will give hands-on advice on building RAG applications with an open-source Milvus database deployed as a docker container. We will also introduce the integration of Milvus with Snowpark Container Services.
20 Comprehensive Checklist of Designing and Developing a WebsitePixlogix Infotech
Dive into the world of Website Designing and Developing with Pixlogix! Looking to create a stunning online presence? Look no further! Our comprehensive checklist covers everything you need to know to craft a website that stands out. From user-friendly design to seamless functionality, we've got you covered. Don't miss out on this invaluable resource! Check out our checklist now at Pixlogix and start your journey towards a captivating online presence today.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
3. 12.03.2014 Java SE 8
Programm f r heute abendü
● > 50 Neuerungen in Java SE 8
● Hands-on Session mit λ-Expressions, der
Stream API, den default methods und mehr
4. 12.03.2014 Java SE 8
Java 8 JEPs General
● 126 Lambda Expressions & Virtual Extension Methods
(aka defender or default methods)
● 138 Autoconf-Based Build System (for the jdk itself)
● 160 Lambda-Form Representation for Method Handles
(reduce assembly code and native calls, performance optimization, reference implementation
of invokedynamic / JSR-292)
● 161 Compact Profiles (instead of jigsaw 140/24/17/10 MB)→
● 162 Prepare for Modularization
(getting ready for jigsaw, java.util.logging and swing)
5. 12.03.2014 Java SE 8
Java 8 JEPs General
● 164 Leverage CPU Instructions for AES Cryptography
(Intel M rz 2008)ä
● 174 Nashorn JavaScript Engine
(lightweight, high-performance, ECMAScript-262 5.1)
● 176 Mechanical Checking of Caller-Sensitive Methods
(improve security of method-handle implementation, behaviour changed based on the caller)
● 179 Document JDK API Support and Stability
(mark core and non-core APIs, what is maintained?)
6. 12.03.2014 Java SE 8
Java 8 JEPs Core
● 153 Launch JavaFX Applications
(launch() from java cmd line)
● 101 Generalized Target-Type Inference Code
(only partly realized)
● 104 Annotations on Java Types Code
(applied to any use of a type, not at runtime :( )
● 105 DocTree API (provide structured access to javadoc content)
● 106 Add Javadoc to javax.tools
(call javadoc from within vm)
7. 12.03.2014 Java SE 8
Java 8 JEPs Core
● 117 Remove the Annotation-Processing Tool (in javac)
● 118 Access to Parameter Names at Runtime Code
(partly realized)
●
120 Repeating Annotations Code
(avoid container annotations, somehow)
● 139 Enhance javac to Improve Build Speed
(use of all available cores)
●
172 DocLint Code
(static doc analysis, Fusselig, W3C HTML 4.01 HTML conform)
8. 12.03.2014 Java SE 8
Java 8 JEPs Garbage Collection
● 142 Reduce Cache Contention on Specified
Fields
(pad variables to avoid sharing cache lines)
● 122 Remove the Permanent Generation
(Permanently, PermGen moves to native memory)
●
173 Retire Some Rarely-Used GC Combination
(e.g. ParNew + SerialOld, reduce testing effort)
9. 12.03.2014 Java SE 8
Java 8 JEPs Garbage Collection
● 142 Reduce Cache Contention on Specified
Fields
(pad variables to avoid sharing cache lines)
● 122 Remove the Permanent Generation
(Permanently, PermGen moves to native memory)
●
173 Retire Some Rarely-Used GC Combination
(e.g. ParNew + SerialOld, reduce testing effort)
10. 12.03.2014 Java SE 8
Java 8 JEPs Runtime
● 136 Enhanced Verification Errors
(additional information bytecode verification errors)
● 147 Reduce Class Metadata Footprint
(taken from ME)
● 148 Small VM
(libjvm.so < 3MB, compiling size over speed)
● 171 Fence Intrinsics
(sun.misc.Unsafe, memory access)
11. 12.03.2014 Java SE 8
Java 8 JEPs Core Libraries
●
103 Parallel Array Sorting (new methods in java.util.Arrays)
● 107 Bulk Data Operations for Collections
(java.util.function, java.util.stream)
●
109 Enhance Core Libraries with Lambda
(Java SE 7 has 4024 standard classes)
●
112 Charset Implementation Improvements
(fewer, quicker, better)
●
119 javax.lang.model Implementation Backed by Core
Reflection
12. 12.03.2014 Java SE 8
Java 8 JEPs Core Libraries
● 135 Base64 Encoding & Decoding
(previously in sun.misc.*, now java.util.*)
● 149 Reduce Core-Library Memory Usage
(reduce dynamic memory)
● 150 Date & Time API
(Wurde auch Zeit!)
● 155 Concurrency Updates
(Doug Lea Stuff)
● 170 JDBC 4.2 (new Date API support)
13. 12.03.2014 Java SE 8
How many Bugs?
Date date = new Date(2014, 12, 24, 16, 40);
TimeZone zone =
TimeZone.getTimeZone(“Asia/HongKong”);
Calendar cal =
new GregorianCalendar(date, zone);
DateFormat fm =
new SimpleDateFormat(“HH:mm Z”);
String str = fm.format(cal);
14. 12.03.2014 Java SE 8
How many Bugs? 6!
Date date = new Date(114, 11, 24, 16, 40);
TimeZone zone =
TimeZone.getTimeZone(“Asia/Hong_Kong”);
Calendar cal = new GregorianCalendar(zone);
cal.setTime(date);
DateFormat fm =
new SimpleDateFormat(“HH:mm Z”);
fm.setTimeZone(zone);
Date calDate = cal.getTime();
String str = fm.format(calDate);
15. 12.03.2014 Java SE 8
Java 8 JEPs Diverses
● 177 Optimize java.text.DecimalFormat.format
(2 x faster for 2 or 3 digits after decimal point)
● 178 Statically-Linked JNI Libraries
(previously only dynamically linked)
●
180 Handle Frequent HashMap Collisions with
Balanced Trees
(performance improvement, previously with linked lists)
●
16. 12.03.2014 Java SE 8
Java 8 JEPs Diverses
●
127 Improve Locale Data Packaging and Adopt
Unicode CLDR Data
(standardized locale support)
● 128 BCP 47 Locale Matching
(as defined in rfc-4647)
●
133 Unicode 6.2
● 184 HTTP URL Permissions (previously based on IP addresses)
17. 12.03.2014 Java SE 8
Java 8 Security
● 113 MS-SFU Kerberos 5 Extensions
(Microsoft interoperability)
●
114 TLS Server Name Indication (SNI) Extension (new feature)
●
115 AEAD CipherSuites (meet US government and banking requirements)
● 121 Stronger Algorithms for Password-Based Encryption
(evolution of cryptography, PBEwith*, previously DESede and RC2 with SHA1)
● 123 Configurable Secure Random-Number Generation
(/dev/random Entropie unter Linux ist alle)→
●
124 Enhance the Certificate Revocation-Checking API
(more complete,flexible)
18. 12.03.2014 Java SE 8
Java 8 Security
●
129 NSA Suite B Cryptographic Algorithms
(meet US government and banking requirements)
● 130 SHA-224 Message Digests (known flaw in SHA-1)
● 131 PKCS#11 Crypto Provider for 64-bit Windows
(use of native Win64 libraries)
●
140 Limited doPrivileged (Lambda expressions)
● 166 Overhaul JKS-JCEKS-PKCS12 Keystores
(simplification of keystore handling)
19. 12.03.2014 Java SE 8
Java 8 JEPs / Web JAXP
● 185 JAXP 1.5: Restrict Fetching of External
Resources
(restrict the set of network protocols used to fetch external resources)
20. 12.03.2014 Java SE 8
Lambda Expressions
● Aka closures, function literals or Lambdas
● From anonymous inner classes to FunctionalInterfaces;
previously known as SAM (single abstract method)
●
Syntax:
1. argument list enclosed in parentheses
2. an arrow token ( )→
3. a function body
21. 12.03.2014 Java SE 8
Default methods
● Interfaces can have default implementations
● Method starts with default
24. 12.03.2014 Java SE 8
Stream-API
●
Get a stream from a collection
collection<E>.stream();
●
Generate, limit and skip a stream
Stream.generate(Supplier<T> s) // static
stream<T>.limit(long)
stream<T>.skip(long)
●
Manipulate a stream
stream<T>.map(Function<T, R>) Stream<R>→
stream<T>.filter(Predicate<T>) Stream<T>→
stream<T>.sorted() Stream<T>→
stream<T>.distinct() Stream<T>→
25. 12.03.2014 Java SE 8
Stream-API
● “Collection a result” of a stream
stream<T>.allMatch(Predicate<T>) boolean→
stream<T>.anyMatch(Predicate<T>) boolean→
stream<T>.findAny() Optional<T>→
stream<T>.findFirst() Optional<T>→
stream<T>.max(Comparator<T>) Optional<T>→
stream<T>.min(Comparator<T>) Optional<T>→
stream<T>.reduce(T, BinaryOperator<T>) T→
stream<T>.collect(T, A, R) R→
28. 12.03.2014 Java SE 8
Referenzen
● http://www.youtube.com/watch?v=rtAredKhyac, Simon Ritter
● Java SE 8 for the Really Impatient, Cay S. Horstmann
● Java 8 in Action, Raoul-Gabiel Urma et.al
● http://openjdk.java.net/projects/jdk8/features