Each Java/Java EE version has new features. You should have a book that at least covers "Java 5" (JRE 1.5). Then you can learn the new features of Java 6, 7, 8, and so on. You don't need to learn lambdas right form the beginning, so this should work just fine. Books released before September 2004 are probably too old to learn modern Java. They do not cover enums, varargs, generics, and annotations.
This is different for other technologies. It doesn't make much sense to learn HTML4 and CSS2 now. With MDN, Jenkov, vogella and w3schools you can just learn HTML5 and CSS3. Instead of learning JavaScript you can learn TypeScript, which is already where ECMASCript 6 is heading, with class based OOP, arrow functions, constants, and block scoped variables.
- Google News on Java
- Java Code Geeks
- Java on Oracle Technology Network(OTN)
- Java Magazine (New release every 2 months)
- Java World
- The Java™ Tutorials
- JVM and Java Language Specification, Oracle
- Java Group FAQ
- Java EE
- Code for OpenJDK
- Code for OpenJDK: FileInputStream()
- GNU Classpath
- Scanner
- Object Ordering
- History of Java
- Fundamentals of Java
- List of Data Structures
- Java Collections Framework
- Java Collections Images
- Collection Interface
- Set Interface
- List Interface
- Map Interface
- Queue Interface
- Deque Interface
- SortedSet Interface
- SortedMap Interface
- Java Algorithm Tasks/Tests
- List of Software Engineering Algorithms
- 7 algorithms and data structures every programmer should know about
- Strategy Pattern(Dependency Injection)
- Observer Pattern(Event Listener)
- Builder Pattern( While Writing Unit Tests )
- Factory Pattern(Web framewroks)
- Facade(REST)
- Singleton
- The Big Ball of Mud :)
- Flyweight
- JConsole (Packaged with JDK)
- Apache JMeter
- Java Performance Optimization
- Java Mission Control (JMC)
- VisualVM
- Apache Ant
- Apache Maven
- Gradle
- Jenkins (Continues Integration & Continues Delivery)
- Jar-to-Exe
- Deployment
Frameworks (A framework is simply a set of libraries that are used to develop code on a particular platform or on multiple platforms)
- Spring (Boot, MVC, Security, Data etc.)
- Android
- Netty (Non-blocking I/O (NIO) client-server framework)
- Neuroph (Java Neural Network framework)
- Play
- Vaadin
- AngularJS
- ReactJS
- JQuery
- MOA: Machine learning Java Framework
Stacks (A stack is a set of technologies, usually including a framework, that are commonly used together to create a full application)
- Mkyong
- Java 8 Lambda Expressions
- Java Enums
- Top 10 Java 9 Tutorials and Courses
- Introduction to Java (MIT)
- Java World
- Java Code Geeks
- InfoQ | Java
- Javalobby
- The Server Side
- Jaxenter | Java
- The Spring Blog
- DeveloperWorks: Java technology
- Voxxed
- The Technical Skills You Need to Have as a Software Developer
- 7 Things to Know Getting Started With Spring Boot
- Spring Boot as a Windows Service in 5 Minutes
- Build a Basic CRUD App With Angular 5.0 and Spring Boot 2.0
- The Top Software Testing Tools: The Ultimate List of Lists
- How Java 10 will CHANGE the Way You Code
- Which programming language is most useful for finding a job?
- How to Get an Interview at (Almost) Any Company
- Which programming language is most useful for finding a job?
- How to Get an Interview at (Almost) Any Company
- JVM Architecture 101: Get to Know Your Virtual Machine
- The Difference Between Containers and Virtual Machines
- What is the JVM? Introducing the Java virtual machine
- Automated Testing Java Applications
- Java Collections in Java 9-10
- 5 Things Every Java Programmer Should Learn
- Effective Java 2nd & 3rd Edition, Joshua Bloch
- Clean Code, by Robert Cecil Martin
- Clean Architecture, by Robert Cecil Martin
- Refactoring - Improving the Design of Existing Code by Martin Fowler
- Compilers: Principles, Techniques, and Tools ("Dragon Book"), Alfred Aho et al
- The Java Programming Language, Gosling, Arnold, Holmes
- Apress Spring Persistence with Hibernate, Manning
- Security Engineering, Ross Anderson
- Database Systems
- Growing Object-Oriented Software, Guided by Tests (Beck Signature)
- Code Complete by Steve McConnell
- The Software Craftsman: Professionalism, Pragmatism, Pride by Sandro Mancuso
- The Clean Coder by Uncle Bob Martin
- Working Effectively with Legacy Code by Michael Feathers
- The Complete Software Developer's Career Guide by John Sonmez
- CODE: The Hidden Language of Computer Hardware and Software
- Derek Banas: Playlists
- Derek Banas: Java Video Tutorial
- Derek Banas: Design Patterns
- Derek Banas: UML
- Derek Banas: Code Refactoring
- Derek Banas: OO Design
- Derek Banas: How to Make Video Games
- 12 Java YouTube Channels You Should Follow In 2018
- Spring Boot/Security Database Authentication
- A Programmer's Guide To Java Certification, Mughal/Rasmussen
- SCJP Sun Certified Programmer for Java 5 Study Guide, Sierra
- SCJD Exam with J2SE ,--Andrew Monkhouse, Terry Camerlengo
- SCJP Sun Certified Programmer for Java 6 - Sierra & Bates
- OCA/OCP Java SE 7 Programmer - Sierra & Bates
- Oracle Certification Program