Skip to main content

index

docs/
└── tutorials/
└── java/
β”œβ”€β”€ index.mdx
β”‚
β”œβ”€β”€ 01-getting-started/
β”‚ β”œβ”€β”€ what-is-java.mdx
β”‚ β”œβ”€β”€ java-features.mdx
β”‚ β”œβ”€β”€ jdk-jre-jvm.mdx
β”‚ β”œβ”€β”€ install-java.mdx
β”‚ β”œβ”€β”€ setup-vscode-intellij.mdx
β”‚ β”œβ”€β”€ compile-and-run-java.mdx
β”‚ └── first-java-program.mdx
β”‚
β”œβ”€β”€ 02-java-fundamentals/
β”‚ β”œβ”€β”€ program-structure.mdx
β”‚ β”œβ”€β”€ variables-and-constants.mdx
β”‚ β”œβ”€β”€ primitive-data-types.mdx
β”‚ β”œβ”€β”€ type-casting.mdx
β”‚ β”œβ”€β”€ operators.mdx
β”‚ β”œβ”€β”€ input-and-output.mdx
β”‚ β”œβ”€β”€ comments-and-documentation.mdx
β”‚ └── naming-conventions.mdx
β”‚
β”œβ”€β”€ 03-control-flow/
β”‚ β”œβ”€β”€ if-else.mdx
β”‚ β”œβ”€β”€ switch-statements.mdx
β”‚ β”œβ”€β”€ for-loops.mdx
β”‚ β”œβ”€β”€ while-and-do-while.mdx
β”‚ β”œβ”€β”€ break-and-continue.mdx
β”‚ β”œβ”€β”€ nested-loops.mdx
β”‚ └── pattern-matching-basics.mdx
β”‚
β”œβ”€β”€ 04-arrays-and-strings/
β”‚ β”œβ”€β”€ arrays.mdx
β”‚ β”œβ”€β”€ multidimensional-arrays.mdx
β”‚ β”œβ”€β”€ array-operations.mdx
β”‚ β”œβ”€β”€ string-fundamentals.mdx
β”‚ β”œβ”€β”€ string-methods.mdx
β”‚ β”œβ”€β”€ stringbuilder-and-stringbuffer.mdx
β”‚ β”œβ”€β”€ text-blocks.mdx
β”‚ └── regular-expressions.mdx
β”‚
β”œβ”€β”€ 05-methods-and-functions/
β”‚ β”œβ”€β”€ methods.mdx
β”‚ β”œβ”€β”€ parameters-and-return-values.mdx
β”‚ β”œβ”€β”€ method-overloading.mdx
β”‚ β”œβ”€β”€ recursion.mdx
β”‚ β”œβ”€β”€ varargs.mdx
β”‚ β”œβ”€β”€ scope-and-lifetime.mdx
β”‚ └── pass-by-value.mdx
β”‚
β”œβ”€β”€ 06-object-oriented-programming/
β”‚ β”œβ”€β”€ classes-and-objects.mdx
β”‚ β”œβ”€β”€ constructors.mdx
β”‚ β”œβ”€β”€ this-and-static.mdx
β”‚ β”œβ”€β”€ encapsulation.mdx
β”‚ β”œβ”€β”€ inheritance.mdx
β”‚ β”œβ”€β”€ polymorphism.mdx
β”‚ β”œβ”€β”€ abstraction.mdx
β”‚ β”œβ”€β”€ interfaces.mdx
β”‚ β”œβ”€β”€ abstract-classes.mdx
β”‚ β”œβ”€β”€ composition-vs-inheritance.mdx
β”‚ └── object-class-methods.mdx
β”‚
β”œβ”€β”€ 07-packages-and-access-control/
β”‚ β”œβ”€β”€ packages.mdx
β”‚ β”œβ”€β”€ imports.mdx
β”‚ β”œβ”€β”€ access-modifiers.mdx
β”‚ β”œβ”€β”€ nested-classes.mdx
β”‚ β”œβ”€β”€ enums.mdx
β”‚ β”œβ”€β”€ annotations.mdx
β”‚ └── modular-java.mdx
β”‚
β”œβ”€β”€ 08-exception-handling/
β”‚ β”œβ”€β”€ exception-fundamentals.mdx
β”‚ β”œβ”€β”€ checked-vs-unchecked.mdx
β”‚ β”œβ”€β”€ try-catch-finally.mdx
β”‚ β”œβ”€β”€ throw-and-throws.mdx
β”‚ β”œβ”€β”€ custom-exceptions.mdx
β”‚ β”œβ”€β”€ try-with-resources.mdx
β”‚ └── exception-best-practices.mdx
β”‚
β”œβ”€β”€ 09-collections-framework/
β”‚ β”œβ”€β”€ collections-overview.mdx
β”‚ β”œβ”€β”€ list-and-arraylist.mdx
β”‚ β”œβ”€β”€ linkedlist.mdx
β”‚ β”œβ”€β”€ set-and-hashset.mdx
β”‚ β”œβ”€β”€ map-and-hashmap.mdx
β”‚ β”œβ”€β”€ treeset-and-treemap.mdx
β”‚ β”œβ”€β”€ queue-and-deque.mdx
β”‚ β”œβ”€β”€ iterators.mdx
β”‚ β”œβ”€β”€ comparable-and-comparator.mdx
β”‚ └── choosing-a-collection.mdx
β”‚
β”œβ”€β”€ 10-generics-and-modern-java/
β”‚ β”œβ”€β”€ generic-classes.mdx
β”‚ β”œβ”€β”€ generic-methods.mdx
β”‚ β”œβ”€β”€ wildcards-and-bounds.mdx
β”‚ β”œβ”€β”€ lambda-expressions.mdx
β”‚ β”œβ”€β”€ functional-interfaces.mdx
β”‚ β”œβ”€β”€ method-references.mdx
β”‚ β”œβ”€β”€ stream-api.mdx
β”‚ β”œβ”€β”€ optional.mdx
β”‚ β”œβ”€β”€ records.mdx
β”‚ β”œβ”€β”€ sealed-classes.mdx
β”‚ β”œβ”€β”€ switch-expressions.mdx
β”‚ └── pattern-matching.mdx
β”‚
β”œβ”€β”€ 11-file-handling-and-io/
β”‚ β”œβ”€β”€ file-and-path.mdx
β”‚ β”œβ”€β”€ reading-text-files.mdx
β”‚ β”œβ”€β”€ writing-text-files.mdx
β”‚ β”œβ”€β”€ buffered-streams.mdx
β”‚ β”œβ”€β”€ byte-and-character-streams.mdx
β”‚ β”œβ”€β”€ serialization.mdx
β”‚ β”œβ”€β”€ nio-fundamentals.mdx
β”‚ └── file-processing-project.mdx
β”‚
β”œβ”€β”€ 12-date-time-and-utilities/
β”‚ β”œβ”€β”€ date-and-time-api.mdx
β”‚ β”œβ”€β”€ localdate-localtime.mdx
β”‚ β”œβ”€β”€ datetime-formatting.mdx
β”‚ β”œβ”€β”€ math-and-random.mdx
β”‚ β”œβ”€β”€ bigdecimal-and-biginteger.mdx
β”‚ β”œβ”€β”€ uuid.mdx
β”‚ └── internationalization.mdx
β”‚
β”œβ”€β”€ 13-multithreading-and-concurrency/
β”‚ β”œβ”€β”€ threads-and-runnables.mdx
β”‚ β”œβ”€β”€ thread-lifecycle.mdx
β”‚ β”œβ”€β”€ synchronization.mdx
β”‚ β”œβ”€β”€ race-conditions.mdx
β”‚ β”œβ”€β”€ locks-and-atomic-classes.mdx
β”‚ β”œβ”€β”€ executor-service.mdx
β”‚ β”œβ”€β”€ futures-and-completablefuture.mdx
β”‚ β”œβ”€β”€ concurrent-collections.mdx
β”‚ β”œβ”€β”€ virtual-threads.mdx
β”‚ └── concurrency-best-practices.mdx
β”‚
β”œβ”€β”€ 14-jdbc-and-databases/
β”‚ β”œβ”€β”€ database-connectivity.mdx
β”‚ β”œβ”€β”€ jdbc-fundamentals.mdx
β”‚ β”œβ”€β”€ connect-to-postgresql.mdx
β”‚ β”œβ”€β”€ connect-to-mysql.mdx
β”‚ β”œβ”€β”€ prepared-statements.mdx
β”‚ β”œβ”€β”€ result-sets.mdx
β”‚ β”œβ”€β”€ transactions.mdx
β”‚ β”œβ”€β”€ connection-pooling.mdx
β”‚ └── repository-pattern.mdx
β”‚
β”œβ”€β”€ 15-testing-and-code-quality/
β”‚ β”œβ”€β”€ unit-testing-fundamentals.mdx
β”‚ β”œβ”€β”€ junit-5.mdx
β”‚ β”œβ”€β”€ assertions-and-test-lifecycle.mdx
β”‚ β”œβ”€β”€ mocking-with-mockito.mdx
β”‚ β”œβ”€β”€ integration-testing.mdx
β”‚ β”œβ”€β”€ test-driven-development.mdx
β”‚ β”œβ”€β”€ debugging.mdx
β”‚ β”œβ”€β”€ logging.mdx
β”‚ └── code-quality-and-static-analysis.mdx
β”‚
β”œβ”€β”€ 16-build-tools-and-dependencies/
β”‚ β”œβ”€β”€ project-structure.mdx
β”‚ β”œβ”€β”€ maven-fundamentals.mdx
β”‚ β”œβ”€β”€ gradle-fundamentals.mdx
β”‚ β”œβ”€β”€ dependencies-and-repositories.mdx
β”‚ β”œβ”€β”€ build-lifecycle.mdx
β”‚ β”œβ”€β”€ environment-configuration.mdx
β”‚ └── packaging-jar-and-war.mdx
β”‚
β”œβ”€β”€ 17-spring-and-backend-development/
β”‚ β”œβ”€β”€ spring-framework-overview.mdx
β”‚ β”œβ”€β”€ dependency-injection.mdx
β”‚ β”œβ”€β”€ spring-boot-getting-started.mdx
β”‚ β”œβ”€β”€ rest-api-development.mdx
β”‚ β”œβ”€β”€ request-validation.mdx
β”‚ β”œβ”€β”€ spring-data-jpa.mdx
β”‚ β”œβ”€β”€ hibernate-and-orm.mdx
β”‚ β”œβ”€β”€ spring-security.mdx
β”‚ β”œβ”€β”€ authentication-and-authorization.mdx
β”‚ β”œβ”€β”€ api-error-handling.mdx
β”‚ └── api-documentation.mdx
β”‚
β”œβ”€β”€ 18-advanced-java/
β”‚ β”œβ”€β”€ jvm-memory-model.mdx
β”‚ β”œβ”€β”€ garbage-collection.mdx
β”‚ β”œβ”€β”€ class-loading.mdx
β”‚ β”œβ”€β”€ reflection.mdx
β”‚ β”œβ”€β”€ annotations-processing.mdx
β”‚ β”œβ”€β”€ performance-profiling.mdx
β”‚ β”œβ”€β”€ design-patterns.mdx
β”‚ β”œβ”€β”€ solid-principles.mdx
β”‚ └── clean-architecture.mdx
β”‚
β”œβ”€β”€ 19-security-and-deployment/
β”‚ β”œβ”€β”€ secure-coding.mdx
β”‚ β”œβ”€β”€ input-validation.mdx
β”‚ β”œβ”€β”€ secrets-management.mdx
β”‚ β”œβ”€β”€ dependency-security.mdx
β”‚ β”œβ”€β”€ dockerizing-java-apps.mdx
β”‚ β”œβ”€β”€ environment-based-deployment.mdx
β”‚ β”œβ”€β”€ application-monitoring.mdx
β”‚ └── production-readiness-checklist.mdx
β”‚
β”œβ”€β”€ 20-projects/
β”‚ β”œβ”€β”€ console-calculator.mdx
β”‚ β”œβ”€β”€ student-management-system.mdx
β”‚ β”œβ”€β”€ library-management-system.mdx
β”‚ β”œβ”€β”€ expense-tracker.mdx
β”‚ β”œβ”€β”€ employee-management-api.mdx
β”‚ β”œβ”€β”€ task-management-rest-api.mdx
β”‚ └── full-stack-java-application.mdx
β”‚
β”œβ”€β”€ 21-practice/
β”‚ β”œβ”€β”€ beginner-exercises.mdx
β”‚ β”œβ”€β”€ intermediate-exercises.mdx
β”‚ β”œβ”€β”€ advanced-exercises.mdx
β”‚ β”œβ”€β”€ coding-challenges.mdx
β”‚ β”œβ”€β”€ quizzes.mdx
β”‚ └── interview-questions.mdx
β”‚
β”œβ”€β”€ reference/
β”‚ β”œβ”€β”€ java-syntax-cheatsheet.mdx
β”‚ β”œβ”€β”€ collections-reference.mdx
β”‚ β”œβ”€β”€ stream-api-reference.mdx
β”‚ β”œβ”€β”€ exceptions-reference.mdx
β”‚ β”œβ”€β”€ jvm-reference.mdx
β”‚ └── glossary.mdx
β”‚
└── assets/
β”œβ”€β”€ images/
└── diagrams/