

<!DOCTYPE html>

<html lang="en-US">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=Edge">

  <link rel="stylesheet" href="/Java_for_Typescript_Developers/assets/css/just-the-docs-default.css">

  <link rel="stylesheet" href="/Java_for_Typescript_Developers/assets/css/just-the-docs-head-nav.css" id="jtd-head-nav-stylesheet">

  <style id="jtd-nav-activation">
  
    .site-nav ul li a {
      background-image: none;
    }

  </style>

  

  
    <script src="/Java_for_Typescript_Developers/assets/js/vendor/lunr.min.js"></script>
  

  <script src="/Java_for_Typescript_Developers/assets/js/just-the-docs.js"></script>

  <meta name="viewport" content="width=device-width, initial-scale=1">

  



  <!-- Begin Jekyll SEO tag v2.8.0 -->
<title>Java for TypeScript Developers: Migration Guide | A comprehensive guide for TypeScript and Node.js developers transitioning to Java, Spring, Hibernate, and the enterprise ecosystem.</title>
<meta name="generator" content="Jekyll v4.4.1" />
<meta property="og:title" content="Java for TypeScript Developers: Migration Guide" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="A comprehensive guide for TypeScript and Node.js developers transitioning to Java, Spring, Hibernate, and the enterprise ecosystem." />
<meta property="og:description" content="A comprehensive guide for TypeScript and Node.js developers transitioning to Java, Spring, Hibernate, and the enterprise ecosystem." />
<link rel="canonical" href="https://jam-mar.github.io/Java_for_Typescript_Developers/assets/css/just-the-docs-head-nav.css" />
<meta property="og:url" content="https://jam-mar.github.io/Java_for_Typescript_Developers/assets/css/just-the-docs-head-nav.css" />
<meta property="og:site_name" content="Java for TypeScript Developers: Migration Guide" />
<meta property="og:type" content="website" />
<meta name="twitter:card" content="summary" />
<meta property="twitter:title" content="Java for TypeScript Developers: Migration Guide" />
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"WebPage","description":"A comprehensive guide for TypeScript and Node.js developers transitioning to Java, Spring, Hibernate, and the enterprise ecosystem.","headline":"Java for TypeScript Developers: Migration Guide","url":"https://jam-mar.github.io/Java_for_Typescript_Developers/assets/css/just-the-docs-head-nav.css"}</script>
<!-- End Jekyll SEO tag -->


  

</head>

<body>
  <a class="skip-to-main" href="#main-content">Skip to main content</a>
  <svg xmlns="http://www.w3.org/2000/svg" class="d-none">
  <symbol id="svg-link" viewBox="0 0 24 24">
  <title>Link</title>
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-link">
    <path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path>
  </svg>
</symbol>

  <symbol id="svg-menu" viewBox="0 0 24 24">
  <title>Menu</title>
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-menu">
    <line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line>
  </svg>
</symbol>

  <symbol id="svg-arrow-right" viewBox="0 0 24 24">
  <title>Expand</title>
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-right">
    <polyline points="9 18 15 12 9 6"></polyline>
  </svg>
</symbol>

  <!-- Feather. MIT License: https://github.com/feathericons/feather/blob/master/LICENSE -->
<symbol id="svg-external-link" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-external-link">
  <title id="svg-external-link-title">(external link)</title>
  <path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line>
</symbol>

  
    <symbol id="svg-doc" viewBox="0 0 24 24">
  <title>Document</title>
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-file">
    <path d="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"></path><polyline points="13 2 13 9 20 9"></polyline>
  </svg>
</symbol>

    <symbol id="svg-search" viewBox="0 0 24 24">
  <title>Search</title>
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-search">
    <circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line>
  </svg>
</symbol>

  
  
    <!-- Bootstrap Icons. MIT License: https://github.com/twbs/icons/blob/main/LICENSE.md -->
<symbol id="svg-copy" viewBox="0 0 16 16">
  <title>Copy</title>
  <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-clipboard" viewBox="0 0 16 16">
    <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z"/>
    <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z"/>
  </svg>
</symbol>
<symbol id="svg-copied" viewBox="0 0 16 16">
  <title>Copied</title>
  <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-clipboard-check-fill" viewBox="0 0 16 16">
    <path d="M6.5 0A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3Zm3 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3Z"/>
    <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1A2.5 2.5 0 0 1 9.5 5h-3A2.5 2.5 0 0 1 4 2.5v-1Zm6.854 7.354-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L7.5 10.793l2.646-2.647a.5.5 0 0 1 .708.708Z"/>
  </svg>
