java入职笔试题

2020-02-21 12:39

1. 请简要说明注释与注解的区别。

注释:注释一般用于代码说明,可以让其它开发人员便捷方便的清楚所写代码的功能意思。

注解: 注解一般可以拥有默写代码的功能。比如说spring或者hibernate中经常会用到注解配置。通过注解配置可以很容易和方便的实现spring和hiberntate中文件的配置。 2. final, finally, finalize的区别。

Final:可以用于声明属性,方法和类。分别表示属性不可变,方法不可覆盖,类不可以被继承。

内部类要访问局部变量,局部变量必须定义成final类型,例如,一段代码…… Finally: 是异常处理语句结构的一部分,表示总是执行。

finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收。但是JVM不能不保证此方法总被调用。

3. 作用域public,protected,private,以及不写时的区别

作用域 同一个包下 不同包下 当前类 子孙类 Public 可以访问 可以访问 可以访问 可以访问 Protected 可以访问 不可以访问 可以访问 可以访问 private 不可以访问 不可以访问 可以访问 不可以访问 4. 说出ArrayList,Vector, LinkedList的存储性能和特性

ArrayLis:List接口下的一个实现类。一般用于有使用数组方式存储数据,他们可以按序号索元素。但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢。

Vector:使用了synchronized方法(线程安全),通常性能上较ArrayList差。

LinkedLis:使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快.。

5. Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?

Overload是重载的意思,Override是覆盖的意思,也就是重写。

重载Overload:表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)。

重写Override:表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,相当于把父类中定义的那个完全相同的方法给覆盖了。 区别 Override:

1、覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果; 2、覆盖的方法的返回值必须和被覆盖的方法的返回一致;

3、覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类;

4、被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。 Overload:

1、在使用重载时只能通过不同的参数样式。例如,不同的参数类型,不同的参数个数,不同的参数顺序;

2、不能通过访问权限、返回类型、抛出的异常进行重载; 3、方法的异常类型和数目不会对重载造成影响;

4、对于继承来说,如果某一方法在父类中是访问权限是priavte,那么就不能在子类对其进行重载,如果定义的话,也只是定义了一个新方法,而不会达到重载的效果。

6. abstract class和interface有什么区别?

语意上Abstract class表示抽象类的意思 而interfac表示接口的含义。

Abstract class:定义抽象方法必须在具体(Concrete)子类中实现,所以,不能有抽象构造方法或抽象静态方法。如果的子类没有实现抽象父类中的所有抽象方法,那么子类也必须定义为abstract类型。

接口(interface)是抽象类的一种特例,接口中的所有方法都必须是抽象的。接口中的方法定义默认为public abstract类型,接口中的成员变量类型默认为public static final。

两者的语法区别:

1.抽象类可以有构造方法,接口中不能有构造方法。 2.抽象类中可以有普通成员变量,接口中没有普通成员变量

3.抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。

4. 抽象类中的抽象方法的访问类型可以是public,protected和默认类型,但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。

5. 抽象类中可以包含静态方法,接口中不能包含静态方法

6. 抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。 7. 一个类可以实现多个接口,但只能继承一个抽象类。

7. 是否可以继承String类?

答:不可以。因为String是最终类,不可以被继承。

8. swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

答:Switch可以作用在byte上,不能坐拥在long上 ,现在String上也可以。

9. 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的

其它方法?能否进入该类其他实例的方法?

总共有这分4种情况:

1.其他方法前是否加了synchronized关键字,如果没加,则能。

2.如果这个方法内部调用了wait,则可以进入其他synchronized方法。

3.如果其他个方法都加了synchronized关键字,并且内部没有调用wait,则不能。

4.如果其他方法是static,它用的同步锁是当前类的字节码,与非静态的方法不能同步,因为非静态的方法用的是this。

10. 请写出JSP的内置对象及方法

答:JSP共有以下

9个内置的对象:

request :一般用于客户端请求,此请求会包含来自GET,POST请求的参数 response : 网页传回用户端的回应 pageContext : 网页的属性是在这里管理 session : 与请求有关的会话期 application servlet : 正在执行的内容 out : 用来传送回应的输出 config : servlet的构架部件 page :JSP网页本身

exception : 针对错误网页,未捕捉的例外

11. 简述sleep、wait的区别(从锁、执行时间和执行后线程状态说明),notify与notifyAll

的区别,

Slee:就是正在执行的线程主动让出cpu,cpu去执行其他线程,在sleep指定的时间过后,cpu才会回到这个线程上继续往下执行,如果当前线程进入了同步锁,sleep方法并不会释放锁,即使当前线程使用sleep方法让出了cpu,但其他被同步锁挡住了的线程也无法得到执行。

Wait: wait是指在一个已经进入了同步锁的线程内,让自己暂时让出同步锁,以便其他正在等待此锁的线程可以得到同步锁并运行,只有其他线程调用了notify方法,调用wait方法的线程就会解除wait状态和程序可以再次得到锁后继续向下运行。

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

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

