Java基础、Java Web问答,
Java基础、Java Web问答,
1. String、StringBuffer、StringBuilder的区别
String不变对象,StringBuffer可变字符串,方法为synchronized,StringBuilder可变字符串,方法非synchronized
2. finally、final、finalize的区别
finally在try-cache-finally中使用;final可从类、方法、属性三个方面解释;finalize为Object类的方法,其调用是不可预测的。
3. Java中synchronized的作用
同步,相当于对象锁
4. 简要描述一下java.io包中关于流的类的结构,其中用到了什么模式
Wrapper或Decorator模式
5. HashMap和Hashtable的异同
都实现了Map接口;HashMap允许null键和null值,方法非同步;Hashtable不允许null键和null键,方法同步
6. 简要介绍一下Comparable接口和Comparator比较器
实现Comparable的类的对象可以比较,必须实现compareTo方法;实现Comparator的类为比较器,必须实现compare方法,可以用在Collectoins.sort方法的参数中,用来比较两个对象的大小关系
7. ArrayList、LinkedList、Vector的异同
ArrayList、Vector为List基于数组的实现;LinkedList为基于链表的实现;如果随机查找一个值,则基于数组的实现较快,但在某一位置删除和添加一元素需要移动一些元素;但基于链表的实现利于添加和删除,不利于查询;Vector的方法为同步的,ArrayList和LinkedList的方法非同步
8. 关于运算符的短路问题,如:&&、||等
9. 在什么时候使用assert语句
可以在预计正常情况下不会到达的任何位置上放置断言;断言可以用于验证传递给私有方法的参数
10. 为什么要有GC?
Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理
11. Java中异常分为几种?有什么区别?
受检查异常、非检查异常;继承自Exception、继承自RuntimeException;代码是否明确捕获异常
12. 说明List、Set、Map的区别
List只是一个元素列表;Set是一个集合,无重复元素;Map是键值对
13. 抽象类和接口的区别
14. 简要说明实现equals和hashCode方法的必要性
equals用于判断两个对象是否相等,hashCode是对象的hash值;假设用在Map、List、Set这样的集合中,如果不适当的实现这两个方法,可能造成元素在某些集合对象中使用错误、或影响使用的效率
15. 要使一个对象可以在网络中传输需要实现什么接口?
Java.io.Serializable
16. 下面几句话哪句正确?
(1)a.equals(b)==true,但a.hashCode() !=b.hashCode()
(2)a.hashCode()==b.hashCode(),但a.equals(b)==false 对
(3) a.hashCode()==b.hashCode(),但a.equals(b)==true 对
17. Override和Overload的区别
18. 使用annotation有什么好处?
以前关于类的相关配置一般都写在xml文件中,从而对于某一个类的信息需要在两处维护;annotation使得某一类的信息可以写在一处,利于维护
19. 复制对象需要实现什么接口?什么是浅复制和深复制?
java.lang.Cloneable;浅复制只是引用复制,深复制对象复制,结合例子回答
20. 面向接口编程的好处?试举例说明
可以举关于List接口的例子
21. 什么是自动装箱、拆箱?
22. transiant关键字的作用?怎样实现对象的序列化和反序列化?
某些值不参与序列化;ObjectInputStream、ObjectOutputStream
23. Java怎样实现多线程?
继承Thread或实现Runnable接口
24. 利用wait和notify实现读者—写者问题
注意:wait和notify的代码必须在synchronized块之中
25. notify和notifyAll的区别
notify只唤醒一个线程,notifyAll唤醒所有等待的线程
26. char型变量中能不能存贮一个中文汉字?为什么?
是能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的
27. 简述一下模板类的好处
分几个方面说明:1)<? extends Number>可以指定参数类的范围;2)java.lang.Comparable<T>,可以指定比较类型为某一类型
28. 什么是正则表达式?在Java中怎样使用?
Pattern,、Matcher
29. 在Java中单例怎么实现?
有两种方式:1)延迟初始化方式;2)立即初始化方式,比较两种单例实现的优缺点
30. 在Java中工厂模式怎么实现?
写代码说明
31. 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
值传递
32. 列出某文件夹下的所有文件
递归
33. 在java中怎样调用系统命令?
System.getRuntime().exec
34. 什么是AOP?它提供了什么功能?
35. Java国际化相关
Locale、ResourceBundle
36. 将当前日期按“yyyy-MM-dd”的形式打印出来
SimpleDateFormat、Date
===================================
1. JSP和Servlet的关系
Jsp会被编译为servlet
2. <jsp:include page=”file.jsp”>和<%@ include=”file.jsp” %>区别?
1) 前者在运行时发生,后者在编译时发生
2) 前者反映包含文件的变化,后者不会,除非重启服务器
3)可从jsp编译成的servlet文件看出区别
3. forward和redirect的区别
1) forward对于客户端并不知情,是服务端的动作,url链接不变化
2) redirect服务器先向客户端发送302重定向,客户端再向服务器请求页面,多出一次往返,url发生变化
4. url重写是什么?怎么实现?
为了支持会话,在url链接中写入jsessionid;response.encodeUrl和jstl标签<c:url>
5. 什么是session?session通过什么传递?
默认为通过cookie传递;如果cookie被禁用,则通过url重写来维护会话
6. Get和Post的区别?
7. 请简述一下MVC模式,如果用Java实现MVC请简述怎样实现?
参照Structs和Spring都行
前端控制器—将请求映射到具体控制器的类—具体控制器—得到模型数据—生成视图
8. 在Java Servlet开发中,Listener、Filter、Servlet作用是什么?
Listener在web程序启动时顺序执行,用于初始化一些全局资源
Filter用于过滤请求,可以用作权限控制、统计、日志记录等
Servlet具体用于用户请求的处理
9. 在Java Web应用程序中,有几种作用域?
四种;Application、Session、Request、Page
10. 请简要介绍一种你熟悉的MVC框架,如:Struts、Spring等
11. HTTP200、302、404、500各代表什么含义?怎样在程序中处理这些错误?
在web.xml中声明统一的错误页面
相关文章
- 暂无相关文章
用户点评