并发编程、数据结构、Java虚拟机等等这些知识都是大厂面试的常见面试题,也是要进一步学习Java必须牢固掌握的基础,所以需要多花点时间学习,本博客内容涉及数据结构、Java基础知识、JVM、并发编程等等,适合作为筑基教程,为之后更难的学习做准备

Java基础知识系统文章

  • Java基础知识之什么是集合框架
  • Java基础知识之泛型简单介绍
  • Java基础知识之反射机制简介
  • Java基础知识之注解基本使用教程

JDK8系列文章

  • JDK8系列之Optional API应该怎样用?
  • JDK8系列之Functional Interfaces教程和示例
  • JDK8系列之Method References教程和示例
  • JDK8系列之Stream API入门教程和示例
  • JDK8系列之default定义接口的默认实现方法
  • JDK8系列之Lambda表达式教程和示例

并发编程系列文章

  • 并发编程系列之线程基础知识回顾
  • 为什么说创建线程的方法只有1种?
  • 并发编程系列之如何正确使用线程池?
  • 并发编程系列之掌握原子类使用
  • 并发编程系列之变量可见性问题探究
  • 并发编程系列之volatile关键字详解
  • 单例模式双重检查锁模式为什么必须加 volatile?
  • 并发编程系列之什么是并发协同?
  • 并发编程系列之CountDownLatch用法简介
  • 并发编程系列之CyclicBarrier用法简介
  • 并发编程系列之Semaphore用法简介
  • 并发编程系列之Phaser用法简介
  • 并发编程系列之ReentrantLock用法简介
  • 并发编程系列之ReadWriteLock使用
  • 并发编程系列之StampedLock使用
  • 并发编程系列之掌握LockSupport的用法
  • 并发编程系列之掌握Condition接口使用
  • 并发编程系列之什么是ForkJoin框架?
  • 并发编程系列之Future类的主要功能介绍
  • 并发编程系列之FutureTask源码学习笔记
  • 并发编程系列之Callable和Runnable的不同?
  • 并发编程系列之AQS实现原理
  • 并发编程系列之ThreadLocal实现原理
  • 并发编程系列之Synchronized实现原理
  • 并发编程系列之分布式锁原理和实现方式

数据结构系列文章

  • 数据结构系列之什么是数组?
  • 数据结构系列之链表的数据结构
  • 数据结构系列之二叉树相关概念
  • 数据结构系列之Java手写实现红黑树
  • 数据结构系列之什么是2-3-4树?

Java虚拟机系列文章

  • JVM系列之Java是解释性语言还是编译型语言?(一)
  • JVM系列之JDK、JRE、JVM的区别是什么?(二)
  • JVM系列之Class类文件(从源码到Class类文件)(三)
  • JVM系列之类加载机制(从类文件到虚拟机)(四)
  • JVM系列之运行时数据区(Run-Time Data Areas)(五)
  • JVM系列之内存模型(Java Memory Model)(六)
  • JVM系列之垃圾回收机制(Garbage Collect)(七)
  • JVM系列之性能调优参考手册(实践篇)(八)

经典面试题系列文章

  • TCP协议为什么需要三次握手?
  • HashMap实现原理和源码详细分析
  • 应如何设置HashMap容量的初始值?