链接:https://www.nowcoder.com/discuss/3043
数据结构与算法系列目录 Java多线程系列目录 JUC包源码深度解析
Java 集合系列目录 java io系列 "目录" Java NIO 系列教程
Java SE 进阶之路 Java并发编程学习笔记
J2SE基础
1. 九种基本数据类型的大小,以及他们的封装类。
2. Switch能否用string做参数?
3. equals与==的区别。
4. Object有哪些公用方法?
5. Java的四种引用,强弱软虚,用到的场景。
Java的四种引用方式
6. Hashcode的作用。
讲讲HashCode的作用 关于hashCode方法的作用
7. ArrayList、LinkedList、Vector的区别。
http://www.cnblogs.com/xiaoxi/p/6089984.html#3965582
8. String、StringBuffer与StringBuilder的区别。
9. Map、Set、List、Queue、Stack的特点与用法。
10. HashMap和HashTable的区别。
11. HashMap和ConcurrentHashMap的区别,HashMap的底层源码。
JDK 源码中 HashMap 的 hash 方法原理是什么
12. TreeMap、HashMap、LindedHashMap的区别。
13. Collection包结构,与Collections的区别。
14. try catch finally,try里有return,finally还执行么?
15. Excption与Error包结构。OOM你遇到过哪些情况,SOF你遇到过哪些情况。
https://blog.csdn.net/l55iuming/article/details/53241613
https://wenku.baidu.com/view/2feec7bff7ec4afe05a1df1b.html
16. Java面向对象的三个特征与含义。
17. Override和Overload的含义去区别。
18. Interface与abstract类的区别。
19. Static class 与non static class的区别。
20. java多态的实现原理。
21. 实现多线程的方法:Thread与Runable、Callable。
22. 线程同步的方法:sychronized、lock、reentrantLock等。
23. 锁的等级:方法锁、对象锁、类锁。
24. 写出生产者消费者模式。
生产者消费者问题Java三种实现 生产者消费者模式-Java实现
25. ThreadLocal的设计理念与作用。
ThreadLocal的设计与使用(原理篇)
26. ThreadPool用法与优势。
线程池的工作原理与源码解读
27. Concurrent包里的其他东西:ArrayBlockingQueue、CountDownLatch等等。
Java并发系列----CountDownLatch源码分析
28. wait()和sleep()的区别。
Wait来自于Object类,sleep来自于Thread类
Wait释放锁,而sleep不会
Wait不用捕获异常,sleep必须捕获异常
Wait必须在同步方法或同步块中调用,sleep可在任意地方调用
https://www.cnblogs.com/loren-Yang/p/7538482.html
线程之sleep(),wait(),yield(),join()等等的方法的区别
Java线程中sleep()、wait()和notify()和notifyAll()、yield()、join()等方法的用法和区别
29. foreach与正常for循环效率对比。
30. Java IO与NIO。
31. 反射的作用与原理。
https://www.cnblogs.com/yrstudy/p/6500982.html
http://www.importnew.com/23560.html
Java注解的原理
是在java源代码或字节码上加入的一种结构,可以根据注解进行一些公共逻辑的处理。
可参考http://www.importnew.com/23564.html
32. 泛型常用特点,List<String>能否转为List<Object>。
Java总结篇系列:Java泛型 java 泛型详解
https://blog.csdn.net/s10461/article/details/53941091
https://www.cnblogs.com/yuxiaofei93/p/5722693.html
33. 解析XML的几种方式的原理与特点:DOM、SAX、PULL。
34. Java与C++对比。
35. Java1.7与1.8新特性。
36. 设计模式:单例、工厂、适配器、责任链、观察者等等。
37. java stream使用
Java8 Stream原理深度解析 Java Stream API进阶篇
JAVA 8 Streams
38 Lambda表达式
深入浅出 Java 8 Lambda 表达式 了解 lambda
JVM
1. 内存模型以及分区,需要详细到每个区放什么。
2. 堆里面的分区:Eden,survival from to,老年代,各自的特点。
4. GC的两种判定方法:引用计数与引用链。
5. GC的三种收集方法:标记清除、标记整理、复制算法的原理与特点,分别用在什么地方,如果让你优化收集方法,有什么思路?
6. GC收集器有哪些?CMS收集器与G1收集器的特点。
7. Minor GC与Full GC分别在什么时候发生?
Minor GC、Major GC和Full GC之间的区别
8. 几种常用的内存调试工具:jmap、jstack、jconsole。
9. 类加载的五个过程:加载、验证、准备、解析、初始化。
10. 双亲委派模型:Bootstrap ClassLoader、Extension ClassLoader、ApplicationClassLoader。
Java自定义类加载器与双亲委派模型
11. 谈谈解析与分派,分派:静态分派与动态分派。
多态方法调用的解析和分派
哪些情况下的对象会被垃圾回收机制处理掉?
讲一下常见编码方式?
utf-8编码中的中文占几个字节;int型几个字节?
静态代理和动态代理的区别,什么场景使用?
修改对象A的equals方法的签名,那么使用HashMap存放这个对象实例的时候,会调用哪个equals方法?
Java中实现多态的机制是什么?
如何将一个Java对象序列化到文件里?
说说你对Java反射的理解
说说你对Java注解的理解
说说你对依赖注入的理解
说一下泛型原理,并举例说明
Java中String的了解
String为什么要设计成不可变的?
Object类的equal和hashCode方法重写,为什么?
Spring IOC是怎么回事?为什么实现了解耦?
Spring AOP是怎么回事?怎么实现的?
Spring 配置Bean写注解和XML有什么区别?
jvm优化方案
使用阿里开源工具 TProfiler 在海量业务代码中精确定位性能代码