Skip to content

Commit

Permalink
Initial commit containing full training materials and reading referen…
Browse files Browse the repository at this point in the history
…ces.
  • Loading branch information
martinfmi committed Nov 29, 2020
1 parent d7de0c2 commit 27753b4
Show file tree
Hide file tree
Showing 58 changed files with 422 additions and 0 deletions.
Binary file not shown.
19 changes: 19 additions & 0 deletions 1. Fundamentals/01. Core_language/readings.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
The following readings might be covered in a two-week timeframe:

Java tutorial: getting started
https://docs.oracle.com/javase/tutorial/getStarted/index.html

Java tutorial: learning the Java language
https://docs.oracle.com/javase/tutorial/java/index.html

Java tutorial: exceptions
https://docs.oracle.com/javase/tutorial/essential/exceptions/index.html

Numbers and Strings
https://docs.oracle.com/javase/tutorial/java/data/index.html

Java tutorial: annotations
https://docs.oracle.com/javase/tutorial/java/annotations/

Sun Certified Programmer for Java 6 book
chapters 1,2,3,4,5,10
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@

Wikipedia's article on the Java Collections framework
https://en.wikipedia.org/wiki/Java_collections_framework

Java tutorials: collections
https://docs.oracle.com/javase/tutorial/collections/index.html

Sun Certified Programmer for Java 6 book
chapters 7 (collections)

Apache Commons Collections short guide:
http://commons.apache.org/proper/commons-collections/userguide.html

Apache Common Collections CollectionUtils
https://www.baeldung.com/apache-commons-collection-utils

Eclipse collections tutorial
https://www.baeldung.com/eclipse-collections

Eclipse collections reference guide
https://github.com/eclipse/eclipse-collections/blob/master/docs/guide.md#eclipse-collections-reference-guide

Guava wiki
(Collections section)
https://github.com/google/guava/wiki
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@

Computational complexity theory
https://en.wikipedia.org/wiki/Computational_complexity_theory

Time complexity
https://en.wikipedia.org/wiki/Time_complexity

Space complexity
https://en.wikipedia.org/wiki/Space_complexity

Amortized complexity
https://en.wikipedia.org/wiki/Amortized_analysis

Problems with solutions in the analysis of algorithms
(chapters 1, 2, 3 theory only, without going through all the problems and math solutions)
file:///D:/projects/java_academy/modules/1.%20Fundamentals/02.%20OOP_data_structures_complexity/complexity_manual.pdfv
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
Official Oracle Java Generics tutorial (updated version)
https://docs.oracle.com/javase/tutorial/java/generics/index.html

Wikipedia's article on Java generics
https://en.wikipedia.org/wiki/Generics_in_Java

Generics tutorial (Stanford)
https://web.stanford.edu/class/archive/cs/cs108/cs108.1082/handouts/08JavaGenerics.pdf

(optionals) Generics in gory details
http://www.angelikalanger.com/GenericsFAQ/FAQSections/TechnicalDetails.html#FAQ609

The State of the Module System
https://openjdk.java.net/projects/jigsaw/spec/sotms/

A guide to Java 9 module system
https://www.baeldung.com/java-9-modularity

Java modules tutorial
http://tutorials.jenkov.com/java/modules.html

Understanding Java 9 modules
https://www.oracle.com/corporate/features/understanding-java-9-modules.html

(optional)
JDK 9 migration guide
https://docs.oracle.com/javase/9/migrate/toc.htm#JSMIG-GUID-7744EF96-5899-4FB2-B34E-86D49B2E89B6

Sun Certified Programmer for Java 6 book
chapters 7 and 8
60 changes: 60 additions & 0 deletions 1. Fundamentals/03. Core_SDK_APIs/readings_sdk1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@

Java® Platform, Standard Edition & Java Development Kit Version 13 API Specification
https://docs.oracle.com/en/java/javase/13/docs/api/index.html