</symbol>

  
</svg>

  
    <div class="side-bar">
  <div class="site-header" role="banner">
    <a href="/Java_for_Typescript_Developers/" class="site-title lh-tight">
  Java for TypeScript Developers: Migration Guide

</a>
    <button id="menu-button" class="site-button btn-reset" aria-label="Toggle menu" aria-pressed="false">
      <svg viewBox="0 0 24 24" class="icon" aria-hidden="true"><use xlink:href="#svg-menu"></use></svg>
    </button>
  </div>

  <nav aria-label="Main" id="site-nav" class="site-nav">
  
  
    <ul class="nav-list"><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 01: Introduction & Setup category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/01-basics/" class="nav-list-link">Module 01: Introduction & Setup</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/01-basics/01.1-java-ecosystem-overview/" class="nav-list-link">01.1 Java Ecosystem Overview</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/01-basics/01.2-development-environment/" class="nav-list-link">01.2 Development Environment</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/01-basics/01.3-first-java-program/" class="nav-list-link">01.3 First Java Program</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/01-basics/01.4-comparing-js-ts-java/" class="nav-list-link">01.4 Why Learn Java as a JavaScript Developer?</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 02: Primitives & Numbers category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/02-primitives-numbers/" class="nav-list-link">Module 02: Primitives & Numbers</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/02-primitives-numbers/02.1-java-type-system/" class="nav-list-link">02.1 Java Type System</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/02-primitives-numbers/02.2-primitive-types-variables/" class="nav-list-link">02.2 Primitive Types and Variables</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/02-primitives-numbers/02.3-numbers/" class="nav-list-link">02.3 Numbers</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 03: Arrays category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/03-arrays/" class="nav-list-link">Module 03: Arrays</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/03-arrays/03.1-arrays/" class="nav-list-link">03.1 Arrays</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/03-arrays/03.2-multidimensional-arrays/" class="nav-list-link">03.2 Multi-dimensional Arrays</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/03-arrays/03.3-array-methods/" class="nav-list-link">03.3 Array Methods</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 04: Eclipse Tips and Tricks category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/04-eclipse-tips/" class="nav-list-link">Module 04: Eclipse Tips and Tricks</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/04-eclipse-tips/04.1-package-creation/" class="nav-list-link">04.1 Package Creation</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/04-eclipse-tips/04.2-plugins/" class="nav-list-link">04.2 Plugins</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/04-eclipse-tips/04.3-code-generation-refactoring/" class="nav-list-link">04.3 Code Generation & Refactoring</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 05: Operators and Operands category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/05-operators/" class="nav-list-link">Module 05: Operators and Operands</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/05-operators/05.1-arithmetic-logical-operations/" class="nav-list-link">05.1 Arithmetic Operators</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/05-operators/05.2-relational-operators/" class="nav-list-link">05.2 Assignment & Relational Operators</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/05-operators/05.3-logical-operators/" class="nav-list-link">05.3 Logical Operators</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/05-operators/05.4-operators-bigint/" class="nav-list-link">05.4 Operators with integers and floating point numbers & Big Decimal types</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/05-operators/05.5-bitwise-operations/" class="nav-list-link">05.5 Bitwise Operations</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 06: Strings in Java category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/06-strings/" class="nav-list-link">Module 06: Strings in Java</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/06-strings/06.1-string-manipulation/" class="nav-list-link">06.1 Strings</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/06-strings/06.2-string-comparison/" class="nav-list-link">06.2 String Comparison</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/06-strings/06.3-escape-sequences/" class="nav-list-link">06.3 Escape Sequences</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/06-strings/06.4-string-formating/" class="nav-list-link">06.4 String Formatting</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/06-strings/06.5-regex/" class="nav-list-link">06.5 Regular Expressions</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 07: Control Statements category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/07-control-statements/" class="nav-list-link">Module 07: Control Statements</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/07-control-statements/07.1-conditional-logic/" class="nav-list-link">07.1 Conditional Logic</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/07-control-statements/07.2-loops/" class="nav-list-link">07.2 Loops</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/07-control-statements/07.3-jump-loops/" class="nav-list-link">07.3 Jump Statements</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/code_examples/7_Loops/loops/" class="nav-list-link">07.3 Enhanced For Loops</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/07-control-statements/07.4-random-numbers/" class="nav-list-link">07.4 Labels</a></li></ul></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/08-miscellaneous/" class="nav-list-link">Module 8: Miscellaneous</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/09-iteration/" class="nav-list-link">Module 09: Iteration</a></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 10: Methods in Java category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/10-methods/" class="nav-list-link">Module 10: Methods in Java</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/10-methods/10.1-method-design-overloading/" class="nav-list-link">10.1 method design overloading</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/10-methods/10.2-parameter-passing/" class="nav-list-link">10.2 parameter passing</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/10-methods/10.3-varargs-signatures/" class="nav-list-link">10.3 varargs signatures</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/10-methods/10.4-method-references-lambdas/" class="nav-list-link">10.4 method references lambdas</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 11: Enumerations in Java category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/11-enumerations/" class="nav-list-link">Module 11: Enumerations in Java</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/11-enumerations/11.1-enum-fundamentals/" class="nav-list-link">11.1 enum fundamentals</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/11-enumerations/11.2-enum-methods-constructors/" class="nav-list-link">11.2 enum methods constructors</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/11-enumerations/11.3-enumset-enummap/" class="nav-list-link">11.3 enumset enummap</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/11-enumerations/11.4-comparing-typescript-enums/" class="nav-list-link">11.4 comparing typescript enums</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 12: Debugging Tools category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/12-debugging/" class="nav-list-link">Module 12: Debugging Tools</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/12-debugging/12.1-debugging-strategies/" class="nav-list-link">12.1 debugging strategies</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/12-debugging/12.2-ide-debugger/" class="nav-list-link">12.2 ide debugger</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/12-debugging/12.3-logging-frameworks-intro/" class="nav-list-link">12.3 logging frameworks intro</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/12-debugging/12.4-profiling-performance/" class="nav-list-link">12.4 profiling performance</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 13: Object-Oriented Programming category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/13-oop/" class="nav-list-link">Module 13: Object-Oriented Programming</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/13-oop/13.1-classes-objects/" class="nav-list-link">13.1 classes objects</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/13-oop/13.2-inheritance-polymorphism/" class="nav-list-link">13.2 inheritance polymorphism</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/13-oop/13.3-encapsulation-principles/" class="nav-list-link">13.3 encapsulation principles</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/13-oop/13.4-abstract-classes-interfaces/" class="nav-list-link">13.4 abstract classes interfaces</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 14: OOP Interview Questions category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/14-oop-interview/" class="nav-list-link">Module 14: OOP Interview Questions</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/14-oop-interview/14.1-design-patterns/" class="nav-list-link">14.1 design patterns</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/14-oop-interview/14.2-interface-vs-abstract/" class="nav-list-link">14.2 interface vs abstract</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/14-oop-interview/14.3-inheritance-best-practices/" class="nav-list-link">14.3 inheritance best practices</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/14-oop-interview/14.4-real-world-scenarios/" class="nav-list-link">14.4 real world scenarios</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 15: EXAM - OOP & Design Patterns category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/15-exam-oop/" class="nav-list-link">Module 15: EXAM - OOP & Design Patterns</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/15-exam-oop/15.1-oop-assessment/" class="nav-list-link">15.1 oop assessment</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/15-exam-oop/15.2-design-pattern-implementations/" class="nav-list-link">15.2 design pattern implementations</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/15-exam-oop/15.3-code-review-exercises/" class="nav-list-link">15.3 code review exercises</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/15-exam-oop/15.4-best-practice-evaluation/" class="nav-list-link">15.4 best practice evaluation</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 16: Exception Handling category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/16-exception-handling/" class="nav-list-link">Module 16: Exception Handling</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/16-exception-handling/16.1-exception-hierarchy/" class="nav-list-link">16.1 exception hierarchy</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/16-exception-handling/16.2-try-catch-finally/" class="nav-list-link">16.2 try catch finally</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/16-exception-handling/16.3-custom-exceptions/" class="nav-list-link">16.3 custom exceptions</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/16-exception-handling/16.4-error-handling-strategies/" class="nav-list-link">16.4 error handling strategies</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 17: Java Collections Framework category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/17-collections/" class="nav-list-link">Module 17: Java Collections Framework</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/17-collections/17.1-list-set-map-interfaces/" class="nav-list-link">17.1 list set map interfaces</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/17-collections/17.2-arraylist-linkedlist-hashmap/" class="nav-list-link">17.2 arraylist linkedlist hashmap</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/17-collections/17.3-collection-algorithms/" class="nav-list-link">17.3 collection algorithms</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/17-collections/17.4-comparing-js-arrays-objects/" class="nav-list-link">17.4 comparing js arrays objects</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 18: Generics category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/18-generics/" class="nav-list-link">Module 18: Generics</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/18-generics/18.1-generic-classes-methods/" class="nav-list-link">18.1 generic classes methods</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/18-generics/18.2-type-bounds-wildcards/" class="nav-list-link">18.2 type bounds wildcards</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/18-generics/18.3-generic-collections/" class="nav-list-link">18.3 generic collections</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/18-generics/18.4-comparing-typescript-generics/" class="nav-list-link">18.4 comparing typescript generics</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 19: Java Collections Deep Dive category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/19-collections-advanced/" class="nav-list-link">Module 19: Java Collections Deep Dive</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/19-collections-advanced/19.1-performance-characteristics/" class="nav-list-link">19.1 performance characteristics</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/19-collections-advanced/19.2-concurrent-collections/" class="nav-list-link">19.2 concurrent collections</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/19-collections-advanced/19.3-custom-implementations/" class="nav-list-link">19.3 custom implementations</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/19-collections-advanced/19.4-best-practices-pitfalls/" class="nav-list-link">19.4 best practices pitfalls</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 20: Functional Programming in Java category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/20-functional-programming/" class="nav-list-link">Module 20: Functional Programming in Java</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/20-functional-programming/20.1-lambda-expressions/" class="nav-list-link">20.1 lambda expressions</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/20-functional-programming/20.2-method-references/" class="nav-list-link">20.2 method references</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/20-functional-programming/20.3-functional-interfaces/" class="nav-list-link">20.3 functional interfaces</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/20-functional-programming/20.4-comparing-js-functions/" class="nav-list-link">20.4 comparing js functions</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 21: Stream API category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/21-stream-api/" class="nav-list-link">Module 21: Stream API</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/21-stream-api/21.1-stream-creation-operations/" class="nav-list-link">21.1 stream creation operations</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/21-stream-api/21.2-intermediate-terminal-operations/" class="nav-list-link">21.2 intermediate terminal operations</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/21-stream-api/21.3-parallel-streams/" class="nav-list-link">21.3 parallel streams</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/21-stream-api/21.4-comparing-js-array-methods/" class="nav-list-link">21.4 comparing js array methods</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 22: Functional Programming Advanced category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/22-functional-advanced/" class="nav-list-link">Module 22: Functional Programming Advanced</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/22-functional-advanced/22.1-advanced-lambda-techniques/" class="nav-list-link">22.1 advanced lambda techniques</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/22-functional-advanced/22.2-functional-composition/" class="nav-list-link">22.2 functional composition</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/22-functional-advanced/22.3-monads-optional/" class="nav-list-link">22.3 monads optional</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/22-functional-advanced/22.4-performance-considerations/" class="nav-list-link">22.4 performance considerations</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 23: Input and Output & NIO category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/23-input-output/" class="nav-list-link">Module 23: Input and Output & NIO</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/23-input-output/23.1-file-io-operations/" class="nav-list-link">23.1 file io operations</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/23-input-output/23.2-streams-readers-writers/" class="nav-list-link">23.2 streams readers writers</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/23-input-output/23.3-nio-features/" class="nav-list-link">23.3 nio features</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/23-input-output/23.4-path-files-api/" class="nav-list-link">23.4 path files api</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 24: I/O in Java Internals category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/24-io-internals/" class="nav-list-link">Module 24: I/O in Java Internals</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/24-io-internals/24.1-buffer-management/" class="nav-list-link">24.1 buffer management</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/24-io-internals/24.2-channel-operations/" class="nav-list-link">24.2 channel operations</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/24-io-internals/24.3-memory-mapped-files/" class="nav-list-link">24.3 memory mapped files</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/24-io-internals/24.4-performance-optimization/" class="nav-list-link">24.4 performance optimization</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 25: Multithreading category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/25-multithreading/" class="nav-list-link">Module 25: Multithreading</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/25-multithreading/25.1-thread-creation-management/" class="nav-list-link">25.1 thread creation management</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/25-multithreading/25.2-synchronization-mechanisms/" class="nav-list-link">25.2 synchronization mechanisms</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/25-multithreading/25.3-thread-pools-executors/" class="nav-list-link">25.3 thread pools executors</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/25-multithreading/25.4-comparing-js-async-await/" class="nav-list-link">25.4 comparing js async await</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 26: Multithreading Advanced category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/26-multithreading-advanced/" class="nav-list-link">Module 26: Multithreading Advanced</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/26-multithreading-advanced/26.1-concurrent-data-structures/" class="nav-list-link">26.1 concurrent data structures</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/26-multithreading-advanced/26.2-lock-free-programming/" class="nav-list-link">26.2 lock free programming</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/26-multithreading-advanced/26.3-completablefuture-async/" class="nav-list-link">26.3 completablefuture async</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/26-multithreading-advanced/26.4-performance-tuning/" class="nav-list-link">26.4 performance tuning</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 27: Date and Time in JDK category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/27-date-time/" class="nav-list-link">Module 27: Date and Time in JDK</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/27-date-time/27.1-modern-datetime-api/" class="nav-list-link">27.1 modern datetime api</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/27-date-time/27.2-localdate-time-datetime/" class="nav-list-link">27.2 localdate time datetime</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/27-date-time/27.3-timezones-formatting/" class="nav-list-link">27.3 timezones formatting</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/27-date-time/27.4-comparing-js-date/" class="nav-list-link">27.4 comparing js date</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 28: Java Reflection & Annotations category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/28-reflection/" class="nav-list-link">Module 28: Java Reflection & Annotations</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/28-reflection/28.1-runtime-type-inspection/" class="nav-list-link">28.1 runtime type inspection</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/28-reflection/28.2-dynamic-method-invocation/" class="nav-list-link">28.2 dynamic method invocation</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/28-reflection/28.3-annotations/" class="nav-list-link">28.3 annotations</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/28-reflection/28.4-reflection-best-practices/" class="nav-list-link">28.4 reflection best practices</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 29: JDK API Deep Dive category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/29-jdk-api/" class="nav-list-link">Module 29: JDK API Deep Dive</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/29-jdk-api/29.1-essential-jdk-packages/" class="nav-list-link">29.1 essential jdk packages</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/29-jdk-api/29.2-utility-classes-methods/" class="nav-list-link">29.2 utility classes methods</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/29-jdk-api/29.3-performance-critical-apis/" class="nav-list-link">29.3 performance critical apis</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/29-jdk-api/29.4-version-compatibility/" class="nav-list-link">29.4 version compatibility</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 30: Modules in Java & Java Apps category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/30-modules/" class="nav-list-link">Module 30: Modules in Java & Java Apps</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/30-modules/30.1-jpms/" class="nav-list-link">30.1 jpms</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/30-modules/30.2-modular-applications/" class="nav-list-link">30.2 modular applications</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/30-modules/30.3-module-dependencies-services/" class="nav-list-link">30.3 module dependencies services</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/30-modules/30.4-migration-strategies/" class="nav-list-link">30.4 migration strategies</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 31: Internationalization & Localization category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/31-i18n-l10n/" class="nav-list-link">Module 31: Internationalization & Localization</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/31-i18n-l10n/31.1-resource-bundles/" class="nav-list-link">31.1 resource bundles</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/31-i18n-l10n/31.2-locale-specific-formatting/" class="nav-list-link">31.2 locale specific formatting</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/31-i18n-l10n/31.3-unicode-handling/" class="nav-list-link">31.3 unicode handling</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/31-i18n-l10n/31.4-multi-language-design/" class="nav-list-link">31.4 multi language design</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 32: Java Core Internals category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/32-java-internals/" class="nav-list-link">Module 32: Java Core Internals</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/32-java-internals/32.1-jvm-architecture/" class="nav-list-link">32.1 jvm architecture</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/32-java-internals/32.2-memory-management-gc/" class="nav-list-link">32.2 memory management gc</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/32-java-internals/32.3-class-loading/" class="nav-list-link">32.3 class loading</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/32-java-internals/32.4-performance-profiling/" class="nav-list-link">32.4 performance profiling</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 33: Logging in Java category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/33-logging/" class="nav-list-link">Module 33: Logging in Java</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/33-logging/33.1-logging-frameworks/" class="nav-list-link">33.1 logging frameworks</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/33-logging/33.2-log-levels-configuration/" class="nav-list-link">33.2 log levels configuration</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/33-logging/33.3-structured-logging/" class="nav-list-link">33.3 structured logging</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/33-logging/33.4-monitoring-alerting/" class="nav-list-link">33.4 monitoring alerting</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 34: Java New Versions category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/34-java-versions/" class="nav-list-link">Module 34: Java New Versions</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/34-java-versions/34.1-java-release-cycle/" class="nav-list-link">34.1 java release cycle</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/34-java-versions/34.2-new-features-by-version/" class="nav-list-link">34.2 new features by version</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/34-java-versions/34.3-migration-strategies/" class="nav-list-link">34.3 migration strategies</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/34-java-versions/34.4-keeping-up-evolution/" class="nav-list-link">34.4 keeping up evolution</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 35: EXAM - Java Fundamentals category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/35-exam-fundamentals/" class="nav-list-link">Module 35: EXAM - Java Fundamentals</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/35-exam-fundamentals/35.1-comprehensive-assessment/" class="nav-list-link">35.1 comprehensive assessment</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/35-exam-fundamentals/35.2-real-world-problem-solving/" class="nav-list-link">35.2 real world problem solving</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/35-exam-fundamentals/35.3-code-quality-evaluation/" class="nav-list-link">35.3 code quality evaluation</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/35-exam-fundamentals/35.4-performance-optimization/" class="nav-list-link">35.4 performance optimization</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Module 36: Bonus Section category" aria-pressed="false">
        <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
      </button><a href="/Java_for_Typescript_Developers/_modules/36-bonus/" class="nav-list-link">Module 36: Bonus Section</a><ul class="nav-list"><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/36-bonus/36.1-advanced-design-patterns/" class="nav-list-link">36.1 advanced design patterns</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/36-bonus/36.2-best-practices-compendium/" class="nav-list-link">36.2 best practices compendium</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/36-bonus/36.3-career-guidance/" class="nav-list-link">36.3 career guidance</a></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/_modules/36-bonus/36.4-open-source-contribution/" class="nav-list-link">36.4 open source contribution</a></li></ul></li><li class="nav-list-item"><a href="/Java_for_Typescript_Developers/" class="nav-list-link">Home</a></li></ul>
  <ul class="nav-list"><li class="nav-list-item external">
          <a href="https://github.com/jam-mar/Java_for_TypeScript_Developers" class="nav-list-link external"
            
          >
            GitHub Repository
            <svg viewBox="0 0 24 24" aria-labelledby="svg-external-link-title"><use xlink:href="#svg-external-link"></use></svg>
          </a>
        </li></ul>
