https://betaprogrammer.com/java-types-comprehensively-explained
Java Types Comprehensively Explained