All-things-Java
##Tech Talks
Core Java
- Java (Beginner) Programming Tutorials - thenewboston
- Google I/O 2008 - Effective Java Reloaded
- Effective Java - Still Effective After All These Years
- Book Reading Club: "Effective Java" by Josh Bloch - Part 1 (Part 2) (Part 3)
- About java.lang.String, why String is special in java - String tutorial
- Effective Java Reloaded
- Java Puzzlers: Scraping the Bottom of the Barrel
- CORE JAVA BY DURGA
- Java/J2EE & SOA Tutorial Videos - edureka
Collections
- HashTable vs HashMap vs Concurrent HashMap all kinds of Map implementations
- An Overview of the Java Collections Framework
- Collections Refueled
- Collections in Java - Durga Software Solutions
- Collection Framework Video Tutorials by Durga Sir
- Java Collections Framework
- Field Guide to Java Collections
Concurrency
- Prof Douglas Schmidt - Vanderbilt University
- Inherent Complexities of Concurrency (Part 1)
- Inherent Complexities of Concurrency (Part 2)
- Overview of Java Threads
- Java Built-in Monitor Objects (Part 1)
- Java Built-in Monitor Objects (Part 2)
- Java Thread and Monitor Object Example
- Overview of Java Synchronization Mechanisms
- Managing the Java Thread Lifecycle
- Java Semaphore
- Java ReentrantLock
- Java Readers-Writer Locks
- The Java Executor Framework (Part 1)
- The Java Executor Framework (Part 2)
- Java Barrier Synchronization
- Java ConditionObject
- Java Phasers
- Advanced Java Multi-Threading Concepts - saurabhschool
- Finding Subtle but Common Concurrency Issues in Java Programs
- Java Concurrency Under the Hood
- Combining Collections and Concurrency
- Flavors of Concurrency in Java
- The Quest for Low-latency with Concurrent Java
- Engineering Concurrent Library Components - Doug Lea
- GOTO 2014 • New Concurrency Utilities in Java 8 • Angelika Langer
- The Secrets of Concurrency, Heinz Kabutz
- ITT 2015 - Heinz Kabutz - The Multi-threading, Non Blocking IO
- Arno Haase. Java Concurrency in Practice
- Java Multithreading With Executors Course Lectures 1-12
- Comparing different concurrency models on the JVM
- New Concurrency Models on the JVM: Fibres, Verticles, Agents and Actors. by Lutz Huehnken
- Philly ETE 2016 #35 - From Concurrent to Parallel - Brian Goetz
- Why There's No Future in Java Futures
- JDK IO 2014 - Java Concurrency and Non blocking IO - Dr Heinz M. Kabutz
- From Concurrent to Parallel
- Philly ETE 2016 #35 - From Concurrent to Parallel - Brian Goetz
Generics
Java 8
- JDK 8 Lambdas MOOC Course
- Java 8 Lambda Basics, Java Brains
- Programming with Lambda Expressions in Java
- Programming with Streams in Java 8
- Jump-Starting Lambda Programming
- Learn Java 8: Lambdas and Functional Programming
- Peter Lawrey - Low Latency Code in Java 8
- Java 8 best practices by Stephen Colebourne
- Lambda: A Peek Under the Hood
- GOTO 2013 • Lambdas in Java: A Peek under the Hood • Brian Goetz
Web Services
- Developing RESTful APIs with JAX-RS - JavaBrains
- Advanced JAX-RS - JavaBrains
- SOAP Web Service Basics - JavaBrains
- CS E-259: XML with Java, Java Servlet, and JSP - Harvard University
- REST-Ful API Design
- Web Services Tutorials ( SOAP and RESTful Web Services ) - gontu
- Designing a REST-ful API using Spring 3
- SOAP: Service-Oriented Architecture and Programming, Pt. 1
- SOAP: Service-Oriented Architecture and Programming, Pt. 2
- What is a Service Oriented Architecture?
- Webinar : Practical SOA for the Solution Architect
- Spring WebServices
- Introduction to Service Design and Engineering - University of Trento, Italy
- JPassion
- Web services JAX-WS Basics (from JPassion.com)
- Web services JAX-WS helloworld (from JPassion.com)
- Web services JAX-WS Handlers (from JPassion.com)
- Web services JAXB Basics (from JPassion.com)
- Web Services JAXB 2.0 (from JPassion.com)
- Web services WSDL (from JPassion.com)
- Web services WSIT WS-Addressing (from JPassion.com)
- XML Schema (from JPassion.com)
- XML Namespaces (from JPassion.com)
- XML XPath (from JPassion.com)
- REST JAX-RS Part 1 (from JPassion.com)
- REST JAX-RS Part 2 (from JPassion.com)
OOAD/ Design Patterns
- Object Oriented Design
- Design Patterns Video Tutorial
- OOSE: Software Dev Using UML and Java
- Design Patterns Videos - edureka
- Core Software Design Principles
Java EE (Servlets/JSP)
Spring Framework
- Spring Framework Essential
- Spring by Mr.Naveen - Durga Software Solutions
- Spring Framework - JavaBrains
- Spring Framework Tutorial Videos - edureka
- Securing Rest-ful Web Services with OAuth2
- Spring Framework
- Going Beyond Dependency Injection
- Spring MVC tutorials
- Getting Started with MongoDB and Java
- Spring MVC Framework (no audio)
- Spring MVC Tutorial - Spring and hibernate Real time project (video quality - low)
- Spring MVC and WebFlow Training Course
- Spring Framework Core Tutorial
- Spring Framework Security Introduction
- Spring Framework AOP Introduction - Video 1 Part A
- Spring Framework AOP Introduction - Video 1 Part B
- SpringMVC Form Handling (Topic #9: Spring course from JPassion.com)
- SpringMVC Basics Part 1 (Topic #7: Spring course from JPassion.com)
- SpringMVC Basics Part 2 (Topic #8: Spring course from JPassion.com)
- Spring Framework Training Course - Connection Pools
- Spring Boot Fundamentals
- Spring - CRUD/Internationalization/Security (no audio)
Hibernate/JPA/JDBC
- Hibernate - JavaBrains
- JDBC Tutorial
- Java JDBC Tutorial
- Hibernate Tutorial
- Hibernate Framework Tutorials - gontu
- Hibernate by Mr. Naveen - Durga Software Solutions
- Hibernate Durga
- Hibernate Tutorial Videos - edureka
- Hibernate Caching (from JPassion.com)
- Java Persistence API 2.1
- Java Persistence 2.1
- The Evolution of Java Persistence
- Devnexus 2015 - Java Persistence API by Jason Porter
- JPA Gotchas and Best Practices: Lessons from Overstock.com
- JPA Best Practices Webinar
- Java EE Programming - Lecture 7
- JPA Advanced (from JPassion.com)
- Hibernate Step by Step (from JPassion.com)
- Transaction Management
Memory Management and GC
- How to Write Memory-Efficient Java Code
- From Java Code to Java Heap: Understanding the Memory Usage of Your Application
- Garbage collection in Java, with Animation and discussion of G1 GC
- Java Memory Model Pragmatics
- CON1521 The Java Memory Model for Practitioners
- GC Tuning Confessions of a Performance Engineer
- Understanding Java Garbage Collection and What You Can Do about It
- Understanding Java Garbage Collection and What You Can Do about It
- Understanding Java Garbage Collection and what you can do about it - Youtube
- Deep Dive into G1 Garbage Collector
- G1 Garbage Collector Details and Tuning by Simone Bordet
- G1 Garbage Collector - Big Heaps and Low Pauses
- Simone Bordet - G1 Garbage Collector: details and tuning
- G1 Garbage Collector Performance Tuning
- With GC Solved, What Else Makes a JVM Pause?
- CON5823 Moving to G1 GC
- The Fundamentals of Garbage Collector Performance
- Advanced Topics in Programming Languages: The Java Memory Model
- Memory Management (Virtual Pair tutorials)
- Memory Fundamentals - part 1 of Java Memory Management
- Values and References - part 2 of Java Memory Management
- Escaping References - part 3 of Java Memory Management
- Garbage Collection - part 4 of Java Memory Management
- Generational Garbage Collection - part 5 of Java Memory Management
- Tuning the Virtual Machine - part 6 of Java Memory Management
- Hunting for memory leaks - part 7 of Java Memory Management
JMS
- JMS - Getting Started
- Asynchronous communication with JMS(Java Messaging Service) Part 1
- Spring Framework JMS Integartion Tutorial
- Introduction to JMS
- Java Message Services | JMS | JNDI | JMS API | Java Online Training
- JMS Spring Tutorial
Advanced Topics (JVM Tuning/JMX/ Classloaders/Reflection etc)
- The Fundamentals of JVM Tuning
- Advanced JVM Tuning
- JVM ( java virtual machine) architecture - tutorial
- Advanced JVM Tuning
- Everything I Ever Learned about JVM Performance Tuning @twitter
- Tuning JVM for a VM - Lessons Learned, Directly from VMware
- Understanding the JVM and Low Latency Applications
- Building and Tuning High Performance Java Platforms
- The JVM and Java Garbage Collection - OLL Live (Recorded Webcast Event)
- JMX: Much More Than Just Application Monitoring
- Do You Really Get Class Loaders?
- Java Classloaders: The good, the bad and the WTF!
- Java Profiling from the Ground Up!
- Serialization in Java
- Introduction to Java Profiling
- Building and Tuning High Performance Java Platforms
- Tuning Large Scale Java Platforms
SQL
- MySQL Database Tutorial - thenewboston
- SQL tutorials for beginners/ Oracle Database tutorials
- SQL Tutorials - The Bad Tutorials
- SQL Server tutorial for beginners
- Basic SQL Training - Joey Blue
- SQL Server Queries
- SQL Server Interview Questions and Answers
- SQL Server DBA Interview Questions and Answers
JavaScript Frameworks (for full-stack developers)
- Introduction to JavaScript for Developers - Java Brains
- JavaScript Scopes and Closures In-depth - Java Brains
- JavaScript Objects and Prototypes In-depth - Java Brains
- Thinking in Angular 1 - Java Brains
- Mastering AngularJS
- JavaScript Design Pattern
- Node.js MongoDB and Angular Web Development
Other JVM Languages & Frameworks
Misc
- JNDI Tutorials
- Demystifying Java EE
- Large-Scale Automation with Jenkins
- Groovy for Java Developers
- Package your Java EE application using Docker and Kubernetes
- Diagnosing Web Application OutOfMemoryErrors
- An Overview of Guava: Google Core Libraries for Java
- Ask the JDK Architects
- Ask the JDK Architects, Part 1
- Ask the JDK Architects, Part 2
- Philly ETE 2014 #50 - Java: Past, Present, and Future - Brian Goetz
- Advanced Topics in Programming Languages: Java Puzzlers,...
- GOTO 2015 • Move Deliberately and Don't Break Anything • Brian Goetz
- Docker in Practice
Web Links
General
- How to do it in Java
- The Java Specialists' Newsletter
- SEI CERT Oracle Coding Standard for Java
- Java Revisited
- The Java EE 6 Tutorial - Oracle (PDF)
- Jenkov Tutorials
- Code View Video tutorials
- http://www.mkyong.com/
- http://www.vogella.com/tutorials/java.html
Topic-wise
- Java Collections Tutorial - Jenkov
- Java Concurrency / Multithreading Tutorial - Jenkov
- java.util.concurrent - Java Concurrency Utilities - Jenkov
- Serialization in Java (Binary and XML)
- Java SE 6 HotSpot[tm] Virtual Machine Garbage Collection Tuning
- Java Garbage Collection Basics
- Getting Started with the G1 Garbage Collector
- Internals of Java Class Loading
- G1: One Garbage Collector To Rule Them All
- JMS
- SQL
Books
- Head First Java, 2nd Edition
- Head First Design Patterns
- Head First Servlets and JSP
- Effective Java (2nd Edition) 2nd Edition
- SCJP Sun Certified Programmer for Java 6 Exam - Kathy Sierra, Bert Bates
- Java Performance: Charlie Hunt, Binu John
- Java Concurrency in Practice
- The Art of Multiprocessor Programming, Revised Reprint, Nir Shavit & Maurice Herlihy
- Spring in Action
- Pro Spring 3, Apress
- Expert Spring MVC and Web Flow by Seth Ladd, Darren Davison, Steven Devijver, Colin Yates
- Think Java: How to Think Like a Computer Scientist (Online)
- The Java Language Specification (Online)
- Thinking in Java, 3rd Edition (Online)
- The Java Tutorial (Online)
- Core Servlets and JavaServer Pages, Second Edition (Online)
- Introduction to Programming Using Java, Sixth Edition (Online)
- Java Puzzlers : Traps, Pitfalls, And Corner Cases
- Maven by Example (Online) (Download link)
- Maven: The Complete Reference (Online) (Download link)