Java Core Libraries
https://docs.oracle.com/javase/10/core/java-core-libraries1.htm#JSCOR-GUID-C6BE8117-F73E-4BE6-98AA-681A0CD4EEA9

Sun Certified Programmer for Java 6 book
chapter 6

Java tutorial: lambda expressions
https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html

Java 8 streams tutorial
https://www.baeldung.com/java-8-streams

Java logging framework
https://en.wikipedia.org/wiki/Java_logging_framework

Java Logging Overview
https://docs.oracle.com/javase/10/core/java-logging-overview.htm#JSCOR-GUID-48004124-2C00-49F7-A640-0C0DDA271DBC

Introduction to Java Logging
https://www.baeldung.com/java-logging-intro

Logging in Java
https://www.vogella.com/tutorials/Logging/article.html

20 Useful Libraries Java Programmers Should Know
https://dzone.com/articles/20-useful-open-source-libraries-for-java-programme

(additional information)
Books and lambdas and stream in Java

Java IO Overview: tutorial
http://tutorials.jenkov.com/java-io/overview.html

Java basic IO
https://docs.oracle.com/javase/tutorial/essential/io/

Java NIO tutorial
http://tutorials.jenkov.com/java-nio/index.html

Wikipedia: Java NIO
https://en.wikipedia.org/wiki/Non-blocking_I/O_(Java)

Tutorial: Read and write user input in Java
https://www.baeldung.com/java-console-input-output

Object cloning in Java
https://www.javatpoint.com/object-cloning

Shallow vs Deep Copy in Java
https://dzone.com/articles/java-copy-shallow-vs-deep-in-which-you-will-swim

Wikipedia article on serialization
https://en.wikipedia.org/wiki/Serialization

An introduction to Java serialization
https://www.baeldung.com/java-serialization
18 changes: 18 additions & 0 deletions 1. Fundamentals/03. Core_SDK_APIs/readings_sdk2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@

Trail: Java reflection
https://docs.oracle.com/javase/tutorial/reflect/index.html

Java reflection tutorial
http://tutorials.jenkov.com/java-reflection/index.html

Guide to Java reflection
https://www.baeldung.com/java-reflection

Using Java reflection
https://www.oracle.com/technical-resources/articles/java/javareflection.html

Regular expressions in Java
https://docs.oracle.com/javase/tutorial/essential/regex/

Regular expressions practice
https://regexone.com/lesson/letters_and_digits
25 changes: 25 additions & 0 deletions 1. Fundamentals/03. Core_SDK_APIs/readings_sdk3.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@

A Guide to XML in Java
https://www.baeldung.com/java-xml

JAXP
https://docs.oracle.com/javase/tutorial/jaxp/index.html

JAXB tutorial
https://docs.oracle.com/javase/tutorial/jaxb/index.html

Date and time API
https://docs.oracle.com/javase/tutorial/datetime/

Internationalization tutorial
https://docs.oracle.com/javase/tutorial/i18n/index.html

Java internationalization tutorial
http://tutorials.jenkov.com/java-internationalization/index.html

Security features of Java SE
https://docs.oracle.com/javase/tutorial/security/index.html

(optional)
Java Platform Security Architecture
http://ftp.icm.edu.pl/pub/java/javasoft-docs/j2se1.3/security-spec.pdf
Binary file added 1. Fundamentals/03. Core_SDK_APIs/sdk_1.pdf
Binary file not shown.
Binary file added 1. Fundamentals/03. Core_SDK_APIs/sdk_2.pdf
Binary file not shown.
Binary file added 1. Fundamentals/03. Core_SDK_APIs/sdk_3.pdf
Binary file not shown.
Binary file added 1. Fundamentals/04. Git/Git_crash_course.pdf
Binary file not shown.
3 changes: 3 additions & 0 deletions 1. Fundamentals/04. Git/readings.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@

