1、Tomcat为什么默认禁用SSI和CGI功能?
因为 SSI 和 CGI 都可以用于执行 Tomcat JVM 外部的程序,很危险。
2、tomcat线程数和连接数的设置取决于什么?
线程数的设置既与应用的特点有关,也与服务器的CPU核心数量有关;
连接数的设置与Tomcat的运行模式有关,如果tomcat用的BIO,那连接数应该与线程数保持一致,如果tomcat使用NIO,那连接数应该远大于线程数。
3、jar加载的顺序取决于什么?
取决于操作系统
4、Maven仓库的优先级?
本地仓库 > ***(profile)> 远程仓库(repository)
镜像依赖于远程仓库/中央仓库,因此可以视作远程仓库的一部分。
5、GC需要考虑哪三件事情?
哪些内存需要回收
什么时候回收
如何回收、
6、哪部分内存需要垃圾回收?
堆和方法区
7、引用计数法有什么缺点?
无法解决循环引用的问题
8、可达性分析算法的基本思路是什么?
通过一系列称为GC Roots的对象作为起始点,从这些节点开始向下搜索,搜索走过的路径称为引用链,当一个对象到GC Roots没有任何引用链相连时(用图论的话来说,就是从GC Roots到这个对象不可达),则证明此对象是不可用的。
9、Java哪些对象可作为GC Roots?
虚拟机栈(栈帧种种那个的本地变量表)中引用的对象;
方法区中类静态属性引用的对象
方法区中常量引用的对象
本地方法栈中JNI(即一般说的native方法)引用的对象
10、Java的引用称为哪四种?
强引用:垃圾收集器永远不会回收被引用的对象
软引用:对于软引用关联的对象,在系统将要发生内存溢出之前,将会把这些对象列进回收范围内进行第二次回收
弱引用:被弱引用关联的对象智能生存到下一次垃圾收集之前
虚引用:为一个对象设置弱引用关联的唯一目的就是能在这个对象被回收时收到一个系统通知