https://github.com/hhive/MyJava/tree/master/Interview
主要是针对在面试Java开发,web后端两个岗位时遇到的面试或笔试内容的解决方法,因为内容较多,我就把内容分类做成了word,放在github里,点击链接直达,希望有更多人能一起补充一起成长,以下是内容目录。打开word-视图-导航窗格,可以很方便的进行内容间的跳转。
目录
15. Java中final、finally和finalize的区别... 34
C. 通过 Callable 和 Future 创建线程。... 41
a) 线程池,其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复创建线程而消耗过多资源。(是什么)... 42
b) 那么,我们为什么需要用到线程池呢?每次用的时候手动创建不行吗?... 42
c) 线程池都是通过线程池工厂创建,再调用线程池中的方法获取线程,再通过线程去执行任务方法。... 43
6) 可以直接调用Thread类的run()方法么?... 54
9) 什么是线程调度器(Thread Scheduler)和时间分片(Time Slicing)?... 55
10) 在多线程中,什么是上下文切换(context-switching)?... 55
11) 你如何确保main()方法所在的线程是Java程序最后结束的线程?... 56
13) 为什么线程通信的方法wait(), notify()和notifyAll()被定义在Object类里? 56
14) 为什么wait(), notify()和notifyAll()必须在同步方法或者同步块中被调用? 56
15) 为什么Thread类的sleep()和yield()方法是静态的?... 57
17) volatile关键字在Java中有什么作用?... 57
21) 什么是Thread Group?为什么不建议使用它?... 58
22) 什么是Java线程转储(Thread Dump),如何得到它?... 59
23) 什么是死锁(Deadlock)?如何分析和避免死锁?... 59
24) 什么是Java Timer类?如何创建一个有特定时间间隔的任务?... 59
25) 什么是线程池?如何创建一个Java线程池?... 60
1) 什么是原子操作?在Java Concurrency API中有哪些原子类(atomic classes)?... 60
2) Java Concurrency API中的Lock接口(Lock interface)是什么?对比同步它有什么优势?... 61
4) 什么是阻塞队列?如何使用阻塞队列来实现生产者-消费者模型?... 62
4)确定数组index:hashcode % table.length取模... 68
ArrayList和LinkedList的大致区别:... 72
2. 简单工厂模式 StaticFactory Method. 80
4. 抽象工厂模式 Abstract Factory Method. 84
9. 生产者消费者模式 ProducerConsumer Method. 96
A. 年轻代(Young Generation)... 100
C. 持久代(Permanent Generation)... 101
1.字符串常量池(String Constant Pool): 102
1.1:字符串常量池在Java内存区域的哪个位置?... 102
2.class常量池(Class Constant Pool):... 103
3.运行时常量池(Runtime Constant Pool):... 103
a) 引用计数法(Reference Counting Collector) 104
g) 对象A和B循环引用,最后会不会不被GC回收?... 110
2. 查看Class类在java中的api详解(1.7的API)... 130
3. 反射的使用(这里使用Student类做演示)... 132
F. 反射方法的其它使用之---通过反射运行配置文件内容... 143
G. 反射方法的其它使用之---通过反射越过泛型检查... 145
部分整理的网上的内容都附有链接,需要的可以直接看原内容。