• 金尊国际平台
  • 金尊娱乐平台官网
  • 新闻资讯
  • 厂房设备
  • 人才招聘
  • 技术支持
  • 联系方式
  • 访客留言
  • 您当前的位置:首页 > 技术支持

    「BAT常问」40道Java基础面试题及详细答案整理汇总「33-40」

    时间:2018-09-08 17:05:23  来源:本站  作者:

      本文为Java面试题系列文章最后一篇,全部的40道Java基础面试题及详细答案整理汇总已经发布完毕,面试需要准备的远不止这些,更多的知识建议你从网上找资料自己去学习归纳,之前文章可点击访问:

      这个问题涉及到了,范型向上转型 和 范型向下转型问题。List向上转换至List(等价于List)会丢失String类的身份(String类型的特有接口)。当需要由List向下转型时,你的程序必须明确的知道将对象转换成何种具体类型,不然这将是不安全的操作。

      SAX(Simple API for XML)解析器是一种基于事件的解析器,它的核心是事件处理模式,主要是围绕着事件源以及事件处理器来工作的。当事件源产生事件后,调用事件处理器相应的处理方法,一个事件就可以得到处理。在事件源调用事件处理器中特定方法的时候,还要传递给事件处理器相应事件的状态信息,这样事件处理器才能够根据提供的事件信息来决定自己的行为。SAX解析器的优点是解析速度快,占用内存少。

      DOM,它是生成一个树,有了树以后你搜索、查找都可以做。SAX,它是基于流的,就是解析器从头到尾解析一遍xml文件,解析完了以后你不过想再查找重新解析。SAX解析器核心是事件处理机制。例如解析器发现一个标记的开始标记时,将所发现的数据会封装为一个标记开始事件,并把这个报告给事件处理器。

      我们学设计模式,是为了学习如何合理的组织我们的代码,如何解耦,如何真正的达到对修改封闭对扩展开放的效果,而不是去背诵那些类的继承模式,然后自己记不住,回过头来就骂设计模式把你的代码搞复杂了,要反设计模式。

      JNI是 Java Native Interface 的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++)。从Java1.1开始,JNI标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他编程语言,只要调用约定受支持就可以了。使用java与本地已编译的代码交互,通常会丧失平台可移植性。

      AOP(Aspect Oriented Programming) 面向切面编程,是目前软件开发中的一个热点,是Spring框架内容,利用AOP可以对业务逻辑的各个部分隔离,从而使的业务逻辑各部分的耦合性降低,提高程序的可重用性,踢开开发效率,主要功能:日志记录,性能统计,安全控制,事务处理,异常处理等。

      AOP实现原理是java动态代理,但是jdk的动态代理必须实现接口,所以spring的aop是用cglib这个库实现的,cglis使用里asm这个直接操纵字节码的框架,所以可以做到不使用接口的情况下实现动态代理。

      OOP面向对象编程,针对业务处理过程的实体及其属性和行为进行抽象封装,以获得更加清晰高效的逻辑单元划分。而AOP则是针对业务处理过程中的切面进行提取,它所面对的是处理过程的某个步骤或阶段,以获得逻辑过程的中各部分之间低耦合的隔离效果。这两种设计思想在目标上有着本质的差异。

    来顶一下
    推荐资讯
    相关文章
      无相关信息
    栏目更新
    栏目热门