`
y8820960
  • 浏览: 116379 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

java面试题

 
阅读更多

1 Hashtable 和 HashMap 区别

    Hashtable是同步的,即线程安全的,就是多个线程也可以时对其进行访问,不会出现数据不一致的情况,且不允许空值;HashMap是非线程安全的,并且允许空值,在线程环境中就需要人为的对其进行同步处理,否则就会出现数据不一致的情况,因而其在单线程的情况下,因为其不同步性,所以就效率上来说HashMap肯定是优于Hashtable 了;二者的共同点都是键值对关,且都是一一对应,不可能出现两个键,因为其键为唯一关键字,但值肯定可以相同了。

2 Jsp 与 Servlet 区别


    (1)Jsp是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。Jsp编译后是“类Servlet”。
    (2)Servlet和Jsp最主要的不同点在于,Servlet的应用逻辑在Java文件中,并且完全从表达层中的HTML里分离出来。而Jsp的情况是Java和HTML可以组合成一个扩展名为Jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。


3 多态机制


    多态指一个程序中同名不同方法共存的情况,java中提供两种多态机制,重写和重载。重写:在子类中可定义与父类中已定义的方法而内容不同的方法,这种多态称为覆盖。  重载:在一个类中定义了多个同名而不同内容的成员方法时,称为重载。   由于重写的同名方法存在与子类对父类的关系中,在方法引用时指明引用的事弗雷方法还是子类的不同重写和重载。

4 Web容器


    Web容器实际是一个Java运行时(runtime),提供了Java Servlet API的一个实现,并且简化了jsp网页,web容器负责初始化、调用以及管理。
    Web容器可以提供:
    (1)通信支持:利用容器提供的方法,能轻松的让Servlet和web服务器对话。
    (2)生命周期管理:容器控制Servlet的生死。它负责加载类,实例化和初始化Servlet、调用Servlet方法,并使Servlet实例能够被垃圾回收。
    (3)多线程支持:容器会自动的为它接收的每个Servlet创建一个新的Java线程。针对客户机的请求,如果Servlet已经运行完相应的HTTP服务方法,这个线程就会结束(也就是死掉)。
    (4)声明实现方式安全:利用容器,可以使用XML部署描述文件配置和修改安全性,而不必将硬编码写到Servlet或其他类代码中。
    (5)JSP支持:负责把JSP代码翻译成真正的Java。


5 谈谈你对Struts的理解


  (1)struts是一个按MVC模式设计的Web层框架,其实他就是一个大大的servlet,这个servlet名为ActionServlet,或者是ActionServlet的子类。我们可以在web.xml文件中将符合某种特征的所有请求交给这个Servlet处理,这个Servlet再按照一个配置文件(通常为/WEB-INFO/struts-config.xml),将各个请求分别分配给不同的action去处理。(扩展:struts的配置文件可以有多个,可以按照模块配置各自的配置文件,这样可以防止配置文件的过度膨胀)

  (2)ActionServlet把穷球交给action去处理之前,会将请求参数封装成一个formbean对象(就是一个java类,这个类中的每个属性对应一个请求参数),封装成一个什么样的formbean呢?看配置文件。

  (3)要说明的是,ActionServlet把formbean对象传递给action的execute方法之前,可能会调用formbean的validate方法进行校验,只有校验通过后才将这个formbean对象传递给action的execute方法,否则,它将返回一个错误页面,这个错误页面由input属性定义。

  (4)action执行完后要返回显示的结果视图,这个结果视图是用一个ActionForward对象来表示的,actionforward对象通过struts-config.xml配置文件中的配置关联到某个jsp页面,因为程序中使用的是在struts-config.xml配置文件为jsp页面设置的逻辑名,这样可以实现action程序代码与返回的jsp页面名称解耦。

 

6 谈谈你对Hibernate的理解


  (1)面向对象设计的软件内部运行过程可以理解成就是在不断的创建各种新对象、建立对象之间的关系,调用对象的方法来改变各个对象的状态和对象消亡的过程,不管理程序的过程和操作怎么样,本质上都是要得到一个结果,程序上一个时刻和下一个时刻的运行结果的差异就体现在内存中的对象状态发生了变化。

  (2)为了在关机和内存空间不够的状况下,保持程序的运行状态,需要将内存中的对象状态保存到持久化设备和从持久化设备中恢复出对象的状态,通常都是保存到关系数据库来保存大量对象信息。从Java程序的运行功能上来讲,保存对象状态的功能相比系统运行的其他功能来说,应该是一个很不起眼的附属功能,java采用jdbc来实现这个功能,这个不起眼的功能却要编写大量的代码,而做的事情仅仅是保存对象和恢复对象,并且这些大量的jdbc代码并没有什么技术含量,基本上是采用一套例行公事的标准的代码模板来编写,是一种苦活和重复性的工作。

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

  (4)使用Hibernate的基本流程是:配置Configuration对象、产生SessionFactory、创建session对象,启动事务,完成CRUD操作,提交事务,关闭session。

  (5)使用Hibernate时,先要配置数据库连接信息和方言等,还要为每个实体配置相应的hbm.xml文件,hibernate.cfg.xml文件中需要等级每个hbm.xml文件。

  (6)在应用Hibernate时,重点要了解Session的缓存原理,级联,延迟加载和hql语句。


7 谈谈你对spring的理解


  (1)Spring实现了工厂模式的工厂类,这个类名为BeanFactory(实际上是一个接口),在程序中通常BeanFactory的子类 ApplicationContext。Spring相当于一个大的工厂类,在配置文件中通过元素配置用于创建实例对象的类名和实例对象的属性。

  (2)Spring提供了对IOC良好的支持,IOC是一种编程思想,是一种架构艺术,利用这种思想可以很好的实现模块之间的解耦。IOC也称为 DI(Depency Injection) , 什么叫依赖注入呢?

public Class Programmer {

computer computer = null;

public void code() {

//computer = new Computer()

//computer = beanFactory.getComputer();

....

}

public void set computer(Computer computer){

  this.computer = computer;

}

}

 另外两种方式都由依赖,第一个直接依赖于目标类,第二个把依赖转移到工厂上,第三个彻底与目标和工厂解耦了(配置文件...)。


  (3)Spring提供了对AOP技术的良好封装,AOP称为面向切面编程,就是系统中很多各个不相干的类的方法,在这些众多方法中要加入某种系统功能的代码,例如,加入日志,加入权限判断,加入异常处理,这些应用称为AOP。实现AOP功能采用的是代理技术,客户端程序不再调用目标,而调用代理类,代理类与目标类对外具有相同的方法声明,一是实现相同的接口,二是作为目标的子类。在JDK中采用Proxy类产生动态代理的方式为某个借口生成实现类,如果要为某个类生成子类,则可以用CGLIB。在生成的代理类的方法中加入系统功能和调用目标类的相应方法,系统功能的代理以Advice对象进行提供,显然要创建出代理对象,至少要目标类和Advice类。

 

8 IOC容器概念

 

IOC容器就是具有依赖注入功能的容器,IOC容器负责实例化、定位、配置应用程序中的对象以及建立这些对象之间的依赖。应用程序无需直接在代码中new相关的对象,应用程序由IOC容器进行组装。在Spring中BeanFactory是IOC容器的实际代表着。

===http://blog.csdn.net/chen3888015/article/details/7447812

分享到:
评论

相关推荐

    java面试题,J2EE面试题 笔试题

    最全的j2EE面试题,题量...8、java面试题及答案 9、java面试题编程篇 10、Oracle面试题 11、Oracle企业面试题集锦 12、Spring面试题 13、SSH面试题 14、Strut+Spring+Hibernate面试题 15、张孝祥整理Java就业面试题大全

    java面试笔试资料java笔试题大集合及答案题库java笔试题汇总资料188个合集.zip

    Java面试题以及答案(小生).pdf java面试题(题库全).doc JS 数据库答案.doc Land.the.Tech.Job.You.Love-人人都有好工作—IT行业求职面试必读.pdf Linux命令大全完整版.doc sql查询语句练习.doc Web服务器的工作...

    java面试资料java面试题集java笔试题汇总资料

    java面试资料java面试题集java笔试题汇总资料,java面试资料java面试题集java笔试题汇总资料,java面试资料java面试题集java笔试题汇总资料,包括基础面试题、JavaWeb面试题、JAVA面试题集.txt、分布式相关面试题...

    java面试笔试题库java软件设计java笔试题大集合及答案文档资料合集300MB.zip

    Java面试题以及答案(小生).pdf java面试题(题库全).doc JS 数据库答案.doc Land.the.Tech.Job.You.Love-人人都有好工作—IT行业求职面试必读.pdf Linux命令大全完整版.doc sql查询语句练习.doc Web服务器的工作...

    java笔记java笔试题 java面试题

    这份"java笔记java笔试题 java面试题"的资源无疑是准备Java程序员的笔试和面试时的重要参考资料。以下是一些关键的Java知识点,这些内容可能会在笔记或面试中出现: 1. **Java基础**:Java的基础语法包括数据类型...

    java面试题集锦 java面试题集锦

    以下是对标题和描述中涉及的一些常见Java面试题的详细解释: 1. **JDK 和 JRE 的区别** JDK(Java Development Kit)是用于开发和调试Java程序的完整工具集,包括JRE(Java Runtime Environment)、编译器(javac...

    java试题 java笔试题 java面试题

    Java 试题、Java 笔试题、Java 面试题 本资源摘要信息中,我们将对 Java 相关试题、笔试题和面试题进行总结和分析,涵盖了 XML 解析技术、Struts 框架、ArrayList 和 Vector 的区别、HashMap 和 Hashtable 的区别、...

    Java面试题以及答案整理.pdf

    为了在Java面试中脱颖而出,了解和掌握常见的面试题及答案至关重要。以下是一些关键知识点的详细解析: 1. **super()与 this()的区别** `super()`用于调用父类的构造器,确保子类实例化时父类的初始化;`this()`则...

    2020 兴业银行Java笔试题

    【Java笔试题解析】 在2020年兴业银行的Java笔试中,涉及了多个核心的Java编程和技术概念。以下是对部分题目进行的详细解答: 1. 输入一个正整数,计算并输出距离它最近的对称数 对称数是指从左向右读和从右向左...

    java笔试题笔试题

    java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 ...

    最新Java面试题视频网盘,Java面试题84集、java面试专属及面试必问课程

    面试题包含了不同技术层面的面试问题,同时也能对一些没有面试开发经验的小白给予不可估量的包装, 让你的薪水绝对翻倍, 本人亲试有效.Java面试题84集、java面试专属及面试必问课程,所有的面试题有视屏讲解, 解答方案....

    java面试笔试资料Java经典项目集锦java笔试题大集合及答案题库java笔试题汇总资料个合集(188).zip

    java面试笔试资料Java经典项目集锦java笔试题大集合及答案题库java笔试题汇总资料个合集(188) 100家大公司java笔试题汇总.doc 125条常见的java 面试笔试题大汇总.pdf 2011最新整理java经典代码....Java面试题以及答案

    Java面试题全集(上)(中)(下)合集

    这里我们将根据"Java面试题全集(上)(中)(下)合集"来探讨这些核心知识点。 1. **基础语法**:这部分通常考察Java的基本数据类型、变量、运算符、流程控制(if,switch,for,while,do...while)、方法的定义...

    张孝祥整理的JAVA面试题宝典下载

    这套面试题主要目的是帮助那些还没有java软件开发实际工作经验,而正在努力寻找java软件开发工作的朋友在笔试时更好地赢得笔试和面试。由于这套面试题涉及的范围很泛,很广,很杂,至少需要一个月的时间才能消化和...

    2017java面试题

    "2017java面试题"这个压缩包文件提供了丰富的资源,帮助Java开发者准备面试,深化对Java开发的理解。 文档"Java面试宝典2017.doc"可能包含了以下核心Java知识点: 1. **基础语法**:这包括变量、数据类型、运算符...

    java 面试题

    这是面试中常出现的java面试题 ex:【考题题干】类的设计要求它的某个成员变量不能被外部类直接访问。应该使用下面的哪些修饰符 获得需要的访问控制。 A .public B .no modifier C .protected D .private 【试题...

    JAVA面试题和笔试题总汇(含答案)

    JAVA面试题和笔试题总汇(含答案)

    java笔试题面试题

    Java作为一门广泛使用的编程语言,其笔试题和面试题涵盖了众多知识点,对于求职者来说,了解并掌握这些知识点是至关重要的。以下将根据标题、描述和标签,详细解析一些常见的Java笔试题和面试题所涉及的Java核心概念...

    java面试笔试题库java笔试题大集合及答案互联网公司面试资料Java面试问题集大全合集(200个).zip

    java面试笔试题库java笔试题大...Java面试题以及答案(小生).pdf java面试题(题库全).doc JS 数据库答案.doc Land.the.Tech.Job.You.Love-人人都有好工作—IT行业求职面试必读.pdf Linux命令大全完整版.doc sql查询

Global site tag (gtag.js) - Google Analytics