{"id":3208,"date":"2026-08-10T09:02:48","date_gmt":"2026-08-10T09:02:48","guid":{"rendered":"https:\/\/nokobox.com\/index.php\/item\/javaspecialists-refactoring-to-streams-2-1-2020-9\/"},"modified":"2026-08-10T09:02:48","modified_gmt":"2026-08-10T09:02:48","slug":"javaspecialists-refactoring-to-streams-2-1-2020-9","status":"publish","type":"digital_item","link":"https:\/\/nokobox.com\/index.php\/item\/javaspecialists-refactoring-to-streams-2-1-2020-9\/","title":{"rendered":"JavaSpecialists \u2013 Refactoring to Streams 2.1 2020-9"},"content":{"rendered":"<div class=\"w-post-elm post_content\">\n<h2><span style=\"vertical-align: inherit\">Description<\/span><\/h2>\n<p data-sourcepos=\"5:1-5:211\"><span style=\"vertical-align: inherit\">Refactoring to Streams course 2.1. Java celebrated its 25th anniversary in 2020. Code written in Java in 1995 can still run today, even without recompiling. This is one of the most important reasons for Java\u2019s success in organizations. Over the years, we\u2019ve seen many improvements to make it easier to work with Java code. Internal classes were introduced in Java 1.1. A suitable framework for working with collections (Collection Framework) joined us in Java 1.2. Java 5 brought us better type safety with Generics.<\/span><\/p>\n<p data-sourcepos=\"9:1-9:250\"><span style=\"vertical-align: inherit\">But the biggest improvement for Java programmers came with Streams and Lambdas in Java 8. We can now write Java code in a declarative style, emphasizing the \u201cwhat\u201d of program logic instead of focusing on the \u201chow\u201d of it. Since Java 8, we have seen a steady stream of improvements in the Java programming language. Records, Sealed Classes, Pattern Matching, Local Variable Type Inference and many more. All of these things contribute to writing great Java code.<\/span><\/p>\n<p data-sourcepos=\"13:1-13:118\"><span style=\"vertical-align: inherit\">Unfortunately, a lot of Java code is still stuck in the dark ages of Java 6. These codes need refactoring. Refactoring is a systematic technique for reconstructing an existing body of code, changing its internal structure without affecting its external behavior. \u2013 Martin Fowler In this one-day course, we\u2019ll learn how and when to \u201crewrite\u201d with a focus on the biggest breakthrough, Java Streams. However, we will also show you what\u2019s new in the Java programming language. This is a very practical course. Each section has exercises in which we rewrite the existing code of a large enterprise resource planning (ERP) system with 330,000 lines of code (LOC).<\/span><\/p>\n<h3 data-sourcepos=\"21:1-21:24\"><strong><span style=\"vertical-align: inherit\">What you will learn<\/span><\/strong><\/h3>\n<ul data-sourcepos=\"23:1-39:0\">\n<li data-sourcepos=\"25:1-25:48\"><span style=\"vertical-align: inherit\">What is functional interface?<\/span><\/li>\n<li data-sourcepos=\"26:1-26:83\"><span style=\"vertical-align: inherit\">The four main types of functional user interfaces are found in the java.util.function package<\/span><\/li>\n<li data-sourcepos=\"27:1-27:100\"><span style=\"vertical-align: inherit\">How to markup lambdas are shorthand for an anonymous inner class based on a functional user interface<\/span><\/li>\n<li data-sourcepos=\"28:1-28:80\"><span style=\"vertical-align: inherit\">Short and long forms of lambdas can exist depending on their complexity<\/span><\/li>\n<li data-sourcepos=\"29:1-29:83\"><span style=\"vertical-align: inherit\">Method Reference as a further simplification for some forms of lambdas<\/span><\/li>\n<li data-sourcepos=\"30:1-30:151\"><span style=\"vertical-align: inherit\">How Default Methods and Static Methods in interfaces can use lambdas to improve generality, correctness, and readability.<\/span><\/li>\n<li data-sourcepos=\"31:1-31:75\"><span style=\"vertical-align: inherit\">When might it be unsafe to use methods like Map.computeIfAbsent?<\/span><\/li>\n<li data-sourcepos=\"32:1-32:74\"><span style=\"vertical-align: inherit\">The concept of stream and its relationship with iterable collections.<\/span><\/li>\n<li data-sourcepos=\"33:1-33:107\"><span style=\"vertical-align: inherit\">Why coding with streams follows algorithm logic more naturally than using for\/while loops<\/span><\/li>\n<li data-sourcepos=\"34:1-34:181\"><span style=\"vertical-align: inherit\">Create, transform and terminate streams using filters, mappings, matchers, collectors, reducers, etc.<\/span><\/li>\n<li data-sourcepos=\"35:1-35:93\"><span style=\"vertical-align: inherit\">Why should we use collectors instead of forEach to build collections from a stream?<\/span><\/li>\n<li data-sourcepos=\"36:1-36:110\"><span style=\"vertical-align: inherit\">Using the Optional class to avoid null checks and how Optionals are used with streams<\/span><\/li>\n<li data-sourcepos=\"37:1-37:76\"><span style=\"vertical-align: inherit\">How to handle exceptions in lambdas using sneaky throws (without Lombok)<\/span><\/li>\n<li data-sourcepos=\"38:1-39:0\"><span style=\"vertical-align: inherit\">How Functional UIs, Streams, and Optionals are optimized for int, long, and double primitives<\/span><\/li>\n<\/ul>\n<h3 data-sourcepos=\"40:1-40:30\"><strong><span style=\"vertical-align: inherit\">This course is suitable for people who<\/span><\/strong><\/h3>\n<ul data-sourcepos=\"42:1-44:33\">\n<li data-sourcepos=\"42:1-42:47\"><span style=\"vertical-align: inherit\">They are Java programmers with basic to intermediate knowledge<\/span><\/li>\n<li data-sourcepos=\"43:1-43:64\"><span style=\"vertical-align: inherit\">They want to make their Java code cleaner, more readable, and more maintainable<\/span><\/li>\n<li data-sourcepos=\"44:1-44:33\"><span style=\"vertical-align: inherit\">They want the latest features<\/span><\/li>\n<\/ul>\n<h3><span style=\"vertical-align: inherit\">Specifications of the Refactoring to Streams course 2.1<\/span><\/h3>\n<ul>\n<li>Publisher: <a href=\"https:\/\/href.li\/?https:\/\/javaspecialists.teachable.com\/p\/refactoring-to-streams-2_1\" target=\"_blank\">JavaSpecialists<\/a><\/li>\n<li><span style=\"vertical-align: inherit\">Instructor: <\/span><a href=\"https:\/\/downloadlynet.ir\/tag\/dr-heinz-m-kabutz\/\"><span style=\"vertical-align: inherit\">Dr Heinz M. Kabutz<\/span><\/a><\/li>\n<li><span style=\"vertical-align: inherit\">Training level: beginner to advanced<\/span><\/li>\n<li><span style=\"vertical-align: inherit\">Training duration: 4 hours and 47 minutes<\/span><\/li>\n<li><span style=\"vertical-align: inherit\">Number of courses: 62<\/span><\/li>\n<\/ul>\n<h3><span style=\"vertical-align: inherit\">Course headings on 4\/2024<\/span><\/h3>\n<h2><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-901134 size-full\" src=\"https:\/\/downloadly.ir\/wp-content\/uploads\/2024\/05\/Refactoring-to-Streams-2.1-1.jpg\" alt=\"Refactoring to Streams 2.1 \" width=\"855\" height=\"1042\"><\/h2>\n<h3><span style=\"vertical-align: inherit\">Refactoring to Streams course prerequisites 2.1<\/span><\/h3>\n<ul>\n<li dir=\"ltr\" style=\"text-align: left\">Basic Understanding of Kubernetes and Containerization<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Basic Understanding with Git and Version Control and GitOps Practices<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Basic Linux\/Unix Command Line Skills<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Basic YAML syntax<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Willingness to Learn and Experiment with Kubernetes<\/li>\n<\/ul>\n<h3><span style=\"vertical-align: inherit\">Images of Refactoring to Streams 2.1 course<\/span><\/h3>\n<h2><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-901132 size-full\" src=\"https:\/\/downloadly.ir\/wp-content\/uploads\/2024\/05\/Refactoring-to-Streams-2.1.jpg\" alt=\"Refactoring to Streams 2.1\" width=\"398\" height=\"430\"><\/h2>\n<h3><span style=\"vertical-align: inherit\">Sample video of the course<\/span><\/h3>\n<div style=\"width: 640px;\" class=\"wp-video\"><span class=\"mejs-offscreen\">Video Player<\/span><\/p>\n<div id=\"mep_0\" class=\"mejs-container mejs-container-keyboard-inactive wp-video-shortcode mejs-video\" tabindex=\"0\" role=\"application\" aria-label=\"Video Player\" style=\"width: 640px; height: 360px; min-width: 217px;\">\n<div class=\"mejs-inner\">\n<div class=\"mejs-mediaelement\"><mediaelementwrapper id=\"video-125680-1\"><video class=\"wp-video-shortcode\" id=\"video-125680-1_html5\" width=\"640\" height=\"360\" preload=\"metadata\" src=\"https:\/\/dl.downloadly.ir\/Files\/Elearning\/Sample\/Refactoring_to_Streams_2_1_Downloadly.ir.mp4?_=1\" style=\"width: 640px; height: 360px;\"><source type=\"video\/mp4\" src=\"https:\/\/dl.downloadly.ir\/Files\/Elearning\/Sample\/Refactoring_to_Streams_2_1_Downloadly.ir.mp4?_=1\"><a href=\"https:\/\/dl.downloadly.ir\/Files\/Elearning\/Sample\/Refactoring_to_Streams_2_1_Downloadly.ir.mp4?nocache=1786097684382\">https:\/\/dl.downloadly.ir\/Files\/Elearning\/Sample\/Refactoring_to_Streams_2_1_Downloadly.ir.mp4<\/a><\/video><\/mediaelementwrapper><\/div>\n<div class=\"mejs-layers\">\n<div class=\"mejs-poster mejs-layer\" style=\"display: none; width: 100%; height: 100%;\"><\/div>\n<div class=\"mejs-overlay mejs-layer\" style=\"display: none; width: 100%; height: 100%;\">\n<div class=\"mejs-overlay-loading\"><span class=\"mejs-overlay-loading-bg-img\"><\/span><\/div>\n<\/div>\n<div class=\"mejs-overlay mejs-layer\" style=\"display: none; width: 100%; height: 100%;\">\n<div class=\"mejs-overlay-error\"><\/div>\n<\/div>\n<div class=\"mejs-overlay mejs-layer mejs-overlay-play\" style=\"width: 100%; height: 100%;\">\n<div class=\"mejs-overlay-button\" role=\"button\" tabindex=\"0\" aria-label=\"Play\" aria-pressed=\"false\"><\/div>\n<\/div>\n<\/div>\n<div class=\"mejs-controls\">\n<div class=\"mejs-button mejs-playpause-button mejs-play\"><button type=\"button\" aria-controls=\"mep_0\" title=\"Play\" aria-label=\"Play\" tabindex=\"0\"><\/button><\/div>\n<div class=\"mejs-time mejs-currenttime-container\" role=\"timer\" aria-live=\"off\"><span class=\"mejs-currenttime\">00:00<\/span><\/div>\n<div class=\"mejs-time-rail\"><span class=\"mejs-time-total mejs-time-slider\" role=\"slider\" tabindex=\"0\" aria-label=\"Time Slider\" aria-valuemin=\"0\" aria-valuemax=\"0\" aria-valuenow=\"0\" aria-valuetext=\"00:00\"><span class=\"mejs-time-buffering\" style=\"display: none;\"><\/span><span class=\"mejs-time-loaded\"><\/span><span class=\"mejs-time-current\"><\/span><span class=\"mejs-time-hovered no-hover\"><\/span><span class=\"mejs-time-handle\"><span class=\"mejs-time-handle-content\"><\/span><\/span><span class=\"mejs-time-float\"><span class=\"mejs-time-float-current\">00:00<\/span><span class=\"mejs-time-float-corner\"><\/span><\/span><\/span><\/div>\n<div class=\"mejs-time mejs-duration-container\"><span class=\"mejs-duration\">00:00<\/span><\/div>\n<div class=\"mejs-button mejs-volume-button mejs-mute\"><button type=\"button\" aria-controls=\"mep_0\" title=\"Mute\" aria-label=\"Mute\" tabindex=\"0\"><\/button><a href=\"javascript:void(0);\" class=\"mejs-volume-slider\" aria-label=\"Volume Slider\" aria-valuemin=\"0\" aria-valuemax=\"100\" role=\"slider\" aria-orientation=\"vertical\"><span class=\"mejs-offscreen\">Use Up\/Down Arrow keys to increase or decrease volume.<\/span><\/p>\n<div class=\"mejs-volume-total\">\n<div class=\"mejs-volume-current\" style=\"bottom: 0px; height: 100%;\"><\/div>\n<div class=\"mejs-volume-handle\" style=\"bottom: 100%; margin-bottom: -3px;\"><\/div>\n<\/div>\n<p><\/a><\/div>\n<div class=\"mejs-button mejs-fullscreen-button\"><button type=\"button\" aria-controls=\"mep_0\" title=\"Fullscreen\" aria-label=\"Fullscreen\" tabindex=\"0\"><\/button><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div>\n<h3><span style=\"vertical-align: inherit\">Installation guide<\/span><\/h3>\n<p><span style=\"vertical-align: inherit\">After Extract, view with your favorite Player.<\/span><\/p>\n<p><span style=\"vertical-align: inherit\">Subtitle: None<\/span><\/p>\n<p><span style=\"vertical-align: inherit\">Quality: 1080p<\/span><\/p>\n<\/div>\n<h3><span style=\"vertical-align: inherit\">download link<\/span><\/h3>\n<p><a href=\"https:\/\/dl3.downloadly.ir\/Files\/Elearning\/JavaSpecialists_Refactoring_to_Streams_2_1_2020-9.part1_Downloadly.ir.rar?nocache=1786097680\"><span style=\"vertical-align: inherit\">Download part 1 \u2013 2 GB<\/span><\/a><\/p>\n<p><a href=\"https:\/\/dl3.downloadly.ir\/Files\/Elearning\/JavaSpecialists_Refactoring_to_Streams_2_1_2020-9.part2_Downloadly.ir.rar?nocache=1786097680\"><span style=\"vertical-align: inherit\">Download part 2 \u2013 2 GB<\/span><\/a><\/p>\n<p><a href=\"https:\/\/dl3.downloadly.ir\/Files\/Elearning\/JavaSpecialists_Refactoring_to_Streams_2_1_2020-9.part3_Downloadly.ir.rar?nocache=1786097680\"><span style=\"vertical-align: inherit\">Download part 3 \u2013 2 GB<\/span><\/a><\/p>\n<p><a href=\"https:\/\/dl3.downloadly.ir\/Files\/Elearning\/JavaSpecialists_Refactoring_to_Streams_2_1_2020-9.part4_Downloadly.ir.rar?nocache=1786097680\"><span style=\"vertical-align: inherit\">Download part 4 \u2013 2 GB<\/span><\/a><\/p>\n<p><a href=\"https:\/\/dl3.downloadly.ir\/Files\/Elearning\/JavaSpecialists_Refactoring_to_Streams_2_1_2020-9.part5_Downloadly.ir.rar?nocache=1786097680\"><span style=\"vertical-align: inherit\">Download part 5 \u2013 1.94 GB<\/span><\/a><\/p>\n<p><span style=\"vertical-align: inherit\">File(s) password: www.downloadly.ir<\/span><\/p>\n<h3><span style=\"vertical-align: inherit\">Size<\/span><\/h3>\n<p><span style=\"vertical-align: inherit\">9.9 GB<\/span><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Description Refactoring to Streams course 2.1. Java celebrated its 25th anniversary in 2020. Code written in Java in 1995 can still run today, even without reco<\/p>\n","protected":false},"author":1,"template":"","dgi_category":[10458],"dgi_tag":[35515,35516,35517,35518,35519,35520,35521,35522,35523,35524,35525,35526,35527,35528,35529,35530,35531,35532,35533,35534,35535,35536,35537,35538],"class_list":["post-3208","digital_item","type-digital_item","status-publish","has-post-thumbnail","hentry","dgi_category-video-tutorials","dgi_tag-course-refactoring-to-streams-2-1","dgi_tag-download-course-refactoring-to-streams-2-1","dgi_tag-download-link-refactoring-to-streams-2-1","dgi_tag-download-links-refactoring-to-streams-2-1","dgi_tag-download-paid-course-refactoring-to-streams-2-1","dgi_tag-download-refactoring-to-streams-2-1","dgi_tag-download-refactoring-to-streams-2-1-course","dgi_tag-download-refactoring-to-streams-2-1-course-for-free","dgi_tag-dr-heinz-m-kabutz","dgi_tag-free-download-course-refactoring-to-streams-2-1","dgi_tag-free-download-link-refactoring-to-streams-2-1","dgi_tag-free-download-links-refactoring-to-streams-2-1","dgi_tag-free-download-paid-course-refactoring-to-streams-2-1","dgi_tag-free-download-refactoring-to-streams-2-1","dgi_tag-free-links-download-refactoring-to-streams-2-1","dgi_tag-free-paid-course-download-links-refactoring-to-streams-2-1","dgi_tag-free-refactoring-to-streams-2-1","dgi_tag-free-refactoring-to-streams-2-1-download-course","dgi_tag-paid-course-refactoring-to-streams-2-1","dgi_tag-refactoring-to-streams-2-1-download-course","dgi_tag-refactoring-to-streams-2-1-download-links","dgi_tag-refactoring-to-streams-2-1-for-free","dgi_tag-refactoring-to-streams-2-1-free-course","dgi_tag-refactoring-to-streams-2-1-free-download"],"_links":{"self":[{"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/digital_item\/3208","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/digital_item"}],"about":[{"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/types\/digital_item"}],"author":[{"embeddable":true,"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":0,"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/digital_item\/3208\/revisions"}],"wp:attachment":[{"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/media?parent=3208"}],"wp:term":[{"taxonomy":"dgi_category","embeddable":true,"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/dgi_category?post=3208"},{"taxonomy":"dgi_tag","embeddable":true,"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/dgi_tag?post=3208"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}