概述
1、面向对象的特征有哪些方面?
答:抽象:
抽象就是忽略当前主题中与目标无关的那些方面,比便充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用注意细节。
继承:
继承允许和鼓励类的重用,提供了一种明确表述共性的方法。对象的一个新类可以从现有类中派生,这个过程成为继承。新类继承了原始类的特性,新类成为院士类的派生类(子类),而原始类成为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
封装:
封装过程和实现细节,对数据和方法的访问只能通过程序提供的公有方法和字段进行访问。
多态性:
允许不同类的对象对同一消息作出响应。多态具有灵活、抽象、行为共享、代码共享的优势。
2、String和StringBuffer的区别?
答:它们都是操作字符串的,但是String是final类,字符串的值不会改变。而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方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。
11、描述一下jvm加载class文件的原理机制?
答:JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader 是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。
12.Spring最有用的功能是什么?举例说明IOC和AOP的作用。
答:IOC依赖注入。
IOC通过容器而不是直接将java对象间的关系注入应用程序中,可以应用程序就实现了解耦,分层。
AOP 面向切面编程,简单地说,就是将那些与业务无关,却为业务模块所共同调用的逻辑或责任,例如事务处理、日志管理、权限控制等,封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。
13、sql语句性能调优的方法有哪些?
答:1、合理使用索引
2、用exists/not exists代替in/not in操作
3、尽量用联表查询不用子查询
4、用存储过程往往更有效率
14、假设有如下表:
TABLE: testID
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=1或b=2的记录,使得a=1且b=2的记录排在最前面,并且a=1且b=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 初中级笔试题,java 初中级程序员笔试题的全部内容,希望文章能够帮你解决java 初中级笔试题,java 初中级程序员笔试题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复