{"id":21974914,"url":"https://github.com/blaze-b/mc-java-demo-trainer","last_synced_at":"2026-04-16T12:35:21.243Z","repository":{"id":149530177,"uuid":"310809523","full_name":"blaze-b/mc-java-demo-trainer","owner":"blaze-b","description":"A complete java e2e features testing and running it make it workable solutions to be taken later","archived":false,"fork":false,"pushed_at":"2024-11-02T22:24:45.000Z","size":638,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-28T03:22:51.683Z","etag":null,"topics":["java","servelet","spring","spring-boot","spring-mvc"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blaze-b.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-07T09:27:47.000Z","updated_at":"2024-11-02T22:24:48.000Z","dependencies_parsed_at":"2024-11-02T23:20:00.550Z","dependency_job_id":"4c98b019-9f5a-4014-a501-8c01333fb4ee","html_url":"https://github.com/blaze-b/mc-java-demo-trainer","commit_stats":null,"previous_names":["blaze-b/java-essential-training","blaze-b/mc-java-demo-trainer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blaze-b%2Fmc-java-demo-trainer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blaze-b%2Fmc-java-demo-trainer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blaze-b%2Fmc-java-demo-trainer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blaze-b%2Fmc-java-demo-trainer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blaze-b","download_url":"https://codeload.github.com/blaze-b/mc-java-demo-trainer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245036123,"owners_count":20550661,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","servelet","spring","spring-boot","spring-mvc"],"created_at":"2024-11-29T15:48:38.088Z","updated_at":"2026-04-16T12:35:16.210Z","avatar_url":"https://github.com/blaze-b.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Java Essential Training\n\n## History\n\n- A new portable language\n- Original Name: Oak\n- Tag line: Write once, Run Everywhere\n\n![Alt text](images/History.PNG \"History of Java\")\n![Alt text](images/History2.PNG \"History of Java\")\n\n## Principles\n\n- Simple, Object-oriented, and familiar\n- Robust and secure(Methods, properties and Debugging)\n- Architecture-neutral and portable\n- High-performance\n- Interpreted, threaded(more than one processes) and dynamic\n\n## Runtime Architecture\n\n- It is an interpreted language.\n- It compiles the bytecode instead of machine language\n- The compiled application is portable between platforms without recompiling(JVM)\n\n![Alt text](images/Runtime_Arch.PNG \"Runtime Architecture\")\n\n## Java v/s JavaScript\n\n![Alt text](images/JavaVsJavaScript.PNG \"History of Java\")\n\n## Features\n\n- Java Platform, Micro Edition(ME) (Micro-Controller, sensors and mobile devices)\n- Java Runtime Environment (Java SE Runtime Environment (JRE) includes JVM),\nSupported on Windows, Linux, OS X and Solaris, Runs all java applications: desktop, browser and server,\nMust be updated to keep up with the security issues, Mobile operating systems have their own runtimes.\n- Java development kit(JDK): It is a no cost from ORACLE, Include tools for the compilation and packaging\u003cbr\u003e\n  - java: runtime\n  - javac: compile\n  - javadoc: docs builder\n  - jar: archive builder\n\n## Creating classes\n\n- All codes are defined in classes\n- Classes are defined in the src code files with .java extensions\n- javac command compiles Java code into byte code\n\n## Identifier Conventions\n\n- Classes start with the uppercase character, class MyClass{}\n- Methods and variables start with the lowercase character.\u003cbr\u003e\n\n```java\n    void doSomething() {\n    }\n```\n- Constants are always UpperCase\n\n```java\n\n    public static final String FIRST_NAME = \"david\";\n\n```\n\n## Memory management and Garbage collection\n\n- Automatic Memory Management (Memory for objects is allocated automatically)\n- Objects are created in the heap memory\n- As long as any variable references an object, its's retained\n- When all the references expire, then it is available for the garbage collection\n\n## Reference Expire?\n\n- Variables local to methods or code blocks expire with scope,\u003cbr\u003e\n\n```java\n\n    void checkString() {\n        String localVar = \"Test String\";\n        System.out.println(\"Tes\" + localVar);\n    }\n    \n```\n\n- We can defer variable with the null keyword,\n\n```java\n\nString tempVar = \"Test string\";\ntempVar = null;\n\n```\n\n## Servlets\n\n- Install the tomcat version: https://tomcat.apache.org/download-90.cgi\n- After installing the server import it in the intelliJ smart tomcat runner plugin: `D:\\dev\\software\\apache-tomcat-9.0.91`,\n\n  - Setting up the tomcat path\n      ![Alt text](images/tomcat-setting.jpg \"Setting up the tomcat path\")\n  \n  - Setting up the tomcat runner details\n      ![Alt text](images/tomcat-runner-setting.jpg \"Setting up the tomcat runner details\") \n\n\n## Design Patterns\n\nFor every software architectural processes the design principles plays crucial role in development, [Design patterns](/docs/java-design-pattern.md)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblaze-b%2Fmc-java-demo-trainer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblaze-b%2Fmc-java-demo-trainer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblaze-b%2Fmc-java-demo-trainer/lists"}