Core-Java-36-Lessons
View the Project on GitHub
fakeyanss/Core-Java-36-Lessons
Java核心技术36讲
简介
开篇词 以面试题为切入点,有效提升你的Java内功
第1讲 谈谈你对Java平台的理解?
第2讲 Exception和Error有什么区别?
第3讲 谈谈final、finally、finalize有什么不同?
第4讲 强引用、软引用、弱引用、幻象引用有什么区别?
第5讲 String、StringBuffer、StringBuilder有什么区别?
第6讲 动态代理是基于什么原理?
第7讲 int和Integer有什么区别?
第8讲 对比Vector、ArrayList、LinkedList有何区别?
第9讲 对比Hashtable、HashMap、TreeMap有什么不同?
第10讲 如何保证集合是线程安全的?ConcurrentHashMap如何实现高效地线程安全?
第11讲 Java提供了哪些IO方式?NIO如何实现多路复用?
第12讲 Java有几种文件拷贝方式?哪一种最高效?
第13讲 谈谈接口和抽象类有什么区别?
第14讲 谈谈你知道的设计模式?
第15讲 synchronized和ReentrantLock有什么区别呢?
周末福利 谈谈我对Java学习和面试的看法
第16讲 synchronized底层如何实现?什么是锁的升级、降级?
第17讲 一个线程两次调用start()方法会出现什么情况?
第18讲 什么情况下Java程序会产生死锁?如何定位、修复?
第19讲 Java并发包提供了哪些并发工具类?
第20讲 并发包中的ConcurrentLinkedQueue和LinkedBlockingQueue有什么区别?
第21讲 Java并发类库提供的线程池有哪几种?分别有什么特点?
第22讲 AtomicInteger底层实现原理是什么?如何在自己的产品代码中应用CAS操作?
第23讲 请介绍类加载过程,什么是双亲委派模型?
第24讲 有哪些方法可以在运行时动态生成一个Java类?
第25讲 谈谈JVM内存区域的划分,哪些区域可能发生OutOfMemoryError?
第26讲 如何监控和诊断JVM堆内和堆外内存使用?
第27讲 Java常见的垃圾收集器有哪些?
第28讲 谈谈你的GC调优思路?
第29讲 Java内存模型中的happen-before是什么?
第30讲 Java程序运行在Docker等容器环境有哪些新问题?
第31讲 你了解Java应用开发中的注入攻击吗?
第32讲 如何写出安全的Java代码?
第33讲 后台服务出现明显“变慢”,谈谈你的诊断思路?
第34讲 有人说“Lambda能让Java程序慢30倍”,你怎么看?
第35讲 JVM优化Java代码时都做了什么?
周末福利 一份Java工程师必读书单
第36讲 谈谈MySQL支持的事务隔离级别,以及悲观锁和乐观锁的原理和应用场景?
第37讲 谈谈SpringBean的生命周期和作用域?
第38讲 对比Java标准NIO类库,你知道Netty是如何实现更高性能的吗?
第39讲 谈谈常用的分布式ID的设计方案?Snowflake是否受冬令时切换影响?
结束语 技术没有终点