java总结

java总结

java的接口方法必须声明成public

正确,接口中方法的默认类型为public,即使有时不写出public,但方法还是为public类型的。

如果定义int[]nValues={1,2,3,4};那么nValues为整数类型。

错误,nValues为这个数组的引用。

java可以在方法内定义内部类。

正确,注意变量访问权限。

Protected修饰的类成员只能被其子类访问

错误,当前类,子类,同包中的类都可以使用。

如果定义:HashMap map=new HashMap();那么以后就无法保证内的数据是线程安全。说明理由

HashMap实现不是同步的。如果多个线程同时访问此映射,而其中至少一个线程从结构上修改了该映射,则它必须保持外部同步。(结构上的修改是指添加或删除一个或多个映射关系的操作;仅改变与实例已经包含的键关联的值不是结构上的修改。)这一般通过对自然封装该映射的对象进行同步操作来完成。如果不存在这样的对象,则应该使用Collections.synchronizedMap 方法来“包装”该映射。最好在创建时完成这一操作,以防止对映射进行意外的不同步访问,对象Locale.CHINAt Local.SIMPLIFIED_CHINESE是一样的。

啥意思?Locale是关键字啊,表示地理的类。

Jsp页面向Servlet短发请求,带有中文参数,那么,在Servlet端应该如何处理?]

request.setCharacterEncoding(“gb2312”); Servlet内重定向方式又有哪些?jsp页面重定向有哪些方式?有什么区别?

Servlet:forward() 与redirect()

前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。

JSP:有两种,分别为:

<jsp:include page="included.jsp" flush="true">

<jsp:forward page= "nextpage.jsp"/> 前者页面不会转向includ所指的页面,只是显示该页的结果,主页面还是原来的页面。执行完后还会回来,相当于函数调用。并且可以带参数.后者完全转向新页面,不会再回来。相当于goto 语句forward 和redirect的区别?

forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。

redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。JDK内部采用什么编码?举例说明。

Unicode,支持中文日文,各种文字。

例子:可以用中文定义常量或方法名。

STRING与STRINGBUFFER的区别。

答:JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。Java2类库:Java类库有没有双向链表?有没有堆栈和队列类?有的话,写出相应的类?

双向链表:是由若干个称做节点的对象组成的一种数据结构,每个节点含有一个数据和一个上一个节点对象的引用和下一个节点对象的引用.如:LinkedList类在java.util包中.

堆栈:是一种后进先出的数据结构,只能在一端进行输入或输出数据的操作.如:Stack类在java.util包中.

队列:队列通常(但并非一定)以FIFO(先进先出)的方式排序各个元素在一端输入数据(队尾),在另一端删除数据(队头)。注:先进来的那边为队头。如:Queue类在java.util包中

线程的同步,如何实现线程的同步

答案1同步代码块,同步函数

答案2使用synchronized,wait与notify

多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?

多线程有两种实现方法,分别是继承Thread类与实现Runnable接口

同步的实现方面有两种,分别是synchronized,wait与notify

请说出你所知道的线程同步的方法。

wait():使一个线程处于等待状态,并且释放所持有的对象的lock。

sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常。

notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。

Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。CORBA是什么?用途是什么?

答:CORBA 标准是公共对象请求代理结构(Common Object Request Broker Architecture),由对象管理组(ObjectManagement Group,缩写为 OMG)标准化。它的组成是接口定义语言(IDL), 语言绑定(binding:也译为联编)和允许应用程序间互操作的协议。其目的为用不同的程序设计语言书写在不同的进程中运行为不同的操作系统开发。EJB与JAVABEAN的区别?

Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。Enterprise Java Bean 相当于DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理, EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。

J2EE是什么?

答:Je22是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用模型(enterpriese application model).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。所属层次包括客户层(clietn tier)组件,web层和组件,Business层和组件,企业信息系统(EIS)层。

java总结的相关文档搜索

java总结相关文档

最新文档

返回顶部