Git tutorial
https://www.vogella.com/tutorials/Git/article.html
9 changes: 9 additions & 0 deletions 1. Fundamentals/05. IDEs/readings.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@

Using the Eclipse IDE for Java programming - Tutorial
https://www.vogella.com/tutorials/Eclipse/article.html

IntelliJ Getting started video tutorial
https://www.jetbrains.com/idea/documentation/

Intellij IDEA Tutorial for Eclipse Users
https://www.jrebel.com/blog/intellij-idea-tutorial
Binary file not shown.
59 changes: 59 additions & 0 deletions 1. Fundamentals/06. JVM_internals/readings.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@

JVM internals articles
https://blog.jamesdbloom.com/JVMInternals.html

Understanding JVM internals
https://www.cubrid.org/blog/understanding-jvm-internals/

HotSpot JVM presentation (FOSDEM 2007)
http://openjdk.java.net/groups/hotspot/docs/FOSDEM-2007-HotSpot.pdf

Wikipedia's article on JVM
https://en.wikipedia.org/wiki/Java_virtual_machine

Wikipedia's article on HotSpot JVM
https://en.wikipedia.org/wiki/HotSpot

JVM architecture in a Nutshell
https://dev.to/hrishi2710/jvm-architecture-in-a-nutshell-2jj1

Java Virtual Machine and its architecture
https://www.guru99.com/java-virtual-machine-jvm.html

Structure of the Java virtual machine (from JavaSE 7 JVM spec)
https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-2.html

Hotspot documentation (keep for reference only)
http://openjdk.java.net/groups/hotspot/

JVM 7 and 13 specs (keep for reference only)
http://docs.oracle.com/javase/specs/jvms/se7/jvms7.pdf
https://docs.oracle.com/javase/specs/jvms/se14/jvms14.pdf

Wikipedia's GraalVM article
https://en.wikipedia.org/wiki/GraalVM

GraalVM - an introduction into the next level Java Virtual Machine (JVM)
https://rieckpil.de/whatis-graalvm/

Deep Dive Into the New Java JIT compiler
https://www.baeldung.com/graal-java-jit-compiler

Wikipedia's article on Garbage-first collector
https://en.wikipedia.org/wiki/Garbage-first_collector

Java Garbage Collection Basics
https://www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html

JVM Garbage Collectors
https://www.baeldung.com/jvm-garbage-collectors

Types of Garbage Collectors
https://javapapers.com/java/types-of-java-garbage-collectors/

Epsilon: The JDK’s Do-Nothing Garbage Collector
https://blogs.oracle.com/javamagazine/epsilon-the-jdks-do-nothing-garbage-collector

Getting started with the G1 garbage collector
https://www.oracle.com/technetwork/tutorials/tutorials-1876574.html

Binary file added 1. Fundamentals/07. Clean_code/Refactoring.pdf
Binary file not shown.
Binary file not shown.
Binary file added 1. Fundamentals/09. Testing/Test automation.pdf
Binary file not shown.
Binary file added 1. Fundamentals/09. Testing/Unit testing.pdf
Binary file not shown.
19 changes: 19 additions & 0 deletions 1. Fundamentals/09. Testing/readings_test_automation.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@

Testing the Web Layer (Spring tutorial)
https://spring.io/guides/gs/testing-web/

Spring testing framework
https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/testing.html

Spring boot testing
https://www.baeldung.com/spring-boot-testing

Rest assured framework (including documentation)
http://rest-assured.io/

Wikipedia article on Selenium
https://en.wikipedia.org/wiki/Selenium_(software)

Selenium documentation
https://www.selenium.dev/documentation/en/

36 changes: 36 additions & 0 deletions 1. Fundamentals/09. Testing/readings_unit_testing.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@

TestPyramid
https://martinfowler.com/bliki/TestPyramid.html

The Practical Test Pyramid
https://martinfowler.com/articles/practical-test-pyramid.html

