您的位置:首页 > 编程语言 > Java开发

2018_03_20牛客网刷题_JAVA基础知识

2018-03-21 00:07 429 查看
1.(题目来自牛客网)
final、finally和finalize的区别中,下述说法正确的有?

正确答案:AB  你的答案:ABC(错误)

final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
finally是异常处理语句结构的一部分,表示总是执行。
finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源的回收,例如关闭文件等。
引用变量被final修饰之后,不能再指向其他对象,它指向的对象的内容也是不可变的。


一.final

如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在new一个对象时初始化(即只能在声明变量或构造器或代码块内初始化),而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能覆盖(重写)。

二.finally

在异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。

三.finalize

方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。注意:finalize不一定被jvm调用,只有当垃圾回收器要清除垃圾时才被调用。

2.

java中提供了哪两种用于多态的机制

正确答案:AB  你的答案:ABD(错误)

通过子类对父类抽象方法的覆盖实现多态
利用重载来实现多态.即在同一个类中定义多个同名的不同方法来实现多态。
利用覆盖来实现多态.即在同一个类中定义多个同名的不同方法来实现多态。
通过子类对父类抽象方法的重载实现多态
AB Java通过方法重写和方法重载实现多态 方法重写是指子类重写了父类的同名方法 方法重载是指在同一个类中,方法的名字相同,但是参数列表不同 3.

HashMap和HashTable的描述,错误的是?

正确答案:D  你的答案:D(正确)

他们都实现了Map接口。
HashMap非线程安全,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap就必须为之提供额外同步。
HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。
通过contains方法可以判断一个对象是否存在于HashMap或者Hashtable中。


HashMap无contains方法

4.

web容器:给处于其中的应用程序组件(JSP,SERVLET)提供一个环境,使 JSP,SERVLET直接更容器中的环境变量接**互,不必关注其它系统问题。主要有WEB服务器来实现。例如:TOMCAT,WEBLOGIC,WEBSPHERE等。该容器提供的接口严格遵守J2EE规范中的WEB APPLICATION 标准。我们把遵守以上标准的WEB服务器就叫做J2EE中的WEB容器。 EJB容器:Enterprise java bean 容器。更具有行业领域特色。他提供给运行在其中的组件EJB各种管理功能。只要满足J2EE规范的EJB放入该容器,马上就会被容器进行高效率的管理。并且可以通过现成的接口来获得系统级别的服务。例如邮件服务、事务管理。 JNDI:(Java Naming & Directory Interface)JAVA命名目录服务。主要提供的功能是:提供一个目录系,让其它各地的应用程序在其上面留下自己的索引,从而满足快速查找和定位分布式应用程序的功能。 JMS:(Java Message Service)JAVA消息服务。主要实现各个应用程序之间的通讯。包括点对点和广播。 JTA:(Java Transaction API)JAVA事务服务。提供各种分布式事务服务。应用程序只需调用其提供的接口即可。 JAF:(Java Action FrameWork)JAVA安全认证框架。提供一些安全控制方面的框架。让开发者通过各种部署和自定义实现自己的个性安全控制策略。 RMI/IIOP:(Remote Method Invocation /internet对象请求中介协议)他们主要用于通过远程调用服务。例如,远程有一台计算机上运行一个程序,它提供股票分析服务,我们可以在本地计算机上实现对其直接调用。当然这是要通过一定的规范才能在异构的系统之间进行通信。RMI是JAVA特有的。5.下列说法正确的有()

正确答案:A  你的答案:A(正确)

能被java.exe成功运行的java class文件必须有main()方法
J2SDK就是Java API
Appletviewer.exe可利用jar
4000
选项运行.jar文件
能被Appletviewer成功运行的java class文件必须有main()方法

B、C、D都错 A:正确main方法是入口  B:J2SDK当然不仅仅包含java API  C:jar选项是java.exe 的选项  D:Appletviewer是运行applet的, applet 不用main方法,继承applet类即可。
java程序的种类 1.Application:Java应用程序,是可以由Java解释器直接运行的程序。 2.Applet:即Java小应用程序,是可随网页下载到客户端由浏览器解释执行的Java程序。
3.Servlet:Java服务器端小程序,由Web服务器(容器)中配置运行的Java程序。
6. 以下 _____ 不是 Object 类的方法

正确答案:D  你的答案:D(正确)

clone()
finalize()
toString()
hasNext()

7.ServletConfig接口默认是哪里实现的?

正确答案:B  你的答案:A(错误)

Servlet
GenericServlet
HttpServlet
用户自定义servlet




8. 下列Java代码中的变量a、b、c分别在内存的____存储区存放。

正确答案:C  你的答案:C(正确)

堆区、堆区、堆区
堆区、栈区、堆区
堆区、栈区、栈区
堆区、堆区、栈区
静态区、栈区、堆区
静态区、栈区、栈区

