2022年11月面试题整理
2022-11-29
1.面向对象有哪些特征
封装 继承 多态 抽象
封装:就是把对象的属性和方法包装起来,只能通过调用的方式使用
继承:子类继承父类,并且子类可以调用父类中的属性和方法
多态:一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用 到底是哪个类中实现的方法,必须在由程序运行期间才能决定
抽象:就是把一些对象相同的属性归为一类
2.String 是最基本的数据类型吗?
不是;
基本数据类型有byte、int、char、long、float、double、boolean 和 short。
3.抽象方法
通过关键字abstract 修饰的类叫做抽象类,修饰的方法为抽象方法。
抽象类不一定有抽象方法,但是有抽象方法的一定是抽象类
abstract不能修饰私有方法、静态方法,final修饰的方法
4.jsp 注释
<%-- --%>
<!-- -->
5.JSP 和 Servlet 有哪些相同点和不同点,他们之间的联系是什么?
jsp本质上就是servlet
jsp 侧重于视图,Servlet 主要用于控制逻辑。
JSP 中嵌入JAVA 代码,而 Servlet 中嵌入 HTML 代码。
6.如何用css约束一个层不可见
display:none表示不可见
display:block表示可见
7.说出数据连接池的工作机制是什么
相当于把数据库连接放到tomcat当中,每次访问数据库的时候都不需要再重新创建数据库连接了,直接操作服务器上的连接池就可以了
8.多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
多线程有两种实现方法;第一种继承Thread类 第二种实现Runnable接口
同步的实现方法有两种;分别是 synchronized,wait 与 notify
9.一个页面在打开时,需要处理一些事情(比如弹出一个广告页),需要定义窗口 的什么事件?
<script>
window.onload=function(){…}
</script>
或是
<body onload="">
10.描述 forward 和 redirect 的区别
forward是服务器行为 redirect是客户端行为
forward只能是同一个web内的url;redirect可以是任意的url
froward
客户端发送请求—>服务器接收—>调用内部的方法处理请求并转发—>将目标资源信息发送给客户
redirect
客户发送请求—>服务器接收并响应新的location给客户—>客户会接收到一个新的location地址
2022-11-30
11.垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法 主动通知虚拟机进行垃圾回收
对于 GC 来说,当程序员创建对象时,GC 就开始监控这个对象的地址、大小以及使用情况。通常,GC 采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是"可达的",哪些对象 是"不可达的"。当 GC 确定一些对象为"不可达"时,GC 就有责任回收这些内存空间。
可以。
程序员可以手动执行 System.gc(),通知 GC 运行,但是 Java 语言规范并不保证 GC 一定会执行。
12.EJB 的优点有哪些?
性能优越
强大的容器支持
13.在 Servlet 处理请求的方式为
以线程的方式
14.如何利用 ServletContext 和 ServletConfig 对象获得初始化参数
String p = config.getInitParameter("p");
ServletContext ss = config.getServletContext();
String ppp = ss.getInitParameter("name");
15.说出 Servlet 的生命周期,并说出 Servlet 和 CGI 的区别
Servlet 被服务器实例化后
容器运行其 init 方法
请求到达时运行其 service 方法 service 方法自动派遣运行与请求对应的 doXXX 方法(doGet,doPost)等, 当服务器决定将实例销毁的时候调用其 destroy 方法。
与 cgi 的区别在于 servlet 处于服务器进程中,它通过多线程方式运行其 service 方法,一个实例可以服务于 多个请求,并且其实例一般不会销毁,而 CGI 对每个请求都产生新的进程, 服务完成后就销毁,所以效率上低于 servlet。