12. String s1 = new String(\

String s2 = new String(\String s3 = \String s4 = \

System.out.println(s1 == s2);

System.out.println(s1.equals(s2)); System.out.println(s3 == s4);

System.out.println(s3.equals(s4)); 请写出输出结果及原因

答:输出结果为:false true true true. 以上涉及到了”==”和”equals”区别

“==”:专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。

equals方法是用于比较两个独立对象的内容是否相同,就好比去比较两个人的长相是否相同,它比较的两个对象是独立的。

String s1 = new String(\String s2 = new String(\

两条new语句创建了两个对象,然后用s1,s2这两个变量分别指向了其中一个对象,这是两个不同的对象,它们的首地址是不同的,即s1和s2中存储的数值是不相同的,所以,表达式s1==s2将返回false,而这两个对象中的内容是相同的,所以,表达式s1.equals(s2)将返回true。

String s3 = \String s4 = \

如果一个类没有自己定义equals方法,那么它将继承Object类的equals方法,Object类的equals方法和==是一样的,也就是在比较两个变量指向的对象是否是同一对象,这时候使用equals和使用==会得到同样的结果。所以得到的结果皆为true

13. 写出几个常用的应用服务器

BEA WebLogic Server

IBM WebSphere Application Server Oracle9i Application Server jBoss Tomcat

14. 请简述在struts、spring、hibernate三个框架整合后,每个框架的作用,它们是如何整

合的,并简述从一次页面请求的完整流程。 答:SSH整合的步骤: (1)添加三大框架的jar和整合用jar,创建相关配置文件。

(2)为Hibernate配置数据源对象 (3)配置SessionFactory对象 (4)实现并配置Dao和Service

(5)使用Spring简化数据库事务管理,配置声明事务管理。 (6)实现Spring和Struts2整合,配置Action。 流程如下图:

Request --?

<----

Action ---> Service ---> Dao ---> 数据库 <---- <---- <---

Jsp

流程图

Hibernate:通过数据库保存java程序运行时产生的对象和恢复对象,其实就是实现了java对象与关系

数据库记录的映射关系,称为ORM(即Object Relation Mapping),人们可以通过封装JDBC代码来实现了这种功能,封装出来的产品称之为ORM框架,Hibernate就是其中的一种流行ORM框架。使用Hibernate框架,不用写JDBC代码,只需调用一个save方法,就可以将对象保存到关系数据库中,仅仅是调用一个get方法,就可以从数据库中加载出一个对象。

配置hibernate的流程:先要配置hibernate.cfg.xml文件,其中配置数据库连接信息和方言等,还

要为每个实体配置相应的hbm.xml文件,hibernate.cfg.xml文件中需要登记每个hbm.xml文件。

使用hibernate完成crud操作的流程: 配置Configuration对象、产生SessionFactory、创建

session对象,启动事务,完成CRUD操作,提交事务,关闭session。而在hibernate和spring集成的时候,可以在spring中配置事务完成自动提交。

Struts: struts是一个按MVC模式设计的Web层框架,本质上也是一个servlet,即ActionServlet。 Spring: Spring实现了工厂模式的工厂类这个类名为BeanFactory(实际上是一个接口),在程序中通常BeanFactory的子类ApplicationContext。Spring相当于一个大的工厂类,在其配置文件中通过元素配置用于创建实例对象的类名和实例对象的属性。Spring提供了对IOC良好支持,IOC是一种编程思想,是一种架构艺术,利用这种思想可以很好地实现模块之间的解耦。 Spring提供了对AOP技术的良好封装, AOP称为面向切面编程,就是系统中有很多各不相干的类的方法,在这些众多方法中要加入某种系统功能的代码

15. try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,

什么时候被执行 会被执行。

try中的return语句调用的函数先于finally中调用的函数执行,也就是说return语句先执行,finally语句后执行。

16. Linux中,cd..、sudo、ls、vi、cat、mkdir、cp命令的含义,在linux下如何删除一个非

空目录,chmod 755 t.txt给了哪类用户什么权限 Cd:进入相应的文件目录

17. 解释:LBS ,MVC,SOAP,WSDL,RMI,JPA,EJB

EJB: Enterprise java bean 容器。更具有行业领域特色。他提供给运行在其中的组件EJB各种管理功能。只要满足J2EE规范的EJB放入该容器,马上就会被容器进行高效率的管理。并且可以通过现成的接口来获得系统级别的服务。例如邮件服务、事务管理。

mvc:MVC是一种设计模式,即Model-View-Controller的简写。Model 代表的是应用的业务逻辑

(通过JavaBean,EJB组件实现), View 是应用的表示面(由JSP页面产生),Controller 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。

SOAP:简单对象范文协议它是用于交换XML编码信息的轻量级协议。

WSDL是一种 XML 格式,用于将网络服务描述为一组端点,这些端点对包含面向文档信息或面向过程信息的消息进行操作。这种格式首先对操作和消息进行抽象描述,然后将其绑定到具体的网络协议和消息格式上以定义端点。相关的具体端点即组合成为抽象端点(服务)。


java入职笔试题.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:11月11日光棍节策划[1]

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: