牛客网2018.03.22

1. 垃圾回收器回收一个已经不会被任何变量引用的对象时,将会调用对象的finalize()方法

就在移除一个对象并回收它的内存空间之前,Java垃圾回收器将会调用各个实例的finalize()方法,这样实例对象就有机会可以释放掉它占用的资源。

尽管finalize()方法是保证在回收内存空间之前执行的,但是对具体的执行时间和执行顺序是没有任何保证的。多个实例之间的finalize()执行顺序是不能提前预知的,甚至有可能它们是并行执行的。

程序不应该预先假设实例执行finalize()的方法,也不应该使用finalize()方法来回收资源。

可触及状态:当一个对象(假定为Sample对象)被创建后,只要程序中还有引用变量引用它,那么它就始终处于可触及状态。

可复活状态:当程序不再有任何引用变量引用Sample对象时,它就进入可复活状态。在这个状态中,垃圾回收器会准备释放它占用的内存,在释放之前,会调用它及其他处于可复活状态的对象的finalize()方法,这些finalize()方法有可能使Sample 对象重新转到可触及状态。

不可触及状态:当Java虚拟机执行完所有可复活对象的finalize()方法后,假如这些方法都没有使Sample对象转到可触及状态,那么Sample对象就进入不可触及状态。只有当对象处于不可触及状态时,垃圾回收器才会真正回收它占用的内存。 notify唤醒线程,与wait()和同步锁synchronized()方法配合使用。

2. webservice的描述,错误的是: Webservice通信机制实质就是json数据交换

 

webService 中数据交换格式是XML,XML是重量级的,JSON是轻量级的。XML具有跨平台,适合大量解析数据。目前webService主流是XML

Webservice是跨平台,跨语言的远程调用技术

Webservice通信机制实质就是XML数据交换

Webservice采用了soap协议(简单对象协议)进行通信

WSDL是用于描述 Web Services 以及如何对它们进行访问

 

 

3. 面向对象的基本原则

 

单一职责原则(Single-Resposibility Principle):一个类,最好只做一件事,只有一个引起它的变化。单一职责原则可以看做是低耦合、高内聚在面向对象原则上的引申,将职责定义为引起变化的原因,以提高内聚性来减少引起变化的原因。  

开放封闭原则(Open-Closed principle):软件实体应该是可扩展的,而不可修改的。也就是,对扩展开放,对修改封闭的。  

Liskov替换原则(Liskov-Substituion Principle):子类必须能够替换其基类。这一思想体现为对继承机制的约束规范,只有子类能够替换基类时,才能保证系统在运行期内识别子类,这是保证继承复用的基础。  

依赖倒置原则(Dependecy-Inversion Principle):依赖于抽象。具体而言就是高层模块不依赖于底层模块,二者都同依赖于抽象;抽象不依赖于具体,具体依赖于抽象。  

接口隔离原则(Interface-Segregation Principle):使用多个小的专门的接口,而不要使用一个大的总接口

 

4. Jsp的内置对象:

pageContext -------->javax.servlet.jsp.PageContext

request --------> javax.servlet.http.HttpServletRequest  

response  -------->javax.servlet.http.HttpServletResponse  

session  -------->javax.servlet.http.HttpSession  

application --------> javax.servlet.ServletContext  

config --------> javax.serlvet.ServletConfig  

exception --------> java.lang.Throwable page java.lang.Object  

out --------> javax.servlet.jsp.JspWriter

 

5. Java中,HashMap中是用哪些方法来解决哈希冲突的: 链地址法。

 

 

 

 

猜你喜欢

转载自blog.csdn.net/qq1641530151/article/details/79658094