java 初中级程序员笔试题二

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、 abstract的mathod是否可以同时是static,是否可以同时是native,是否可以同时是synchronized?
	答:都不能。都不可以,因为abstract申明的方法是要求子类去实现的,abstract只是告诉你有
	这样一个接口,你要去实现,至于你的具体实现可以是native和synchronized,也可以不是,
	抽象方法是不关心这些事的,所以写这两个是没有意义的。然后,static方法是不会被覆盖的,
	而abstract方法正是要子类去覆盖它,所以也是没有意义的。所以,总的来说,就是java语法
	许你这样做,事实上,也没有意义这样做。
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 面向切面编程,简单地说,就是将那些与业务无关,却为业务模块所共同
调用的逻辑或责任,例如事务处理、日志管理、权限控制等,封装起来,便于减少系统的重复代
码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值