答案是C a是类中的成员变量,存放在堆区 b、c都是方法中的局部变量,存放在栈区
9.下面哪项技术可以用在WEB开发中实现会话跟踪实现?

正确答案:ABCD  你的答案:AB(错误)

session
Cookie
地址重写
隐藏域

ABCD  会话跟踪是一种灵活、轻便的机制,它使Web上的状态编程变为可能。
HTTP是一种无状态协议,每当用户发出请求时,服务器就会做出响应,客户端与服务器之间的联系是离散的、非连续的。当用户在同一网站的多个页面之间转换时,根本无法确定是否是同一个客户,会话跟踪技术就可以解决这个问题。当一个客户在多个页面间切换时,服务器会保存该用户的信息。
有四种方法可以实现会话跟踪技术:URL重写、隐藏表单域、Cookie、Session。
1).隐藏表单域:<input type="hidden">,非常适合步需要大量数据存储的会话应用。
2).URL 重写:URL 可以在后面附加参数,和服务器的请求一起发送,这些参数为名字/值对。
3).Cookie:一个 Cookie 是一个小的,已命名数据元素。服务器使用 SET-Cookie 头标将它作为 HTTP
响应的一部分传送到客户端,客户端被请求保存 Cookie 值,在对同一服务器的后续请求使用一个
Cookie 头标将之返回到服务器。与其它技术比较,Cookie 的一个优点是在浏览器会话结束后,甚至
在客户端计算机重启后它仍可以保留其值
4).Session:使用 setAttribute(String str,Object obj)方法将对象捆绑到一个会话
10. 关于Java语言描述正确的是?  ( )

正确答案:B  你的答案:C(错误)

java和C++都保留了指针
java和C++都有三个特征:封装、继承和多态
java的垃圾回收机制是指程序结束时系统自动回收内存
以上说法都不正确

java丢弃了指针。 java的立即回收不是程序结束后回收垃圾,在程序过程中就会,如对象呗赋值NULL,该对象就成为可回收对象。
11.

下面有关servlet的层级结构和常用的类,说法正确的有?

正确答案:ABCD  你的答案:ABCD(正确)

GenericServlet类:抽象类,定义一个通用的、独立于底层协议的Servlet。
大多数Servlet通过从GenericServlet或HttpServlet类进行扩展来实现
ServletConfig接口定义了在Servlet初始化的过程中由Servlet容器传递给Servlet得配置信息对象
HttpServletRequest接口扩展ServletRequest接口,为HTTP Servlet提供HTTP请求信息



12.

将类的成员的访问权限设置为默认的,则该成员能被( )

正确答案:A  你的答案:D(错误)

同一包中的类访问
其它包中的类访问
所有的类访问
所有的类的子类访问


public:可以被所有其他类所访问; protected:自身、子类及同一个包中类可以访问; default:同一包中的类可以访问; private:只能被自己访问和修改。 public>protcted>default>priavte

13.

如果一个接口Cow有个方法drink(),有个类Calf实现接口Cow,则在类Calf中正确的是?  ( )

正确答案:C  你的答案:D(错误)

void drink() { …}
protected void drink() { …}
public void drink() { …}
以上语句都可以用在类Calf中


子类重写父类方法时,方法的访问权限不能小于原访问权限,在接口中,方法的默认权限就是public,所以子类重写后只能是public
14.

java中将ISO8859-1字符串转成GB2312编码,语句为 ?  

正确答案:A  你的答案:B(错误)

new String("ISO8959-1".getBytes("ISO8959-1"),“GB2312”)
new String(String.getBytes("GB2312"),ISO8859-1)
new String(String.getBytes("ISO8859-1"))
new String(String.getBytes("GB2312"))


15.

在Java中,( )类提供定位本地文件系统,对文件或目录及其属性进行基本操作

正确答案:D  你的答案:A(错误)

FileInputStream
FileReader
FileWriter
File
FileInputStream提供了对文件的字节读取;FileReader提供了对文件的字符读取;FileWriter提供了对文件的字符写入;File提供了对文件的基本操作,包括对删除,文件路径等操作。

16.

默认类型等价表示是哪一项:

正确答案:C  你的答案:A(错误)

public String NAME="default";
public static String NAME="default";
public static final String NAME="default";
private String NAME="default";
接口中的变量默认是public static final 的,方法默认是public abstract 的

17.

下面有关JAVA异常类的描述,说法错误的是?

正确答案:D  你的答案:D(正确)

异常的继承结构:基类为Throwable,Error和Exception继承Throwable,RuntimeException和IOException等继承Exception
非RuntimeException一般是外部错误(非Error),其必须被 try{}catch语句块所捕获
Error类体系描述了Java运行系统中的内部错误以及资源耗尽的情形,Error不需要捕捉
RuntimeException体系包括错误的类型转换、数组越界访问和试图访问空指针等等,必须被 try{}catch语句块所捕获




18.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: