Java technology site for absolute beginners

From no Java to know Java

Knowing others is intelligence;
knowing yourself is true wisdom.
Mastering others is strength;
mastering yourself is true power.
― Lao Tzu, Tao Te Ching

Java Standard Edition

The Java Platform, Standard Edition 8 (Java SE 8) delivers enhanced developer productivity and significant application performance increases through reduced boilerplate code, simpler parallel programming models and more efficient use of modern, multi-core processors.

The Java language has undergone several changes since JDK 1.0 as well as numerous additions of classes and packages to the standard library. Since J2SE 1.4, the evolution of the Java language has been governed by the Java Community Process (JCP), which uses Java Specification Requests (JSRs) to propose and specify additions and changes to the Java platform. The language is specified by the Java Language Specification (JLS); changes to the JLS are managed under JSR 901

Java Timeline
YearMonthEvent
1996JanuaryJDK 1.0 released
1997FebruaryJDK 1.1 released
1998DecemberSDK 1.2 released
1999AugustJava 2 Platform, Standard Edition (J2SE) released.
1999DecemberJava 2 Platform, Enterprise Edition (J2EE) released.
2000MayJ2SE with SDK 1.3.
2002FebruaryJ2SE with SDK 1.4.
2004SeptemberJ2SE 5.0 with JDK 1.5.
2006DecemberJava SE 6 with JDK 1.6.
2010AprilOracle buys Sun.
2011JulyJava SE 7 with JDK 1.7.
2014MarchJava SE 8 with JDK 1.8.
2017SeptemberJava SE 9 with JDK 1.9.
2019somewhere around 2019Java SE 10
Official Java SE 8 Tutorial
Java SE 8 API Specification
The Java Language Specification, Java SE 8 Edition
The Java Virtual Machine Specification, Java SE 8 Edition

Java Enterprise Edition

Java Platform, Enterprise Edition 7 (Java EE 7) offers new features that enhance HTML5 support, increase developer productivity, and further improves how enterprise demands can be met. Java EE 7 developers have better support for the latest Web applications and frameworks.

Official Java EE 7 Tutorial
Java EE 7 API Specification

Java Specification Request

Java EE Platform
Java Enterprise Edition 7 - JSR 342
Java API for WebSocket - JSR 356
Java API for JSON Processing - JSR 353
Java Servlet 3.1 - JSR 340
JavaServer Faces 2.2 - JSR 344
JavaServer Pages 2.3 - JSR 245
JSTL 1.2 - JSR 52
Batch Applications for the Java Platform - JSR 352
Concurrency Utilities for Java EE 1.0 - JSR 236
Contexts and Dependency Injection for Java 1.1 - JSR 346
Dependency Injection for Java 1.0 - JSR 330
Bean Validation 1.1 - JSR 349
Enterprise JavaBeans 3.2 - JSR 345
Interceptors 1.2 - JSR 318
Java EE Connector Architecture 1.7 - JSR 322
Java Persistence 2.1 - JSR 338
Common Annotations for the Java Platform 1.2 - JSR 250
Java Message Service API 2.0 - JSR 343
Java Transaction API (JTA) 1.2 - JSR 907
Java JavaMail 1.5 - JSR 919
Java API for RESTful Web Services (JAX-RS) 2.0 - JSR 339
Implementing Enterprise Web Services 1.3 - JSR 109
Java API for XML-Based Web Services (JAX-WS) 2.2 - JSR 224
Web Services Metadata for the Java Platform - JSR 181
Java API for XML-Based RPC (JAX-RPC) 1.1 - JSR 101
Java APIs for XML Messaging 1.3 - JSR 67
Java API for XML Registries (JAXR) 1.0 - JSR 93
Java Authentication Service Provider Interface for Containers 1.1 - JSR 196
Java Authorization Contract for Containers 1.5 - JSR 115
J2EE Management 1.1 - JSR 77
Debugging Support for Other Languages 1.0 - JSR 45
Java Architecture for XML Binding (JAXB) 2.2 - JSR 222
Java API for XML Processing (JAXP) 1.3 - JSR 206
Java Database Connectivity 4.0 - JSR 221
Java Management Extensions (JMX) 2.0 - JSR 003
JavaBeans Activation Framework (JAF) 1.1 - JSR 925
Streaming API for XML (StAX) 1.0 - JSR 173

Coding Challenge

Hacker Rank - Practice coding. Compete. Find jobs. Join over 1 million programmers and improve your skills

Code Fights - How well can you code? Test your skills VS friends, co-workers and companies. Join a community of 300,000 devs!

Code Chef - It is a global competitive programming platform which supports over 50 programming languages and has a large community of programmers that helps students and professionals test and improve their coding skills.

Hacker Earth - A network of top developers across the world. Unite for online coding challenges and hackathons. Be a Better Programmer. Learn. Compete. Get Hired.

TechGig - India’s most passionate technology community. TechGig is a platform exclusively for techies to learn, compete, showcase their work.

CodeEval - is a community of the world's top developers to practice and compete on code challenges.

Code Wars - Achieve mastery through challenge. Improve your skills by training with others on real code challenges

Coder Byte - Improve your coding skills.

Google Code Jam.

Coding Bat - Code Practice

Pramp.com - Interview like a Champ - Practice coding interviews for free

Interviewing.io - Practice interviewing with engineers from top companies, anonymously.

References

Google Java Style Guide
Java - Glossary of Terms
Java API Design Checklist
REST API Tutorial
Learn REST: A Tutorial
REST Cookbook
API Design Cheat Sheet
Platform-Building Cheat Sheet
REST API Best Practices (PDF)
Best Practices for Designing a Pragmatic RESTful API
10 Best Practices for Better RESTful API
Web Services Architecture – When to Use SOAP vs REST
Alphabetical list of Open Source Software in Java