美文网首页
java 初中级程序员笔试题

java 初中级程序员笔试题

作者: 成都啊噢网络科技有限公司 | 来源:发表于2018-01-26 20:45 被阅读0次

    1、 面向对象的特征有哪些方面?

    答:抽象:

                 抽象就是忽略当前主题中与目标无关的那些方面,比便充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用注意细节。

    继承:

    继承允许和鼓励类的重用,提供了一种明确表述共性的方法。对象的一个新类可以从现有类中派生,这个过程成为继承。新类继承了原始类的特性,新类成为院士类的派生类(子类),而原始类成为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

    封装:

    封装过程和实现细节,对数据和方法的访问只能通过程序提供的公有方法和字段进行访问。

    多态性:

           允许不同类的对象对同一消息作出响应。多态具有灵活、抽象、行为共享、代码共享的优势。

     

     

    2、 String和StringBuffer的区别?

    答:它们都是操作字符串的,但是Stringfinal类,字符串的值不会改变。而StringBuffer类提供的字符串可以修改。

     

     

    3、 同步和异步有什么区别?在什么情况下使用?

    答:如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。
    当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。

     

     

    4、 gc是什么?为什么要有gc?

    答:GC是垃圾收集器。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一:
      System.gc()
      Runtime.getRuntime().gc()

     

     

    5、 Math.round(11.5)等于多少?Math.round(-11.5)等于多少?

    答:12   -11

     

    6、 absract的mathod是否可以同时是static,是否可以同时是native,是否可以同时是synchronized?

    答:都不能

    注:absract应该为abstract

     

    7、 线程的基本概念、基本状态及状态之间的关系?

    答:线程指在程序执行过程中,能够执行程序代码的一个执行单位,每个程序至少都有一个线程,也就是程序本身。
    Java中的线程有四种状态分别是:运行、就绪、挂起、结束

     

     

    8、 mvc的各个部分都有哪些技术实现?如何实现?

    答: M model业务逻辑(javaBean EJB组件)

    V view 表示层(jsp页面)

    C controller 控制层 servlet

    视图层接受用户的输入和请求等,然后请求到达Servlet的控制器后,转发到相应的业务逻辑,业务逻辑运算完成后,再将数据呈现给相应表现层view

     

     

    9、 xml文档定义有几种形式?之间的区别?解析xml文档有哪几种方式?

    答:两种形式 dtd  schema

    本质区别:schema本身是xml的,可以被XML解析器解析(这也是从DTD上发展schema的根本目的)

    DOM,SAX,STAX

        DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问

    SAX:不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问

        STAX:Streaming API for XML (StAX)

     

     

    10、    servlet的生命周期?

    答:Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGetdoPost)等,当服务器决定将实例销毁的时候调用其destroy方法。

     

     

     

    11、描述一下jvm加载class文件的原理机制?

    答:JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader 是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。

     
     

    12Spring最有用的功能是什么?举例说明IOCAOP的作用。

    答:IOC依赖注入。

    IOC通过容器而不是直接将java对象间的关系注入应用程序中,可以应用程序就实现了解耦,分层。

    AOP 面向切面编程,简单地说,就是将那些与业务无关,却为业务模块所共同调用的逻辑或责任,例如事务处理、日志管理、权限控制等,封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。

     

     

    13sql语句性能调优的方法有哪些?

    答:1、合理使用索引

    2、用exists/not exists代替in/not in操作

    3、尽量用联表查询不用子查询

    4、用存储过程往往更有效率

     

     

    14、假设有如下表:

    TABLE: test

    ID

    A

    B

    1

    4

    2

    2

    1

    2

    3

    1

    3

    4

    3

    2

    5

    1

    5

    6

    1

    2

    7

    4

    -1

    8

    1

    2

    写一条SQL语句,选择所有a=1b=2的记录,使得a=1b=2的记录排在最前面,并且a=1b=2的记录按id降序排列。

    答:select * from (select * from test where a = 1 and b =2 order by id desc )

    union select * from (select * from test where id not in (select id from test where a = 1 and b =2)) t

    where t.a = 1 or t.b =2

     

    相关文章

      网友评论

          本文标题:java 初中级程序员笔试题

          本文链接:https://www.haomeiwen.com/subject/kqtlbxtx.html