The document discusses Java's continued popularity and evolution. It provides statistics showing Java remains the #1 and #3 most popular programming language. It outlines the various JDK releases available and describes how Java continues to innovate through incremental 6-month releases while ensuring backwards compatibility. It also discusses proposals to shift to releasing long-term support versions every 2 years instead of every 3 years to better meet developer and enterprise needs.
This document provides an overview of the current state and future of Java. It discusses the continued growth and popularity of Java over 24+ years as the #1 programming language. It summarizes the major Java Development Kit (JDK) releases from JDK 8 to the latest JDK 14 final release candidate, highlighting new features, preview features, and long-term support versions. The document also discusses the different open-source and commercial options for downloading the JDK, such as Oracle JDK, OpenJDK, Azul Zulu, and others.
This document discusses Java development tools and best practices. It provides survey results on topics like the most commonly used Java versions, IDEs, frameworks, testing tools, and more. The document also covers new Java features like switch expressions, which allow switch statements to be used as expressions and simplify control flow without needing breaks. Examples demonstrate using switch expressions to yield values from a switch block.
The document discusses plans for Java EE 8 based on feedback from the Java EE community. Key points include:
- Java EE 8 will focus on HTML5/web tier enhancements, ease of development, and supporting cloud infrastructure, based on a community survey.
- New features include JSON binding APIs to map Java objects to JSON, JSON processing enhancements, server-sent events, and HTTP/2 support.
- The JSON binding and processing APIs aim to standardize JSON work in Java EE and draw from existing implementations.
1) HUJAK is a Java user group in Croatia that was formed in 2011 to expand the Java community.
2) Java was created in 1991 and first publicly announced in 1995. It has grown significantly in popularity and is now the most popular programming language.
3) Java 8 was released in 2014 with major new features like lambdas, and Java EE 7 specifications were approved in 2013, focusing on annotations and other modern features.
Performance tuning the Spring Pet Clinic sample applicationJulien Dubois
#1 Putting the application in production - The presenter moved the Spring Pet Clinic sample application to a production environment by removing debugging logs and using a real database.
#2 Creating a JMeter test - The presenter used JMeter to simulate 500 users loading the application and found it resulted in many errors and crashes with only 250 requests per second.
#3 Profiling - Profiling with VisualVM and JProfiler identified a memory leak in the Dandelion library and the use of HTTP sessions as initial performance issues.
This document outlines Marco Carlessi's presentation on Oracle's investment in MySQL. The key points discussed include:
- Oracle's continued innovation and development of MySQL products since acquiring Sun Microsystems in 2010.
- The various MySQL products offered by Oracle, including MySQL Enterprise Edition, MySQL Cluster, MySQL Workbench, and connectors.
- Case studies of organizations using MySQL products, such as government agencies and universities in Spain, France, Germany, and Italy.
- Testimonials from users praising new features and performance improvements in MySQL 5.6.
- The services provided by Oracle to MySQL customers, including support, security features, scalability, and integration with other Oracle products.
The document introduces Java 8 and Java ME 8, which are described as the biggest upgrades to the Java programming model. Key features include lambda expressions, default methods, bulk operations on collections, and improved modularity, performance, productivity and security. Java 8 aims to simplify parallel programming and make development easier. Java ME 8 further aligns Java for embedded devices and the Internet of Things.
Modern web application development with java ee 7Shekhar Gulati
This document discusses building a modern Java web application called Miles2Run using Java EE 7. It describes the initial requirements of allowing users to store running activities and authenticate using Twitter. The technology stack used includes Java EE 7, AngularJS, MySQL, and deployment on WildFly running on OpenShift. Challenges in meeting all requirements and technologies used to overcome them like Redis, MongoDB and C3.js for graphs are also summarized.
This document provides an overview of the current state and future of Java. It discusses the continued growth and popularity of Java over 24+ years as the #1 programming language. It summarizes the major Java Development Kit (JDK) releases from JDK 8 to the latest JDK 14 final release candidate, highlighting new features, preview features, and long-term support versions. The document also discusses the different open-source and commercial options for downloading the JDK, such as Oracle JDK, OpenJDK, Azul Zulu, and others.
This document discusses Java development tools and best practices. It provides survey results on topics like the most commonly used Java versions, IDEs, frameworks, testing tools, and more. The document also covers new Java features like switch expressions, which allow switch statements to be used as expressions and simplify control flow without needing breaks. Examples demonstrate using switch expressions to yield values from a switch block.
The document discusses plans for Java EE 8 based on feedback from the Java EE community. Key points include:
- Java EE 8 will focus on HTML5/web tier enhancements, ease of development, and supporting cloud infrastructure, based on a community survey.
- New features include JSON binding APIs to map Java objects to JSON, JSON processing enhancements, server-sent events, and HTTP/2 support.
- The JSON binding and processing APIs aim to standardize JSON work in Java EE and draw from existing implementations.
1) HUJAK is a Java user group in Croatia that was formed in 2011 to expand the Java community.
2) Java was created in 1991 and first publicly announced in 1995. It has grown significantly in popularity and is now the most popular programming language.
3) Java 8 was released in 2014 with major new features like lambdas, and Java EE 7 specifications were approved in 2013, focusing on annotations and other modern features.
Performance tuning the Spring Pet Clinic sample applicationJulien Dubois
#1 Putting the application in production - The presenter moved the Spring Pet Clinic sample application to a production environment by removing debugging logs and using a real database.
#2 Creating a JMeter test - The presenter used JMeter to simulate 500 users loading the application and found it resulted in many errors and crashes with only 250 requests per second.
#3 Profiling - Profiling with VisualVM and JProfiler identified a memory leak in the Dandelion library and the use of HTTP sessions as initial performance issues.
This document outlines Marco Carlessi's presentation on Oracle's investment in MySQL. The key points discussed include:
- Oracle's continued innovation and development of MySQL products since acquiring Sun Microsystems in 2010.
- The various MySQL products offered by Oracle, including MySQL Enterprise Edition, MySQL Cluster, MySQL Workbench, and connectors.
- Case studies of organizations using MySQL products, such as government agencies and universities in Spain, France, Germany, and Italy.
- Testimonials from users praising new features and performance improvements in MySQL 5.6.
- The services provided by Oracle to MySQL customers, including support, security features, scalability, and integration with other Oracle products.
The document introduces Java 8 and Java ME 8, which are described as the biggest upgrades to the Java programming model. Key features include lambda expressions, default methods, bulk operations on collections, and improved modularity, performance, productivity and security. Java 8 aims to simplify parallel programming and make development easier. Java ME 8 further aligns Java for embedded devices and the Internet of Things.
Modern web application development with java ee 7Shekhar Gulati
This document discusses building a modern Java web application called Miles2Run using Java EE 7. It describes the initial requirements of allowing users to store running activities and authenticate using Twitter. The technology stack used includes Java EE 7, AngularJS, MySQL, and deployment on WildFly running on OpenShift. Challenges in meeting all requirements and technologies used to overcome them like Redis, MongoDB and C3.js for graphs are also summarized.
Enterprise Java Web Application Frameworks Sample Stack ImplementationMert Çalışkan
This document provides an overview of enterprise Java web application frameworks and sample stack implementations. It discusses choosing between various UI, controller, model, and integration frameworks like JSF, Spring, Hibernate, and Apache CXF. It then demonstrates a sample stack using these technologies along with Maven, Eclipse, and other tools. The aim is to provide a scalable and high-performance MVC architecture using proven open source solutions.
Some years ago development of Java Desktop applications was easy: We just downloaded Java 8 from Oracle and got a set of useful tools and framework to develop Java desktop applications:
AWT & Swing
WebStart
JavaFX
JFX Packager
If you now download a Java version from Oracle (or any other vendor) several of the mentioned tools and frameworks are gone. Some JDKs only contain AWT & Swing for desktop development and miss all the newer tools. But even if they include such tools or frameworks you have sometimes no idea about their state.
In this session I will give an overview about the differences between JDKs that you can use today and how frameworks like JavaFX are really supported by the vendors. Next to this we will have a look at all the tools that are important for building and installing desktop development. Since some like WebStart are gone you can find quite good alternatives.
Are you still stuck in Java EE 5? Eager to move and boost developer productivity with all the cool things introduced in Java EE 7? Attend this session to hear about some of the solutions Tomitribe had to implement to completely migrate an application called Segurnet from Java EE 5 to Java EE 7. Expect a very technical session that delves into the details. Segurnet is a platform held by APS (Portuguese Insurance Association) that has served as an integration network for the insurance sector in Portugal for the last 20 years, with more than 33,000 active users.
This document provides an overview and agenda for a presentation on Google Web Toolkit (GWT). It begins with introducing GWT as a web framework for developing JavaScript front-end applications in Java. The document then covers how GWT works, its key features like widgets and internationalization, best practices, and a recap of pros and cons. It also discusses GWT's history and available tools, libraries, and frameworks developed by Google and third parties.
This document provides an overview of Model-View-Controller (MVC), including different styles of MVC and the context for a new Java EE MVC specification. It summarizes the key components of MVC - the model, view, and controller. The controller executes business logic, updates the model, and directs the view to render itself. Component-based MVC frameworks like JavaServer Faces provide standard controllers while action-based frameworks like Spring MVC require application-defined controllers. The document indicates a new Java EE action-based MVC specification is being developed for inclusion in Java EE 8.
The document discusses Java EE 8 and the adoption of JSR 374 (JSON Processing) and JSR 371 (Model-View-Controller). Key points include:
- Java EE 8 will focus on HTML5/web enhancements, ease of development, and cloud infrastructure.
- JSR 374 (JSON Processing 1.1) will be adopted, keeping the JSON processing spec up-to-date and adding editing operations.
- JSR 371 (MVC 1.0) will be adopted, incorporating action-based MVC into the Java EE platform.
- The tentative release schedule has early drafts in 2015, public reviews in late 2015, and a final release in early 2017
This document discusses the introduction of HTTP/2 support in Java and Java EE. It provides background on the limitations of HTTP/1.1 and why HTTP/2 was created, outlining key HTTP/2 features like binary framing and multiplexing. The document then explains how HTTP/2 will be supported in Java EE 8 and Java SE, allowing Java applications to take advantage of performance improvements from HTTP/2.
The document discusses seven points for applying Java EE 7:
1. Select a Java EE 7 compliant application server like GlassFish or WildFly. Consider factors like commercial support needs.
2. Use a modern IDE like Eclipse, NetBeans or IntelliJ IDEA to build projects with Maven.
3. Apply JSF for the front-end framework and use Facelets for mark-up.
4. Apply EJBs for the back-end framework to benefit from features like automatic transactions.
5. Consider using RMI-IIOP for heavy transactions or WebSockets for lightweight and faster systems.
6. Apply JPA for database persistence.
7. Consider Java EE 8 for
The document discusses upcoming features in Java EE 8 based on feedback from the developer community. Key areas of focus for Java EE 8 include enhancing the web tier with support for JSON binding, processing, and server-sent events. It also aims to improve development productivity and provide infrastructure for cloud deployment. Specific features mentioned are JSON binding API, updated JSON processing API, and support for HTTP/2.
At present, Java is more popular than other programming language. It is also the only programming language which is currently used widely for development of desktop, web, and mobile applications. The popularity of Java will remain intact in 2018. But the trends in Java technology will change from time to time. For instance, most programmers will upgrade to Java SE 9 and JDK 9 to avail a number of new features and enhancements.
The document discusses integrating a language-agnostic garbage collection toolkit into various programming language runtimes. It describes how the garbage collector components have been decoupled from the J9 JVM and refactored. It also outlines the process for integrating the garbage collector, including implementing a few required glue APIs to provide language-specific information. Examples of integrating the garbage collector into the CSOM (C implementation of Smalltalk) runtime are also provided.
J1 2015 "Building a Microservice Ecosystem: Some Assembly Still Required"Daniel Bryant
Microservice platforms are finally becoming a reality: Mesos, Kubernetes, and a whole bunch of PaaS-style offerings are available, but the reality is that these platforms still don’t provide everything you need in order to build a fully functional microservice ecosystem. Come to this session to learn about the essential deployment, orchestration, and glue components that often have to be self-assembled. The presentation begins by looking at deployment techniques and tools and examines where to test (QA, staging, or production), how to test (integration and contracts), and how to separate deployment and release. It then discusses orchestration, configuration, and service discovery. Finally it looks at essential glue such as logging, monitoring, and alerting.
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015Edward Burns
It’s hard to overstate how much has changed in the world since HTTP 1.1 went final in June of 1999. There were no smartphones, Google had not yet IPO’d, Java Swing was less than a year old… you get the idea. Yet for all that change, HTTP remains at version 1.1.
Change is finally coming. HTTP 2.0 should be complete by 2015, and with that comes the need for a new version of Servlet. It will embrace HTTP 2.0 and expose its key features to Java EE 8 applications. This session gives a peek into the progress of the Servlet spec and shares some ideas about how developers can take advantage of this exciting
update to the world’s most successful application protocol on the world’s most popular programming language.
Slide ini merupakan bahan yang dipresentasikan pada teman-teman mahasiswa/i teknik Informatika di Universitas Widyatama. Kegiatan ini merupakan bagian dari kegiatan OSUM Universitas Widyatama.
Java EE 8 will include updates to several existing specifications as well as new specifications. Key updates include JMS 2.1, JAX-RS 2.1, JSF 2.3, CDI 2.0, and JSON-P 1.1. New specifications include JCache 1.0, JSON-B 1.0, MVC 1.0, and Java EE Security API 1.0. Java EE 8 is currently in development, with early drafts of specifications and milestones available to provide feedback on. A final release is planned for Q3 2016.
In this session we’ll highlight Microsoft’s open source offerings for Azure, and talk about how Java developers could benefit from using Azure services in their applications. The focus will be on real-world examples using Microsoft’s open source SDKs on GitHub and tools available for non-Microsoft developers, with a drill-down into our Java offerings and how they can enhance Java applications. We also want to gather feedback from attendees on some exciting new offerings designed to make it easier to deliver Java in the cloud.
===========================================================================
Brian Benz is a Senior Program Manager, focusing on Java at Microsoft. These days Brian spends his time helping Java developers and customers recognize the value and benefits of working on the Cloud with Microsoft Azure. Brian is a former Philly area resident and used to attend Philly JUG many years ago.
This document discusses strategies for scaling a Ruby on Rails application from a small startup to an enterprise-level application. It recommends starting with a small, highly productive team using Rails for rapid development. As the application and user base grow, it suggests adding caching, load balancing, and splitting the application across multiple servers. It also discusses personalizing pages with AJAX to improve caching. The goal is to scale the application efficiently while keeping development agile and in Rails.
Down-to-Earth Microservices with Java EEReza Rahman
Microservices have become the new kid of the buzzword block in our ever colorful industry. In this session we will explore what microservices really mean within the relatively well established context of distributed computing/SOA, when they make sense and how to develop them using the lightweight, simple, productive Java EE programming model.
We'll explore microservices using a simple but representative example using Java EE. You'll see how the Java EE programming model and APIs like JAX-RS, WebSocket, JSON-P, JSON-B, Bean Validation, CDI, JPA, EJB 3, JMS 2 and JTA aligns with the concept of microservices.
It may or may not surprise you to learn in the end that you already know more about microservices than you realize and that it is an architectural style that does not really require you to learn an entirely new tool set beyond the ones you already have. You might even see that Java EE is a particularly powerful and elegant tool set for developing microservices.
This document provides information about HUJAK, a Croatian organization that promotes Java and software development. It discusses HUJAK's role in organizing Java conferences in Croatia, supporting STEM education for children, and connecting Java developers. It also summarizes Java's continued popularity and growth, and outlines some of the upcoming projects that aim to further develop the Java programming language.
The State of Java and Software Development in Croatia (Community Keynote) by dr. sc. Branko Mihaljević, Aleksander Radovan, and doc. dr. sc.Martin Žagar at the 8th International Java Conference in Croatia - JavaCro '19
In this community keynote by HUJAK, we want to present and compare the current state of Java and related software development in Croatia, our part of Europe, and worldwide. Therefore, we will start by discussing the latest global trends in software development and what does it mean in our rapidly evolving world full of new technologies based on IoT, Machine Learning and AI, Blockchain, Virtual Reality, and Robotics, to which we must respond to ASAP. Of course, when addressing those contemporary technology trends, we will focus mostly on our country and the region. In the other part, we will discuss the major events in the world of Java that happened in the last few years since Java 8 and Java 9/10/11 were widely adopted. We will see what Java 11 and 12 brought us and what developers are mostly using (or not) and why, as well as what will be there interesting in Java 13 and beyond, including new features from incubator projects Amber and Valhalla, and new ideas from projects Loom, Panama, Skara, and Metropolis. Once again, we are going to take a typical developer’s point of view on software development challenges in this part of Europe, and we will discuss the future of our software developers from the perspective of how to become one (educational institutions and practice) and how to get/earn a good job (local employers and the job market). We intend to close this keynote with details of (y)our favorite Java community aka HUJAK.
In the modern "World of Java" there was a lot of interesting things going on in the last year, and many things are yet to come. A bit more than a year ago we got a long-awaited Java 9 with Jigsaw modularization and many other new features. This spring we "moved Java forward faster" and switched to Java 10 with more than 100 new features, following a new release model and versioning scheme. Only three weeks ago we got a brand-new Java 11 with more than a dozen new JEPs and accompanying features, also coming with long-term support. Now, we are already looking forward to Java 12 and other interesting stuff coming from incubator projects Amber and Valhalla, and new ideas in projects Loom, Panama, and Metropolis. Beside accelerated changes in the World of Java, there is an even larger number of modern technology trends such as IoT, Smart Devices, Cloud Computing, Artificial Intelligence, Virtual Reality, Robotics, and Blockchain, which are rapidly adopted and developers must respond to it. We will be discussing this hyper-progress from the perspective of a typical Java development team, and talk about our present and our future, globally and locally. We will tackle important technical skills Java developers need these days, and, even more important, how to acquire them. Finally, we will close with details of (y)our favorite Java community – HUJAK.
Enterprise Java Web Application Frameworks Sample Stack ImplementationMert Çalışkan
This document provides an overview of enterprise Java web application frameworks and sample stack implementations. It discusses choosing between various UI, controller, model, and integration frameworks like JSF, Spring, Hibernate, and Apache CXF. It then demonstrates a sample stack using these technologies along with Maven, Eclipse, and other tools. The aim is to provide a scalable and high-performance MVC architecture using proven open source solutions.
Some years ago development of Java Desktop applications was easy: We just downloaded Java 8 from Oracle and got a set of useful tools and framework to develop Java desktop applications:
AWT & Swing
WebStart
JavaFX
JFX Packager
If you now download a Java version from Oracle (or any other vendor) several of the mentioned tools and frameworks are gone. Some JDKs only contain AWT & Swing for desktop development and miss all the newer tools. But even if they include such tools or frameworks you have sometimes no idea about their state.
In this session I will give an overview about the differences between JDKs that you can use today and how frameworks like JavaFX are really supported by the vendors. Next to this we will have a look at all the tools that are important for building and installing desktop development. Since some like WebStart are gone you can find quite good alternatives.
Are you still stuck in Java EE 5? Eager to move and boost developer productivity with all the cool things introduced in Java EE 7? Attend this session to hear about some of the solutions Tomitribe had to implement to completely migrate an application called Segurnet from Java EE 5 to Java EE 7. Expect a very technical session that delves into the details. Segurnet is a platform held by APS (Portuguese Insurance Association) that has served as an integration network for the insurance sector in Portugal for the last 20 years, with more than 33,000 active users.
This document provides an overview and agenda for a presentation on Google Web Toolkit (GWT). It begins with introducing GWT as a web framework for developing JavaScript front-end applications in Java. The document then covers how GWT works, its key features like widgets and internationalization, best practices, and a recap of pros and cons. It also discusses GWT's history and available tools, libraries, and frameworks developed by Google and third parties.
This document provides an overview of Model-View-Controller (MVC), including different styles of MVC and the context for a new Java EE MVC specification. It summarizes the key components of MVC - the model, view, and controller. The controller executes business logic, updates the model, and directs the view to render itself. Component-based MVC frameworks like JavaServer Faces provide standard controllers while action-based frameworks like Spring MVC require application-defined controllers. The document indicates a new Java EE action-based MVC specification is being developed for inclusion in Java EE 8.
The document discusses Java EE 8 and the adoption of JSR 374 (JSON Processing) and JSR 371 (Model-View-Controller). Key points include:
- Java EE 8 will focus on HTML5/web enhancements, ease of development, and cloud infrastructure.
- JSR 374 (JSON Processing 1.1) will be adopted, keeping the JSON processing spec up-to-date and adding editing operations.
- JSR 371 (MVC 1.0) will be adopted, incorporating action-based MVC into the Java EE platform.
- The tentative release schedule has early drafts in 2015, public reviews in late 2015, and a final release in early 2017
This document discusses the introduction of HTTP/2 support in Java and Java EE. It provides background on the limitations of HTTP/1.1 and why HTTP/2 was created, outlining key HTTP/2 features like binary framing and multiplexing. The document then explains how HTTP/2 will be supported in Java EE 8 and Java SE, allowing Java applications to take advantage of performance improvements from HTTP/2.
The document discusses seven points for applying Java EE 7:
1. Select a Java EE 7 compliant application server like GlassFish or WildFly. Consider factors like commercial support needs.
2. Use a modern IDE like Eclipse, NetBeans or IntelliJ IDEA to build projects with Maven.
3. Apply JSF for the front-end framework and use Facelets for mark-up.
4. Apply EJBs for the back-end framework to benefit from features like automatic transactions.
5. Consider using RMI-IIOP for heavy transactions or WebSockets for lightweight and faster systems.
6. Apply JPA for database persistence.
7. Consider Java EE 8 for
The document discusses upcoming features in Java EE 8 based on feedback from the developer community. Key areas of focus for Java EE 8 include enhancing the web tier with support for JSON binding, processing, and server-sent events. It also aims to improve development productivity and provide infrastructure for cloud deployment. Specific features mentioned are JSON binding API, updated JSON processing API, and support for HTTP/2.
At present, Java is more popular than other programming language. It is also the only programming language which is currently used widely for development of desktop, web, and mobile applications. The popularity of Java will remain intact in 2018. But the trends in Java technology will change from time to time. For instance, most programmers will upgrade to Java SE 9 and JDK 9 to avail a number of new features and enhancements.
The document discusses integrating a language-agnostic garbage collection toolkit into various programming language runtimes. It describes how the garbage collector components have been decoupled from the J9 JVM and refactored. It also outlines the process for integrating the garbage collector, including implementing a few required glue APIs to provide language-specific information. Examples of integrating the garbage collector into the CSOM (C implementation of Smalltalk) runtime are also provided.
J1 2015 "Building a Microservice Ecosystem: Some Assembly Still Required"Daniel Bryant
Microservice platforms are finally becoming a reality: Mesos, Kubernetes, and a whole bunch of PaaS-style offerings are available, but the reality is that these platforms still don’t provide everything you need in order to build a fully functional microservice ecosystem. Come to this session to learn about the essential deployment, orchestration, and glue components that often have to be self-assembled. The presentation begins by looking at deployment techniques and tools and examines where to test (QA, staging, or production), how to test (integration and contracts), and how to separate deployment and release. It then discusses orchestration, configuration, and service discovery. Finally it looks at essential glue such as logging, monitoring, and alerting.
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015Edward Burns
It’s hard to overstate how much has changed in the world since HTTP 1.1 went final in June of 1999. There were no smartphones, Google had not yet IPO’d, Java Swing was less than a year old… you get the idea. Yet for all that change, HTTP remains at version 1.1.
Change is finally coming. HTTP 2.0 should be complete by 2015, and with that comes the need for a new version of Servlet. It will embrace HTTP 2.0 and expose its key features to Java EE 8 applications. This session gives a peek into the progress of the Servlet spec and shares some ideas about how developers can take advantage of this exciting
update to the world’s most successful application protocol on the world’s most popular programming language.
Slide ini merupakan bahan yang dipresentasikan pada teman-teman mahasiswa/i teknik Informatika di Universitas Widyatama. Kegiatan ini merupakan bagian dari kegiatan OSUM Universitas Widyatama.
Java EE 8 will include updates to several existing specifications as well as new specifications. Key updates include JMS 2.1, JAX-RS 2.1, JSF 2.3, CDI 2.0, and JSON-P 1.1. New specifications include JCache 1.0, JSON-B 1.0, MVC 1.0, and Java EE Security API 1.0. Java EE 8 is currently in development, with early drafts of specifications and milestones available to provide feedback on. A final release is planned for Q3 2016.
In this session we’ll highlight Microsoft’s open source offerings for Azure, and talk about how Java developers could benefit from using Azure services in their applications. The focus will be on real-world examples using Microsoft’s open source SDKs on GitHub and tools available for non-Microsoft developers, with a drill-down into our Java offerings and how they can enhance Java applications. We also want to gather feedback from attendees on some exciting new offerings designed to make it easier to deliver Java in the cloud.
===========================================================================
Brian Benz is a Senior Program Manager, focusing on Java at Microsoft. These days Brian spends his time helping Java developers and customers recognize the value and benefits of working on the Cloud with Microsoft Azure. Brian is a former Philly area resident and used to attend Philly JUG many years ago.
This document discusses strategies for scaling a Ruby on Rails application from a small startup to an enterprise-level application. It recommends starting with a small, highly productive team using Rails for rapid development. As the application and user base grow, it suggests adding caching, load balancing, and splitting the application across multiple servers. It also discusses personalizing pages with AJAX to improve caching. The goal is to scale the application efficiently while keeping development agile and in Rails.
Down-to-Earth Microservices with Java EEReza Rahman
Microservices have become the new kid of the buzzword block in our ever colorful industry. In this session we will explore what microservices really mean within the relatively well established context of distributed computing/SOA, when they make sense and how to develop them using the lightweight, simple, productive Java EE programming model.
We'll explore microservices using a simple but representative example using Java EE. You'll see how the Java EE programming model and APIs like JAX-RS, WebSocket, JSON-P, JSON-B, Bean Validation, CDI, JPA, EJB 3, JMS 2 and JTA aligns with the concept of microservices.
It may or may not surprise you to learn in the end that you already know more about microservices than you realize and that it is an architectural style that does not really require you to learn an entirely new tool set beyond the ones you already have. You might even see that Java EE is a particularly powerful and elegant tool set for developing microservices.
This document provides information about HUJAK, a Croatian organization that promotes Java and software development. It discusses HUJAK's role in organizing Java conferences in Croatia, supporting STEM education for children, and connecting Java developers. It also summarizes Java's continued popularity and growth, and outlines some of the upcoming projects that aim to further develop the Java programming language.
The State of Java and Software Development in Croatia (Community Keynote) by dr. sc. Branko Mihaljević, Aleksander Radovan, and doc. dr. sc.Martin Žagar at the 8th International Java Conference in Croatia - JavaCro '19
In this community keynote by HUJAK, we want to present and compare the current state of Java and related software development in Croatia, our part of Europe, and worldwide. Therefore, we will start by discussing the latest global trends in software development and what does it mean in our rapidly evolving world full of new technologies based on IoT, Machine Learning and AI, Blockchain, Virtual Reality, and Robotics, to which we must respond to ASAP. Of course, when addressing those contemporary technology trends, we will focus mostly on our country and the region. In the other part, we will discuss the major events in the world of Java that happened in the last few years since Java 8 and Java 9/10/11 were widely adopted. We will see what Java 11 and 12 brought us and what developers are mostly using (or not) and why, as well as what will be there interesting in Java 13 and beyond, including new features from incubator projects Amber and Valhalla, and new ideas from projects Loom, Panama, Skara, and Metropolis. Once again, we are going to take a typical developer’s point of view on software development challenges in this part of Europe, and we will discuss the future of our software developers from the perspective of how to become one (educational institutions and practice) and how to get/earn a good job (local employers and the job market). We intend to close this keynote with details of (y)our favorite Java community aka HUJAK.
In the modern "World of Java" there was a lot of interesting things going on in the last year, and many things are yet to come. A bit more than a year ago we got a long-awaited Java 9 with Jigsaw modularization and many other new features. This spring we "moved Java forward faster" and switched to Java 10 with more than 100 new features, following a new release model and versioning scheme. Only three weeks ago we got a brand-new Java 11 with more than a dozen new JEPs and accompanying features, also coming with long-term support. Now, we are already looking forward to Java 12 and other interesting stuff coming from incubator projects Amber and Valhalla, and new ideas in projects Loom, Panama, and Metropolis. Beside accelerated changes in the World of Java, there is an even larger number of modern technology trends such as IoT, Smart Devices, Cloud Computing, Artificial Intelligence, Virtual Reality, Robotics, and Blockchain, which are rapidly adopted and developers must respond to it. We will be discussing this hyper-progress from the perspective of a typical Java development team, and talk about our present and our future, globally and locally. We will tackle important technical skills Java developers need these days, and, even more important, how to acquire them. Finally, we will close with details of (y)our favorite Java community – HUJAK.
HUJAK Community keynote presentation
Branko Mihaljević
Stjepan Matijašević
Hrvoje Đurđević
Slavko Žnidarić
Marin Orlić
Aleksander Radovan
Jurica Križanić
Slides from "Java 2012" conference (1st Java conference in Croatia) organized by HUJAK (Croatian Java User Association) and HrOUG.
Abstract: Java is the world’s most widely used software development language and platform. Java is the choice of more than 9 million developers worldwide and enables uses ranging from the most mission-critical enterprise applications to software embedded in phones, smart cards, and other devices, to emerging environments such as Internet TV. Oracle WebLogic Server 12c, the #1 Application Server in the industry across conventional and Cloud environments was annouced recently. Oracle GlassFish Server is the world's first implementation of the Java Platform, Enterprise Edition (Java EE) 6 specification.
The document discusses the history and future of Java. It provides timelines of Java releases and describes some of the major features of Java 8 and Java 9. It also shares survey results about which Java, Java EE and tools versions developers currently use most as well as their level of interest in upcoming Java features. The future of Java is depicted as focusing on modularity, HTTP/2, JSON, cloud optimization and ahead-of-time compilation.
The document provides an overview of the history and evolution of Java, including key events and releases. It discusses the original Java Man fossil discovery in 1891 and notes how 100 years later, a new generation of Java Men were discovered with the creation of the Java programming language in 1991. The summary also mentions that Indy, the famous film character, served as inspiration for CroDuke Indy, HUJAK's Java conference mascot.
Adopt OpenJDK the past, the present & the futureMani Sarkar
The document discusses the history and future of OpenJDK and Adopt OpenJDK. OpenJDK is the open-source reference implementation of Java SE since Java 7. It was launched by Sun Microsystems in 2006 and later adopted by Oracle. Adopt OpenJDK is a community initiative to improve OpenJDK and contribute patches to Java. The presentation covers what OpenJDK consists of, its history from 2006 to present, and resources for getting involved in its development going forward.
There were days when Java used to be one of the most widely used and fast performing programming languages all over the world. However, many questions and discussions surround Java’s viability today, and tech-savvy types tend to look more to the future than the past of any coding language. These people often ask these questions: is Java still used, or is it dying or going away? What is the future of Java?
https://www.temok.com/blog/is-java-dead/
Advance your Career and Help Define Java’s FutureHeather VanCura
This document discusses ways for developers to get involved in shaping the future of Java through participation in the Java Community Process (JCP). It outlines the JCP's structure and processes for developing Java specifications through JSRs. It encourages developers to get involved by commenting on specifications, trying implementations, evangelizing technologies, and participating in hack days and open source projects. Participation can help developers advance their careers through skills growth, visibility, and giving back to the community.
Software development is achievable today with the help of various technologies and they all come with their list of pros and cons. The experts have argued time and again to prove that Java, PHP, Kotlin, and .NET are all the better than each other.
This document provides an overview and agenda for a Virtual Developer Day event focused on Java. The key topics to be covered include an overview of the Java platform and its future direction, Java SE 7 features, and diving into the JavaFX 2.0 platform. It also discusses Oracle's strategy around Java, priorities for evolving the Java platform, and roadmaps for Java SE, Java EE, Java ME, and Java tooling like NetBeans.
The document summarizes key points from the Devoxx 2010 conference, including trends in Java, web technologies, and cloud computing. It notes that Java will continue evolving with JDK 7 and 8, HTML5 and web apps are growing, and NoSQL and cloud technologies are becoming more popular. The document provides takeaways on these technologies and advises which ones are important to watch in the coming years.
Oracle will continue to invest and innovate in the Java platform across servers and devices. This includes driving further innovation in Java SE, Java EE, Java ME, JavaFX, and other Java technologies. Oracle also aims to fuel the Java community through open source contributions, events like JavaOne, and engagement with partners and customers.
The document discusses Oracle's Application Container Cloud Service, a new cloud platform for deploying containerized applications. It provides benefits like productivity for developers, enabling DevOps practices through integration with Oracle Developer Cloud Service, and automating infrastructure provisioning and application lifecycle management. Developers can build applications, package them into a ZIP file along with configuration files, and deploy them elastically on the container cloud which supports polyglot applications and automatic scaling. The platform simplifies deploying modern, cloud-native applications on containers.
OTS Solutions offers Java Application Development, Java Development India, Java Software Development, Java Web Development, J2EE Development, J2ME Development, Desktop Application Development India, System Programming Solution, Java Embedded technology solution, Components, Class Utility and many more. Our JAVA | J2ME | J2EE Developers have expertise in building Enterprise class software solutions using JAVA | J2ME | J2EE.
This document provides an overview of the history and popularity of Java as a programming language. It discusses the origins of Java in the 1990s, its growth in popularity globally and among developers. The document also summarizes statistics about the job market for Java developers, showing strong demand and above-average salaries. Finally, it discusses the history and activities of the Croatian Java User Group (HUJAK) in promoting Java in Croatia.
The document summarizes Heather VanCura's presentation on the future of Java and the Java Community Process (JCP). Some key points:
- Java continues to grow with over 10 million developers and billions of devices running Java.
- Upcoming versions of Java platforms include Java EE 8 in 2017, Java SE 9 in 2017, and future projects like Valhalla and Panama.
- Reforms to the JCP through JCP.next aim to increase transparency, merge committees, and broaden membership.
- Many Java user groups (JUGs) around the world are participating in JCP work and hack days on Java specifications.
A very generic presentation about Java Past, Present & Future. An somewhat answer to questions : Is the Java dead? Is the Java still best choice for software development?
All points present in presentation is either my thought or base on research from the various source in the Internet.
A presentation video (in Vietnamese) can be given at request.
Similar to JavaCro'21 - Java is Here To Stay - HUJAK Keynote (20)
Javantura v7 - Behaviour Driven Development with Cucumber - Ivan Lozić
Behaviour-Driven Development (or TDD for that matter) is one of the pillars of Software Quality. While it is very important, not many of us do it or do not have the support from the management to invest time in it. Commonly, it has been described as a waste of time or an intangible effort conflicting with the deadlines. In this presentation, I would like to share my experiences with the Behaviour-Driven Development, the effects of not having it at all, as well as the outcomes of working on projects where a significant amount of behavior is automated with Cucumber tool.
By attending this session you will be able to learn what BDD and Cucumber are, how to build Cucumber tests and hear about first-hand experiences around automating specifications.
Javantura v7 - Learning to Scale Yourself: The Journey from Coder to Leader - Daniel Strmečki
Your success depends on others, a 1-man army can only achieve so much. The only way to progress from coder to leader is to learn how to scale yourself. Nowadays, you can become a Senior Developer with just a few years of experience. After that, there are many roads and possibilities you can take. Whether you decide for a developer, architect, manager or a mixed career, at one point, you will need to become a leader. In the first chapter of the lecture we will start a discussion on how to get there. Since your time is limited, you need to mentor, coach, motivate and engage others. Start with making a stable foundation, like setting up a proper onboarding process. If you help people around you, they will for sure talk about it, and your manager will hear it. Also, demonstrate ability in everyday work: coding, project management, client-focus, communication and care about others. Always stick to your values and keep high standards. In the second chapter we will discuss the challenges that turn up once you get there. At that point you will deal with people more than technology. You will need to step away from coding for meetings very often. Interruptions will happen every day and it we be very hard to maintain “the flow”. You will need to learn how to delegate and drive topics without implementing them yourself. Visit the lecture to find out some techniques for dealing with interruptions, meetings, prioritization, people and their motivation.
This is a story about our exploration of aspects of Polyglot Programming and Memory Management in a (J)VM. The first part is focused on our research of performance of GraalVM, an open-source, high-performance polyglot virtual machine written in Java, as well as an accompanying Graal compiler, supporting JIT and AOT compilation, with outstanding inlining and escape analysis algorithms. In the second part we are dealing with aspects of automatic memory management and garbage collection analysis in an existing JVM, thus comparing the most commonly used (older) garbage collectors such as Serial, Parallel (Old), CMS, and G1, with contemporary and default Parallel Full G1, and new experimental ZGC and Shenandoah, across several JDKs using a common benchmark suite.
We develop an application prototype with Java and Hyperledger Fabric to facilitate people in the company to sell domestic goods to each other using marketplace application. Java and SmartGWT were used to develop UI, part of data were stored in the relational DBMS, while orders and balances were stored on the blockchain, specifically Hyperledger Fabric.
Bugs happen! It is a developers life fact. Let'e explore one way we the developers can help customers to make batter bug reports.
During lifecycle of systems and applications that support complex and long running business processes it is often the challenge to get accurate bug report. In this talk we will present one custom developed solution that we used on several our projects as well as our experiences in using this approach.
With several years of remote work experience in an agile environment, working from beautiful Zagreb for clients abroad and trying out different distributed team setups, we will share the motivation and philosophy behind it. We will also cover best practices, challenges and general tips & tricks in different segments such as work organisation, technical requirements, social requirements, methodology etc.
This talk is recommended for all developers who want to start working remotely or improve the way they already do it, employers who consider establishing distributed teams inside of their companies and clients searching for partners who have distributed teams.
While Kotlin is designed to work well with Java by default, we'll still need to some work to get clean and idiomatic code in both languages.
In this talk we'll cover both how to make your Java code more Kotlin friendly and how to make your Kotlin code nicer to use from Java.
HATEOAS is without a doubt, the least understood pillar of REST. It seems difficult to implement and shows no immediate reward for it, so many developers don't even bother. The truth is, it just has some bad PR and a horrible acronym that sounds like a breakfast cereal. Join me to take a look at the theory and practice behind using hypermedia by examining both web services and web clients. Along the way we will look at some exciting upcoming Spring HATEOAS features, like the Affordances API, and talk about what the future holds for hypermedia in your web services.
This document discusses continuous delivery of microservices on Kubernetes. It notes that previously there were challenges like big bang releases, lack of automation, and complexity in delivering business value. However, tools like Jenkins X now allow for reimagined continuous integration and continuous delivery (CI/CD) workflows for cloud native applications on Kubernetes, providing faster feedback and delivery of value. The document encourages ongoing learning and communication to improve processes.
Individual microservices are relatively easy to develop, but managing a distributed system composed of microservices is never a simple task. Kubernetes helps, but it falls short of providing everything such a system needs. This is where the Istio Service Mesh comes in.
Running microservices in production, you'll soon realize you want things like traffic splitting, automatic connection retries, timeouts and failovers, secure communication and authentication between your services, distributed metrics, tracing and logging. By introducing Istio into your architecture, you get all of that and more. And you get most of it without changing your code at all.
In this talk, you'll see a demonstration of Istio in action and learn about the tricks that make its magic possible.
Do your customers keep complaining about bugs in your software application? Does it take you too much time to implement new features? If yes, then you probably have issues with the quality of your application. Join me to find out what practical steps you can follow to improve the quality of your application!
We are used to give commands to our computers with keyboard - by natural language recognition improvement, services around this technology stack become better and better each day. Using Google Home mini device, IFTTT service and java web socket netty server hosted on red hat Openshift platform, control your loving private computer terminal or any application from distance with your bare voice.
Quality control during apps development demands continuous testing. Selenium, Cucumber, Jenikns and Docker can help us in that process. Hrvoje will share his experience about that subject.
Bugs are a daily cause of stress in our work as Java developers. Those pesky things can hide behind core concepts in Java 9 and 10—there is no way out of this. If we don’t keep up to date with new Java versions, bugs will take over our projects. But can we have fun hunting them? You bet! How about solving a series of Java puzzles as a way to master concepts and save a lot of time finding those tricky bugs? In this session, attendees can help the bug hunters solve fun Java challenges, gain a clear understanding of what causes the most-stressful bugs—and have fun eliminating them from projects.
In H2020 EU project symbIoTe (symbiosis of smart objects across IoT environments) we have been building IoT middleware based on microservices programmed in Java with Spring Boot and Spring Cloud components. Here I will present our experiences in developing such services in distributed team across EU and employed by 15 organizations. I will present organizational and technical advantages and drawbacks as well as our choices in building such system.
In this talk, you'll learn about the new features in JDK 11, the first long-term support (LTS) release in a new, faster Java SE release cadence.
We'll discuss the how these features benefit your code, and how existing code can be brought forward to benefit from JDK 11. Last but not least, we'll discuss how to keep up with innovations coming up in JDK 12, and future releases.
Javantura v6 Conference
What’s new in Java today, and what’s coming to Java tomorrow? This session will review some of the recent enhancements made over the last year to the language and the platform, as well as offer a glimpse into some of the features in development that will continue to improve both developer productivity and program performance while retaining Java’s core values of readability, generality, and compatibility.
Javantura v6 Conference
What is the future of Earth and Sun in the close and far future? What is the future of this part of the Universe and how the whole Universe will end? What is the close future of humankind? What is the best way to deal with greatest challenges like climate changes, artificial intelligence, globalisation and generally very fast advancement of technology. What is the future we want? In this session we will discuss answers to these questions, as the basis for further discussion and as food for thoughts.
This document introduces self-service application deployment with Kubernetes and OpenShift. It discusses how containers and container orchestration tools like Kubernetes and OpenShift address issues with traditional application deployment processes by allowing developers to deploy applications without needing access to infrastructure. It provides an overview of Kubernetes and OpenShift concepts and components that enable this self-service deployment model.
Cloud-native architectures and microservices allow software to be built faster, more resiliently, and scalably. Microservices involve decomposing applications into loosely coupled services that are independently deployable. Key aspects of microservices include explicit interfaces, independent scaling, and fault tolerance through approaches like circuit breakers. Containerization helps with microservices by enabling portable, lightweight execution of individual services. APIs are critical for communication between microservices and services should be stateless and immutable.
More from HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association (20)
A Visual Guide to 1 Samuel | A Tale of Two HeartsSteve Thomason
These slides walk through the story of 1 Samuel. Samuel is the last judge of Israel. The people reject God and want a king. Saul is anointed as the first king, but he is not a good king. David, the shepherd boy is anointed and Saul is envious of him. David shows honor while Saul continues to self destruct.
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.pptHenry Hollis
The History of NZ 1870-1900.
Making of a Nation.
From the NZ Wars to Liberals,
Richard Seddon, George Grey,
Social Laboratory, New Zealand,
Confiscations, Kotahitanga, Kingitanga, Parliament, Suffrage, Repudiation, Economic Change, Agriculture, Gold Mining, Timber, Flax, Sheep, Dairying,
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPRAHUL
This Dissertation explores the particular circumstances of Mirzapur, a region located in the
core of India. Mirzapur, with its varied terrains and abundant biodiversity, offers an optimal
environment for investigating the changes in vegetation cover dynamics. Our study utilizes
advanced technologies such as GIS (Geographic Information Systems) and Remote sensing to
analyze the transformations that have taken place over the course of a decade.
The complex relationship between human activities and the environment has been the focus
of extensive research and worry. As the global community grapples with swift urbanization,
population expansion, and economic progress, the effects on natural ecosystems are becoming
more evident. A crucial element of this impact is the alteration of vegetation cover, which plays a
significant role in maintaining the ecological equilibrium of our planet.Land serves as the foundation for all human activities and provides the necessary materials for
these activities. As the most crucial natural resource, its utilization by humans results in different
'Land uses,' which are determined by both human activities and the physical characteristics of the
land.
The utilization of land is impacted by human needs and environmental factors. In countries
like India, rapid population growth and the emphasis on extensive resource exploitation can lead
to significant land degradation, adversely affecting the region's land cover.
Therefore, human intervention has significantly influenced land use patterns over many
centuries, evolving its structure over time and space. In the present era, these changes have
accelerated due to factors such as agriculture and urbanization. Information regarding land use and
cover is essential for various planning and management tasks related to the Earth's surface,
providing crucial environmental data for scientific, resource management, policy purposes, and
diverse human activities.
Accurate understanding of land use and cover is imperative for the development planning
of any area. Consequently, a wide range of professionals, including earth system scientists, land
and water managers, and urban planners, are interested in obtaining data on land use and cover
changes, conversion trends, and other related patterns. The spatial dimensions of land use and
cover support policymakers and scientists in making well-informed decisions, as alterations in
these patterns indicate shifts in economic and social conditions. Monitoring such changes with the
help of Advanced technologies like Remote Sensing and Geographic Information Systems is
crucial for coordinated efforts across different administrative levels. Advanced technologies like
Remote Sensing and Geographic Information Systems
9
Changes in vegetation cover refer to variations in the distribution, composition, and overall
structure of plant communities across different temporal and spatial scales. These changes can
occur natural.
Temple of Asclepius in Thrace. Excavation resultsKrassimira Luka
The temple and the sanctuary around were dedicated to Asklepios Zmidrenus. This name has been known since 1875 when an inscription dedicated to him was discovered in Rome. The inscription is dated in 227 AD and was left by soldiers originating from the city of Philippopolis (modern Plovdiv).
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxEduSkills OECD
Iván Bornacelly, Policy Analyst at the OECD Centre for Skills, OECD, presents at the webinar 'Tackling job market gaps with a skills-first approach' on 12 June 2024
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...PECB
Denis is a dynamic and results-driven Chief Information Officer (CIO) with a distinguished career spanning information systems analysis and technical project management. With a proven track record of spearheading the design and delivery of cutting-edge Information Management solutions, he has consistently elevated business operations, streamlined reporting functions, and maximized process efficiency.
Certified as an ISO/IEC 27001: Information Security Management Systems (ISMS) Lead Implementer, Data Protection Officer, and Cyber Risks Analyst, Denis brings a heightened focus on data security, privacy, and cyber resilience to every endeavor.
His expertise extends across a diverse spectrum of reporting, database, and web development applications, underpinned by an exceptional grasp of data storage and virtualization technologies. His proficiency in application testing, database administration, and data cleansing ensures seamless execution of complex projects.
What sets Denis apart is his comprehensive understanding of Business and Systems Analysis technologies, honed through involvement in all phases of the Software Development Lifecycle (SDLC). From meticulous requirements gathering to precise analysis, innovative design, rigorous development, thorough testing, and successful implementation, he has consistently delivered exceptional results.
Throughout his career, he has taken on multifaceted roles, from leading technical project management teams to owning solutions that drive operational excellence. His conscientious and proactive approach is unwavering, whether he is working independently or collaboratively within a team. His ability to connect with colleagues on a personal level underscores his commitment to fostering a harmonious and productive workplace environment.
Date: May 29, 2024
Tags: Information Security, ISO/IEC 27001, ISO/IEC 42001, Artificial Intelligence, GDPR
-------------------------------------------------------------------------------
Find out more about ISO training and certification services
Training: ISO/IEC 27001 Information Security Management System - EN | PECB
ISO/IEC 42001 Artificial Intelligence Management System - EN | PECB
General Data Protection Regulation (GDPR) - Training Courses - EN | PECB
Webinars: https://pecb.com/webinars
Article: https://pecb.com/article
-------------------------------------------------------------------------------
For more information about PECB:
Website: https://pecb.com/
LinkedIn: https://www.linkedin.com/company/pecb/
Facebook: https://www.facebook.com/PECBInternational/
Slideshare: http://www.slideshare.net/PECBCERTIFICATION
Walmart Business+ and Spark Good for Nonprofits.pdfTechSoup
"Learn about all the ways Walmart supports nonprofit organizations.
You will hear from Liz Willett, the Head of Nonprofits, and hear about what Walmart is doing to help nonprofits, including Walmart Business and Spark Good. Walmart Business+ is a new offer for nonprofits that offers discounts and also streamlines nonprofits order and expense tracking, saving time and money.
The webinar may also give some examples on how nonprofits can best leverage Walmart Business+.
The event will cover the following::
Walmart Business + (https://business.walmart.com/plus) is a new shopping experience for nonprofits, schools, and local business customers that connects an exclusive online shopping experience to stores. Benefits include free delivery and shipping, a 'Spend Analytics” feature, special discounts, deals and tax-exempt shopping.
Special TechSoup offer for a free 180 days membership, and up to $150 in discounts on eligible orders.
Spark Good (walmart.com/sparkgood) is a charitable platform that enables nonprofits to receive donations directly from customers and associates.
Answers about how you can do more with Walmart!"
How to Make a Field Mandatory in Odoo 17Celine George
In Odoo, making a field required can be done through both Python code and XML views. When you set the required attribute to True in Python code, it makes the field required across all views where it's used. Conversely, when you set the required attribute in XML views, it makes the field required only in the context of that particular view.
The chapter Lifelines of National Economy in Class 10 Geography focuses on the various modes of transportation and communication that play a vital role in the economic development of a country. These lifelines are crucial for the movement of goods, services, and people, thereby connecting different regions and promoting economic activities.
Philippine Edukasyong Pantahanan at Pangkabuhayan (EPP) CurriculumMJDuyan
(𝐓𝐋𝐄 𝟏𝟎𝟎) (𝐋𝐞𝐬𝐬𝐨𝐧 𝟏)-𝐏𝐫𝐞𝐥𝐢𝐦𝐬
𝐃𝐢𝐬𝐜𝐮𝐬𝐬 𝐭𝐡𝐞 𝐄𝐏𝐏 𝐂𝐮𝐫𝐫𝐢𝐜𝐮𝐥𝐮𝐦 𝐢𝐧 𝐭𝐡𝐞 𝐏𝐡𝐢𝐥𝐢𝐩𝐩𝐢𝐧𝐞𝐬:
- Understand the goals and objectives of the Edukasyong Pantahanan at Pangkabuhayan (EPP) curriculum, recognizing its importance in fostering practical life skills and values among students. Students will also be able to identify the key components and subjects covered, such as agriculture, home economics, industrial arts, and information and communication technology.
𝐄𝐱𝐩𝐥𝐚𝐢𝐧 𝐭𝐡𝐞 𝐍𝐚𝐭𝐮𝐫𝐞 𝐚𝐧𝐝 𝐒𝐜𝐨𝐩𝐞 𝐨𝐟 𝐚𝐧 𝐄𝐧𝐭𝐫𝐞𝐩𝐫𝐞𝐧𝐞𝐮𝐫:
-Define entrepreneurship, distinguishing it from general business activities by emphasizing its focus on innovation, risk-taking, and value creation. Students will describe the characteristics and traits of successful entrepreneurs, including their roles and responsibilities, and discuss the broader economic and social impacts of entrepreneurial activities on both local and global scales.
23. LTS Releases Include Many JEPs
• Accumulating
improvements over
6-months feature
releases every 3 years
• LTS (Long Term
Support) Releases
presented a number
of JEPs
• JDK 8 – 56 JEPs
• JDK 9-11 – 120 JEPs
• JDK 12-17 – 74 JEPs
www.hujak.hr HUJAK - B. Mihaljević, A. Radovan, M. Žagar 23
40. Switch Expressions (Preview)
int numLetters;
switch (day) {
case MONDAY:
case FRIDAY:
case SUNDAY:
numLetters = 6;
break;
case TUESDAY:
numLetters = 7;
break;
case THURSDAY:
case SATURDAY:
numLetters = 8;
break;
case WEDNESDAY:
numLetters = 9;
break;
default:
throw new IllegalStateException("Hmm: " + day);
};
enum Weekdays { MONDAY, TUESDAY, WEDNESDAY, THURSDAY,
FRIDAY, SATURDAY, SUNDAY }
int numLetters = switch (day) {
case MONDAY, FRIDAY, SUNDAY -> 6;
case TUESDAY -> 7;
case THURSDAY, SATURDAY -> 8;
case WEDNESDAY -> 9;
// no default!!!
};
www.hujak.hr 40
HUJAK - B. Mihaljević, A. Radovan, M. Žagar
Used as an expression
No fall through
No default needed
42. Switch Expressions (2nd Preview)
• When working switch expression, if a full block is needed, a new yield
statement is introduced
• It yields a value that becomes the value of the enclosing switch expression
int j = switch (day) {
case MONDAY -> 0;
case TUESDAY -> 1;
default -> {
int k = day.toString().length();
int result = f(k);
yield result;
}
};
www.hujak.hr HUJAK - B. Mihaljević, A. Radovan, M. Žagar 42
45. Text Blocks
• SQL example using a "two-dimensional" block of text
String query = """
SELECT "EMP_ID", "LAST_NAME" FROM "EMPLOYEE_TB"
WHERE "CITY" = 'INDIANAPOLIS'
ORDER BY "EMP_ID", "LAST_NAME";
""";
• Polyglot language example using a "two-dimensional" block of text
ScriptEngine engine = new ScriptEngineManager().getEngineByName("js");
Object obj = engine.eval("""
function hello() {
print('"Hello, world"');
}
hello();
""");
www.hujak.hr HUJAK - B. Mihaljević, A. Radovan, M. Žagar 45
47. Sealed Classes
• Example: Sealed class may omit permit if subclasses are defined in same file
abstract sealed class Shape { ...
final class Circle extends Shape { ... }
final class Rectangle extends Shape { ... }
final class Square extends Shape { ... }
}
• Anonymous classes and local classes cannot be permitted subtypes of a
sealed class
www.hujak.hr HUJAK - B. Mihaljević, A. Radovan, M. Žagar 47
49. Records
• Example: A point
class Point {
final double x;
final double y;
public Point (double x, double y) {
this.x = x;
this.y = y;
}
public double x() { return x; }
public double y() { return y; }
www.hujak.hr 49
@Override
public double equals (Object o) {
if (…)
…
return …
}
@Override
Public double hashCode () {
return …
}
@Override
Public double toString() {
return …
}
HUJAK - B. Mihaljević, A. Radovan, M. Žagar
50. Records
• Example: A point
record Point { }
final double x;
final double y;
public Point (double x, double y) {
this.x = x;
this.y = y;
}
public double x() { return x; }
public double y() { return y; }
www.hujak.hr 50
@Override
public double equals (Object o) {
if (…)
…
return …
}
@Override
Public double hashCode () {
return …
}
@Override
Public double toString() {
return …
}
HUJAK - B. Mihaljević, A. Radovan, M. Žagar
Sometimes data is just … data.
Mark Reinhold
51. Pattern Matching for instanceof
• First preview as JEP 305 in JDK 14, Standard as JEP 375 in JDK 16
• Example:
if (obj instanceof String s && s.length() > 5) {..
s.contains(..) ..}
• Another example:
@Override public boolean equals(Object o) {
return (o instanceof CaseInsensitiveString cis) &&
cis.s.equalsIgnoreCase(s);
}
www.hujak.hr HUJAK - B. Mihaljević, A. Radovan, M. Žagar 51
53. Pattern Matching for switch
• Example:
static String formatterPatternSwitch(Object o) {
return switch (o) {
case null -> "null";
case Integer i -> String.format("int %d", i);
case Long l -> String.format("long %d", l);
case Double d -> String.format("double %f", d);
case String s -> String.format("String %s", s);
default -> o.toString();
};
}
www.hujak.hr HUJAK - B. Mihaljević, A. Radovan, M. Žagar 53
57. Vector API
• JEP 414: Vector API (Second Incubator) https://openjdk.java.net/jeps/414
• API to express vector computations that reliably compile at runtime to
optimal vector hardware instructions
• Achieve superior performance to equivalent scalar computations
• Taking advantage of the Single Instruction Multiple Data (SIMD) instructions
on most modern CPUs
• Allows developers to write complex vector algorithms in Java
www.hujak.hr HUJAK - B. Mihaljević, A. Radovan, M. Žagar 57
64. Virtual Threads in the JVM
• Virtual Threads (VT) are a light-weight concurrency construct
• Created and managed by the JVM
• Flexible mapping to the OS Threads
• A single VT can run on
different OS Threads while
performing a single task
• Consist of continuation and scheduler
• JVM controls VT mapping to OS Threads
• while preforming blocking operations
which results in the more optimal use
of resources compared to Threads
www.hujak.hr HUJAK - B. Mihaljević, A. Radovan, M. Žagar 67
65. Our Test Cases of Virtual Threads
• Faster creation? Sequential run test
• Better synchronization? Multi-threaded
merge sort
• Higher concurrency level? Parallel run test
www.hujak.hr HUJAK - B. Mihaljević, A. Radovan, M. Žagar 68
0
200
400
600
800
1000
1200
1400
0,1 0,5 1 1,5
Latency
in
(ms)
Number of Threads (1 000 000)
Threads
Virtual Threads
0
50
100
150
200
250
300
1 2 4 8 16 32 64 128 256 512
Latency
(ms)
Array size (1 000 elements)
Threads
Virtual Threads
0
1000
2000
3000
4000
5000
6000
7000
0,1 0,5 1 2,5 5 7,5 10
Latency
(ms)
Number of Threads (1 000)
Threads
Virtual Threads
Source: On Analyzing Virtual Threads – a Structured Concurrency Model for Scalable Applications on the JVM, Dora Beronić, Paula Pufek, Branko Mihaljević and Aleksander Radovan, MIPRO 2021