{"id":789,"date":"2022-08-24T14:51:01","date_gmt":"2022-08-24T12:51:01","guid":{"rendered":"https:\/\/solmstc.com\/?page_id=789"},"modified":"2024-06-20T17:39:56","modified_gmt":"2024-06-20T15:39:56","slug":"advanced-java","status":"publish","type":"page","link":"https:\/\/solmstc.com\/index.php\/training\/advanced-java\/","title":{"rendered":"Advanced Java course"},"content":{"rendered":"\n<div class=\"wp-block-cover alignfull is-light\"><span aria-hidden=\"true\" class=\"wp-block-cover__background has-background-dim-10 has-background-dim\"><\/span><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1300\" class=\"wp-block-cover__image-background wp-image-2563\" alt=\"\" src=\"http:\/\/solmstc.com\/wp-content\/uploads\/2023\/01\/coffeeRoaster.jpg\" style=\"object-position:50% 8%\" data-object-fit=\"cover\" data-object-position=\"50% 8%\" srcset=\"https:\/\/solmstc.com\/wp-content\/uploads\/2023\/01\/coffeeRoaster.jpg 2560w, https:\/\/solmstc.com\/wp-content\/uploads\/2023\/01\/coffeeRoaster-300x152.jpg 300w, https:\/\/solmstc.com\/wp-content\/uploads\/2023\/01\/coffeeRoaster-1024x520.jpg 1024w, https:\/\/solmstc.com\/wp-content\/uploads\/2023\/01\/coffeeRoaster-768x390.jpg 768w, https:\/\/solmstc.com\/wp-content\/uploads\/2023\/01\/coffeeRoaster-1536x780.jpg 1536w, https:\/\/solmstc.com\/wp-content\/uploads\/2023\/01\/coffeeRoaster-2048x1040.jpg 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><div class=\"wp-block-cover__inner-container is-layout-flow wp-block-cover-is-layout-flow\">\n<p class=\"has-text-align-left has-x-large-font-size\">Advanced Java<\/p>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-ed770b7c default uagb-is-root-container\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<div class=\"wp-block-uagb-container uagb-block-353ed134 alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<div class=\"wp-block-uagb-container uagb-block-91223465 alignfull uagb-is-root-container\">\n<div class=\"wp-block-uagb-buttons uagb-buttons__outer-wrap uagb-btn__default-btn uagb-btn-tablet__default-btn uagb-btn-mobile__default-btn uagb-block-773c0fc3\"><div class=\"uagb-buttons__wrap uagb-buttons-layout-wrap\">\n<div class=\"wp-block-uagb-buttons-child uagb-buttons__outer-wrap uagb-block-ae46d546 wp-block-button is-style-outline\"><div class=\"uagb-button__wrapper\"><a class=\"uagb-buttons-repeater wp-block-button__link has-text-color\" href=\"https:\/\/solmstc.com\/index.php\/course-schedule\/\" onclick=\"return true;\" rel=\"follow noopener\" target=\"_self\"><div class=\"uagb-button__link\">Course Schedule<\/div><\/a><\/div><\/div>\n<\/div><\/div>\n<\/div>\n<\/div><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-284ac2a0 alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<p class=\"has-medium-font-size\">The <em>Advanced Java course<\/em> focuses on how to write quality software in Java, that is code which is efficient, flexible, maintainable, robust, portable across software architectures and frameworks.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-b623b844 alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<div class=\"wp-block-uagb-container uagb-block-91f2de06\">\n<h2 class=\"wp-block-heading\">Is this course for you?<\/h2>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-dd823528\">\n<p>The <em>Advanced Java course<\/em> is used by Java developers to up-skill their Java development skills in order to develop in Java high quality software system, i.e. systems which not only meet contractual requirements but also<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>high-performance (efficient and responsive) systems<\/li>\n\n\n\n<li>systems which are maintainable as well as easily modifiable and extensible<\/li>\n\n\n\n<li>code which meets code quality standards and is highly reusable<\/li>\n\n\n\n<li>systems which are safe, robust and secure<\/li>\n\n\n\n<li>systems which are accessible and integrable, and<\/li>\n\n\n\n<li>systems which are auditable and monitorable.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-2de9b172\">\n<h2 class=\"wp-block-heading\">Course Content<\/h2>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-aee6cd7d\">\n<ol>\n    <li><b>Design fundamentals<\/b>\n    <ul>\n     <li>The SOLID principles of object-oriented design<\/li>\n     <li>URDAD design principles<\/li>\n     <li>UML &#8211; Java mappings<\/li>\n     <li>Separating application &amp; infrastructure code<\/li>\n     <li>Object views<\/li>\n     <li>Important design patterns<\/li>\n   <\/ul>\n  <\/li>\n\n  <li><b>Effective and safe concurrency<\/b>\n    <ul>\n      <li>Potential problems: state corruption &amp; deadlocks<\/li>\n      <li>Executors, thread pooling, scheduling<\/li>\n      <li>Light-weight locking via lock classes &amp; conditions<\/li>\n      <li>Concurrent collections<\/li>\n      <li>Light-weight, virtual threads<\/li>\n    <\/ul>\n  <\/li>\n  <li><b>Functional programming (FP)<\/b>\n    <ul>\n      <li>functional versus imperative programming<\/li>\n      <li>FP concepts<\/li>\n      <li>Functional interfaces, higher-order functions, method references<\/li>\n      <li>Consumers, suppliers, operators &amp; predicates<\/li>\n      <li>Pipelines, maps, streams, lazy evaluation, collecting, &#8230;<\/li>\n    <\/ul>\n  <\/li>\n\n  <li><b>Making effective use of metadata<\/b>\n    <ul>\n        <li>Why define and process annotations?<\/li>\n        <li>Defining annotations<\/li>\n        <li>Reflecting on annotations<\/li>\n        <li>Developing annotation processors<\/li>\n        <li>Binding annotation processors into compilation process<\/li>\n    <\/ul>\n  <\/li>\n\n  <li><b>Modules<\/b>\n    <ul>\n      <li>Why use modules, Java versus Maven modules<\/li>\n      <li>Creating modules, controlling access &amp; specifying module requirements<\/li>\n      <li>Efficient runtime images<\/li>\n      <li>Using modules for simple Java-based dependency injection<\/li>\n    <\/ul>\n  <\/li>\n\n  <li><b>Data binding<\/b>\n    <ul>\n      <li>Mapping composition, aggregation, association, specialization \\&amp; containment relationships<\/li>\n      <li>XML-binding via JAXB<\/li>\n        <ul>\n          <li>Schema-driven \\&amp; Java-driven<\/li>\n        <\/ul>\n      <li>JSON-binding via JSON-B<\/li>\n      <li>Database binding via JPA<\/li>\n    <\/ul>\n  <\/li>\n\n  <li><b>Decoupling<\/b>\n    <ul>\n        <li><em>Dependency injection<\/em>\n        <ul>\n            <li>Why and typical uses<\/li>\n            <li>Understanding, configuring and using CDI<\/li>\n        <\/ul>\n      <\/li>\n      <li><em>Java Connector Architecture (JCA)<\/em>\n        <ul>\n          <li>\n        <\/ul>\n      <\/li>\n      <li><em>Messaging<\/em>\n        <ul>\n          <li>Decoupling, robustness and load balancing via messaging<\/li>\n          <li>Queues, topics and streams<\/li>\n        <\/ul>\n      <\/li>\n      <li><em>Addressing cross-cutting concerns via Aspect-oriented programming<\/em>\n        <ul>\n          <li>Why &amp; typical uses<\/li>\n          <li>aspects, join-points, advices and point-cuts<\/li>\n          <li>Using Aspect-J<\/li>\n        <\/ul>\n      <\/li>\n      <li><em>Generics<\/em>\n        <ul>\n          <li>Generic methods, classes, interfaces, constructors, collections<\/li>\n          <li>Bounded &amp; wild-card parameters<\/li>\n        <\/ul>\n      <\/li>\n   <\/ul>\n <\/li>\n\n <li><b>Contract driven development and testing<\/b>\n    <ul>\n      <li>Why?<\/li>\n      <li>Specifying service &amp; component contracts<\/li>\n      <li>Generating contract validating interceptors (CVIs)<\/li>\n      <li>Using CVIs for unit, integration &amp; operational testing &amp; service-provider oversight<\/li>\n    <\/ul>\n  <\/li>\n<\/ol>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-7060d0a6\">\n<h2 class=\"wp-block-heading\">Interested?<\/h2>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-0ee8d0f2\">\n<div class=\"wp-block-uagb-buttons uagb-buttons__outer-wrap uagb-btn__default-btn uagb-btn-tablet__default-btn uagb-btn-mobile__default-btn uagb-block-e90e58d0\"><div class=\"uagb-buttons__wrap uagb-buttons-layout-wrap\">\n<div class=\"wp-block-uagb-buttons-child uagb-buttons__outer-wrap uagb-block-61909cc0 wp-block-button is-style-outline\"><div class=\"uagb-button__wrapper\"><a class=\"uagb-buttons-repeater wp-block-button__link has-background\" href=\"https:\/\/solmstc.com\/index.php\/traininginfoorquoterequest\/\" onclick=\"return true;\" rel=\"follow noopener\" target=\"_self\"><div class=\"uagb-button__link\">Enquire about on-site or live-virtual training<\/div><\/a><\/div><\/div>\n<\/div><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Certification<\/h2>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-8edc6739\">\n<p>The <em>Advanced Java course<\/em> is part of the standard <\/p>\n\n\n\n<div class=\"wp-block-uagb-buttons uagb-buttons__outer-wrap uagb-btn__default-btn uagb-btn-tablet__default-btn uagb-btn-mobile__default-btn uagb-block-0210e241\"><div class=\"uagb-buttons__wrap uagb-buttons-layout-wrap\">\n<div class=\"wp-block-uagb-buttons-child uagb-buttons__outer-wrap uagb-block-9fbe2a3d wp-block-button is-style-outline\"><div class=\"uagb-button__wrapper\"><a class=\"uagb-buttons-repeater wp-block-button__link has-background\" href=\"https:\/\/solmstc.com\/index.php\/training_\/certification\/ertification\/\" onclick=\"return true;\" rel=\"follow noopener\" target=\"_self\"><div class=\"uagb-button__link\">Solms TC Certification Program<\/div><\/a><\/div><\/div>\n<\/div><\/div>\n<\/div>\n<\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":2868,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"om_disable_all_campaigns":false,"_uag_custom_page_level_css":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-789","page","type-page","status-publish","hentry"],"aioseo_notices":[],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Fritz Solms","author_link":"https:\/\/solmstc.com\/author\/fritzsolms-co-za\/"},"uagb_comment_info":0,"uagb_excerpt":null,"_links":{"self":[{"href":"https:\/\/solmstc.com\/index.php\/wp-json\/wp\/v2\/pages\/789","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/solmstc.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/solmstc.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/solmstc.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/solmstc.com\/index.php\/wp-json\/wp\/v2\/comments?post=789"}],"version-history":[{"count":18,"href":"https:\/\/solmstc.com\/index.php\/wp-json\/wp\/v2\/pages\/789\/revisions"}],"predecessor-version":[{"id":3116,"href":"https:\/\/solmstc.com\/index.php\/wp-json\/wp\/v2\/pages\/789\/revisions\/3116"}],"up":[{"embeddable":true,"href":"https:\/\/solmstc.com\/index.php\/wp-json\/wp\/v2\/pages\/2868"}],"wp:attachment":[{"href":"https:\/\/solmstc.com\/index.php\/wp-json\/wp\/v2\/media?parent=789"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}