Wikipedia's article on unit testing
https://en.wikipedia.org/wiki/Unit_testing

List of unit testing frameworks in Java
https://en.wikipedia.org/wiki/List_of_unit_testing_frameworks#Java

Wikipedia's article on test driven development
https://en.wikipedia.org/wiki/Test-driven_development

(covers both JUnit 4 and 5) Unit testing with JUnit tutorial
https://www.vogella.com/tutorials/JUnit/article.html

JUnit 5 user guide (section 2: writing tests)
https://junit.org/junit5/docs/current/user-guide/#writing-tests

TestNG documentation
https://testng.org/doc/documentation-main.html

Wikipedia's article on mock objects
https://en.wikipedia.org/wiki/Mock_object

Wikipedia's article on Mockito
https://en.wikipedia.org/wiki/Mockito

Unit tests with Mockito: tutorial
https://www.vogella.com/tutorials/Mockito/article.html

Testing with EasyMock: tutorial
https://www.vogella.com/tutorials/EasyMock/article.html
Binary file not shown.
Binary file not shown.
Binary file not shown.
30 changes: 30 additions & 0 deletions 1. Fundamentals/10. Concurrent_programming/readings.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@

Wikipedia's article on Java memory model
https://en.wikipedia.org/wiki/Java_memory_model

Article on Java Memory Model
http://tutorials.jenkov.com/java-concurrency/java-memory-model.html

Wikipedia's article on Java concurrency
https://en.wikipedia.org/wiki/Java_concurrency

Official Java tutorial on concurrency
https://docs.oracle.com/javase/tutorial/essential/concurrency/index.html

Java concurrency without the pain article (part 1)
https://www.javaworld.com/article/2078809/java-concurrency-java-101-the-next-generation-java-concurrency-without-the-pain-part-1.html

Java concurrency without the pain article (part 2)
https://www.javaworld.com/article/2078848/java-concurrency-java-101-the-next-generation-java-concurrency-without-the-pain-part-2.html

Java Concurrent Animated (new version)
https://github.com/vgrazi/JavaConcurrentAnimatedReboot
1) clone or download as zip and unarchive
2) build with 'mvn clean package'
3) navigate to target folder and execute with 'java -jar java-concurrent-animated-reboot-0.0.1-SNAPSHOT.jar'

(optional) Java concurrency and multithreading tutorial
http://tutorials.jenkov.com/java-concurrency/index.html

(optional) Java concurrency in Practice
https://github.com/sanigo/books/blob/master/%5BJAVA%5D%5BJava%20Concurrency%20In%20Practice%5D.pdf
Binary file added 2. Build and deployment/Build systems.pdf
Binary file not shown.
33 changes: 33 additions & 0 deletions 2. Build and deployment/readings.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@

Wikipedia's article on Apache Ant
https://en.wikipedia.org/wiki/Apache_Ant

Ant tutorial
http://tutorials.jenkov.com/ant/ant-tutorial.html

Ant tutorial (Vogella)
https://www.vogella.com/tutorials/ApacheAnt/article.html

Wikipedia's article on Apache Maven
https://en.wikipedia.org/wiki/Apache_Maven

Maven tutorial
http://tutorials.jenkov.com/maven/maven-tutorial.html

Apache Maven tutorial (Baeldung)
https://www.baeldung.com/maven

Wikipedia's article on Gradle
https://en.wikipedia.org/wiki/Gradle

Gradle tutorial
http://tutorials.jenkov.com/gradle/dependency-management.html

Ant vs Maven vs Gradle
https://www.baeldung.com/ant-maven-gradle

(optional) Gradle tutorial (Vogella)
https://www.vogella.com/tutorials/Gradle/article.html

(optional) Getting started with Java build tools
https://www.jrebel.com/blog/getting-started-with-java-build-tools
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading

0 comments on commit 27753b4

Please sign in to comment.