{"id":9150,"date":"2026-08-10T10:04:08","date_gmt":"2026-08-10T10:04:08","guid":{"rendered":"https:\/\/nokobox.com\/index.php\/item\/oreilly-learn-reflection-with-java-2024-3\/"},"modified":"2026-08-10T10:04:08","modified_gmt":"2026-08-10T10:04:08","slug":"oreilly-learn-reflection-with-java-2024-3","status":"publish","type":"digital_item","link":"https:\/\/nokobox.com\/index.php\/item\/oreilly-learn-reflection-with-java-2024-3\/","title":{"rendered":"Oreilly \u2013 Learn Reflection with Java 2024-3"},"content":{"rendered":"<div class=\"w-post-elm post_content\">\n<h2 dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Description<\/span><\/h2>\n<p dir=\"ltr\" style=\"text-align: left\" data-sourcepos=\"9:1-9:811\"><span style=\"vertical-align: inherit\">Learn Reflection with Java course. This course teaches you how to extend the capabilities of your programs and inspect classes and objects at runtime using Reflection in Java. Reflection is a powerful Java feature that can be used to extend the capabilities of a program, inspecting internal classes or objects at runtime. Java Reflection is very powerful and can be very useful. Java Reflection allows you to inspect classes, interfaces, fields, and methods at runtime, without the names of classes, methods, etc. being known at compile time. Java Reflection is useful for generating generic code, implementing dynamic frameworks, and testing and debugging. In this course, we start with the basics, then show how reflection works with more modern language features such as sealed classes and records. We also show how arrays can be manipulated and created through reflection. Finally, we demonstrate MethodHandle and VarHandle. Learn from hands-on exercises followed by demonstrations of solutions. Key points:<\/span><\/p>\n<ul dir=\"ltr\" style=\"text-align: left\" data-sourcepos=\"26:1-29:0\">\n<li data-sourcepos=\"26:1-26:76\"><span style=\"vertical-align: inherit\">Save programming time by writing dynamic solutions to repetitive problems<\/span><\/li>\n<li data-sourcepos=\"27:1-27:73\"><span style=\"vertical-align: inherit\">Learn how dynamic coding through reflection impacts Java performance and correctness.<\/span><\/li>\n<li data-sourcepos=\"28:1-29:0\"><span style=\"vertical-align: inherit\">Knowing when to use and, more importantly, when not to use reflection for a Java programmer<\/span><\/li>\n<\/ul>\n<h3 dir=\"ltr\" style=\"text-align: left\" data-sourcepos=\"11:1-11:25\"><span style=\"vertical-align: inherit\">What you will learn:<\/span><\/h3>\n<ul dir=\"ltr\" style=\"text-align: left\" data-sourcepos=\"13:1-18:0\">\n<li data-sourcepos=\"13:1-13:62\"><span style=\"vertical-align: inherit\">Inspect a class and find methods, fields, and constructors at runtime<\/span><\/li>\n<li data-sourcepos=\"14:1-14:53\"><span style=\"vertical-align: inherit\">Calling methods, changing fields, even if they are private<\/span><\/li>\n<li data-sourcepos=\"15:1-15:78\"><span style=\"vertical-align: inherit\">Writing more generic code that can be reused in different contexts<\/span><\/li>\n<li data-sourcepos=\"16:1-16:63\"><span style=\"vertical-align: inherit\">Understanding VarHandles and MethodHandles and knowing when to use them<\/span><\/li>\n<li data-sourcepos=\"17:1-18:0\"><span style=\"vertical-align: inherit\">Knowing how to inspect sealed classes and records through reflection<\/span><\/li>\n<\/ul>\n<h3 dir=\"ltr\" style=\"text-align: left\" data-sourcepos=\"19:1-19:32\"><span style=\"vertical-align: inherit\">Who is this course suitable for?<\/span><\/h3>\n<ul dir=\"ltr\" style=\"text-align: left\" data-sourcepos=\"21:1-23:0\">\n<li data-sourcepos=\"21:1-21:20\"><span style=\"vertical-align: inherit\">Java programmers<\/span><\/li>\n<li data-sourcepos=\"22:1-23:0\"><span style=\"vertical-align: inherit\">Programmers from other languages \u200b\u200bwho are new to Java.<\/span><\/li>\n<\/ul>\n<h3 dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Course details<\/span><\/h3>\n<ul dir=\"ltr\" style=\"text-align: left\">\n<li><span style=\"vertical-align: inherit\">Publisher: <\/span><a href=\"https:\/\/href.li\/?https:\/\/www.oreilly.com\/library\/view\/learn-reflection-with\/9780138314767\/?_gl=1*wxs23d*_ga*MTU4NjE0OTc3OC4xNzEyMjIyNDU3*_ga_092EL089CH*MTc0MTk1MzYzMS42Mi4xLjE3NDE5NTM2NTcuMzQuMC4w\" target=\"_blank\" rel=\"noopener\"><span style=\"vertical-align: inherit\">Oreilly<\/span><\/a><\/li>\n<li><span style=\"vertical-align: inherit\">Instructor: <\/span><a class=\"author-name\" href=\"https:\/\/downloadlynet.ir\/tag\/heinz-kabutz\/\"><span style=\"vertical-align: inherit\">Heinz 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 9 minutes<\/span><\/li>\n<\/ul>\n<h3 dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Course headings<\/span><\/h3>\n<ul dir=\"ltr\" style=\"text-align: left\">\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Introduction<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Learn Reflection with Java: Introduction<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Lesson 1: Introduction to Reflection<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Learning objectives<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">1.1 Who Am I?<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">1.2 Why learn reflection?<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">1.3 Class Class<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">1.3.1 Method<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">1.3.2 Modifier and AccessFlag<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">1.3.3 Constructor<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">1.3.4 Generics<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">1.4 Nested classes<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">1.5 Sealed classes<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">1.6 Records<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">1.7 Exercise<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Lesson 2: Deep Reflection<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Learning objectives<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">2.1 Making private members accessible<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">2.2 Performance considerations<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Lesson 3: Arrays<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Learning objectives<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">3.1 Accessing elements<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">3.2 Creating new<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">3.3 Exercise<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Lesson 4: java.lang.invoke<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Learning objectives<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">4.1 MethodHandles.Lookup<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">4.1.1 privateLookupIn()<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">4.2 MethodHandle<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">4.2.1 MethodType<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">4.3 VarHandle<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">4.4 Unreflecting<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">4.6 Exercises<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Summary<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Learn Reflection with Java: Summary<\/span><\/li>\n<\/ul>\n<h3 dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Prerequisites for the Learn Reflection with Java course<\/span><\/h3>\n<div class=\"ud-block-list-item ud-block-list-item-small ud-block-list-item-tight ud-block-list-item-neutral ud-text-sm\" dir=\"ltr\" style=\"text-align: left\">\n<ul>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Students should be very familiar with Java 11, understanding data structures, object orientation, recursion and modern Java syntax.<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Prior experience with reflection is a bonus, but not necessary.<\/span><\/li>\n<\/ul>\n<\/div>\n<h3 dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Images of the Learn Reflection with Java course<\/span><\/h3>\n<p dir=\"ltr\" style=\"text-align: left\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-970692 size-full\" src=\"https:\/\/downloadly.ir\/wp-content\/uploads\/2025\/03\/Learn-Reflection-with-Java.png\" alt=\"Learn Reflection with Java\" width=\"1244\" height=\"439\"><\/p>\n<h3 dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Sample course video<\/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-158492-1\"><video class=\"wp-video-shortcode\" id=\"video-158492-1_html5\" width=\"640\" height=\"360\" preload=\"metadata\" src=\"https:\/\/dl.downloadly.ir\/Files\/Elearning\/Sample\/Learn_Reflection_with_Java_Downloadly.ir.mp4?_=1\" style=\"width: 640px; height: 360px;\"><source type=\"video\/mp4\" src=\"https:\/\/dl.downloadly.ir\/Files\/Elearning\/Sample\/Learn_Reflection_with_Java_Downloadly.ir.mp4?_=1\"><a href=\"https:\/\/dl.downloadly.ir\/Files\/Elearning\/Sample\/Learn_Reflection_with_Java_Downloadly.ir.mp4?nocache=1786114410974\">https:\/\/dl.downloadly.ir\/Files\/Elearning\/Sample\/Learn_Reflection_with_Java_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 dir=\"ltr\" style=\"text-align: left\">\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\">Subtitles: None<\/span><\/p>\n<p><span style=\"vertical-align: inherit\">Quality: 720p<\/span><\/p>\n<\/div>\n<h3 dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Download link<\/span><\/h3>\n<p dir=\"ltr\" style=\"text-align: left\"><a href=\"https:\/\/dl1.downloadly.ir\/Files\/Elearning\/Oreilly_Learn_Reflection_with_Java_2024-3.part1_Downloadly.ir.rar?nocache=1786114407\"><span style=\"vertical-align: inherit\">Download Part 1 \u2013 1 GB<\/span><\/a><\/p>\n<p dir=\"ltr\" style=\"text-align: left\"><a href=\"https:\/\/dl1.downloadly.ir\/Files\/Elearning\/Oreilly_Learn_Reflection_with_Java_2024-3.part2_Downloadly.ir.rar?nocache=1786114407\"><span style=\"vertical-align: inherit\">Download Part 2 \u2013 49 MB<\/span><\/a><\/p>\n<p dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">File(s) password: www.downloadly.ir<\/span><\/p>\n<h3 dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">File size<\/span><\/h3>\n<p dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">1.04 GB<\/span><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Description Learn Reflection with Java course. This course teaches you how to extend the capabilities of your programs and inspect classes and objects at runtim<\/p>\n","protected":false},"author":1,"template":"","dgi_category":[10458],"dgi_tag":[79478,79479,79480,79481,79482,34584],"class_list":["post-9150","digital_item","type-digital_item","status-publish","has-post-thumbnail","hentry","dgi_category-video-tutorials","dgi_tag-course-learn-reflection-with-java","dgi_tag-download-course-learn-reflection-with-java","dgi_tag-download-learn-reflection-with-java","dgi_tag-free-download-learn-reflection-with-java","dgi_tag-free-learn-reflection-with-java","dgi_tag-heinz-kabutz"],"_links":{"self":[{"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/digital_item\/9150","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\/9150\/revisions"}],"wp:attachment":[{"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/media?parent=9150"}],"wp:term":[{"taxonomy":"dgi_category","embeddable":true,"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/dgi_category?post=9150"},{"taxonomy":"dgi_tag","embeddable":true,"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/dgi_tag?post=9150"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}