</nav>




  
  
    <footer class="site-footer">
      This site uses <a href="https://github.com/just-the-docs/just-the-docs">Just the Docs</a>, a documentation theme for Jekyll.
    </footer>
  
</div>

  
  <div class="main" id="top">
    <div id="main-header" class="main-header">
  
    

<div class="search" role="search">
  <div class="search-input-wrap">
    <input type="text" id="search-input" class="search-input" tabindex="0" placeholder="Search Java for TypeScript Developers: Migration Guide" aria-label="Search Java for TypeScript Developers: Migration Guide" autocomplete="off">
    <label for="search-input" class="search-label"><svg viewBox="0 0 24 24" class="search-icon"><use xlink:href="#svg-search"></use></svg></label>
  </div>
  <div id="search-results" class="search-results"></div>
</div>

  
  
  
</div>

    <div class="main-content-wrap">
      
      <div id="main-content" class="main-content">
        <main>
          
            <h.site-nav ul li a {
  background-image: linear-gradient(-90deg, rgb(234.8, 236.82, 244.9) 0%, rgba(234.8, 236.82, 244.9, 0.8) 80%, rgba(234.8, 236.82, 244.9, 0) 100%);
}

          

          
            
          
        </main>
        

  <hr>
  <footer>
    

    <p class="text-small text-grey-dk-100 mb-0">Copyright &copy; 2024 Java for TypeScript Developers. Distributed under the <a href="https://github.com/jam-mar/Java_for_TypeScript_Developers/blob/main/LICENSE">MIT License</a>.</p>

    
  </footer>


      </div>
    </div>
    
      

<div class="search-overlay"></div>

    
  </div>

  
</body>
</html>

