1、xml的解析方式有哪些?
1.DOM:要求解析器吧整个XML文档装载到内存,并解析成一个Document对象。(1).优点:元素与元素之间保留结构关系,故可以进行增删改查操作。(2).缺点:XML文档过大,可能出现内存溢出显现;
2.SAX:是一种速度更快,更有效的方法,它逐行扫描文件,一边扫描一边解析。并以事件驱动的方式进行具体解析,每执行一行,都将触发对应;
3.PULL:Android内置的XML解析方式,类似SAX。
2、JSP的九大内置对象及作用分别是什么?
1. out: web浏览器输出信息,并管理应用服务器上的输出缓冲区,常用方法是prine(); 作用域是page;
2. request: 代表客户端的请求信息;
3. response: 代表对客户端的响应;
4. session: 由服务器自动创建的与用户请求相关的对象----会话;
5. application: 将信息保存在服务器中.直到服务关闭,保存的信息在整个过程中都有效;
6. pageContext: 取得任何范围的参数;以上对象的参数都可以获取;
7. page: 代表JSP本身,只有在JSP页面内才合法;
8. config: 取得服务器的配置信息;
9. exception: 显示异常信息。
3、请描述一下final,finally,finalized的区别?
(1)final:被final修饰的类,不被能继承;被final修饰的方法,不能被重写;被fianl修饰的量,为常量,只能被赋值一次;
(2)finally:异常处理,和try、catch结合使用,可加可不加,用于执行一些必须执行的代码,如释放资源等;
(3)finalized:Object类中的方法,其中定义了对象要被垃圾回收器回收之前,要做的一些清理工作。
4、Spring常用的设计模式有哪些?
1. 工厂模式:BeanFactory 就是简单工厂模式的体现,用来创建对象的实例;
2. 单例模式:Bean 默认为单例模式;
3. 代理模式:Spring 的 AOP 功能用到了 JDK 的动态代理和 CGLIB 字节码生成技术;
4. 模板方法 :用来解决代码重 复的问题。比如. RestTemplate, JmsTemplate, JpaTemplate;
5. 观察者模式:定义对象键一种一对多的依赖关系,当一个对象的状态发生改变时,所 有 依 赖 于 它 的 对 象 都 会 得 到 通 知 被 制 动 更 新 , 如 Spring 中 listener 的 实 现--ApplicationListener。
5、在Java中的Lock接口比Synchronized块的优势是什么?
Lock接口下多个线程可以同时读,适合读多写少的应用。而synchronized块如果多个线程都只是进行读操作,当一个线程在进行读操作时,其他线程只能等待无法进行读操作。
Lock接口可以实现对线程中断,而synchronized无法中断线程
通过Lock可以知道有没有成功获取锁,而synchronized却无法办到
对于Synchronized来说,是只有一个条件队列的,里面放着对应于不同类型的(也可以说是处理不同业务类型的)线程,那这时你只能NotifyAll为了保证程序的正确,把所有的线程都叫起来,不管是不是你想要的业务类型的线程。这种对于性能影响是非常大的,Lock是没问题的,他可以对于不同的条件创建Wait-Set。
6、请列出五个常见的Jvm(Java虚拟机)启动参数并说明其含义?
① -Xmn 设置新生代大小;
② -NewRation 设置新生代和老年代的比率;
③ -SurvivorRatio 设置新生代中Eden Space和Survivor Space的大小;
④ -Xmx 设置JVM最大使用内存;
⑤ -Xms 设置JVM最大初始内存。




