1.String的常用的方法有哪些?
1.String类长度:String没有length的属性,有length()这个方法,可以获取字符串的长度
2.indexOf()/lastIndexOf():可以获取指定字符串的索引位置。indexof()返回的是首次搜索字符出现的索引;lastindexof()返回的是搜索字符最后出现的索引。ps:索引是从0开始计算。
3.charAt()方法:可以获取指定索引处的字符,返回的字符的索引
2. ==和equals的区别?
1、功能不同
"=="是判断两个变量或实例是不是指向同一个内存空间。
"equals"是判断两个变量或实例所指向的内存空间的值是不是相同。
2、定义不同
"equals"在JAVA中是一个方法。
"=="在JAVA中只是一个运算符号。
3. 你们平常都怎么实现比较是否为空
null ==0 isEmpty(字符串,数组,集合)
4. 集合有什么特点?譬如:先介绍集合都有什么?然后再去介绍这个每个的特点.
1、List列表:有序的,可重复的;
2、Queue队列:有序,可重复的;
3、Set集合:不可重复;
4、Map映射:无序,键唯一,值不唯一。
5. 多线程有几种实现方式?
主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。
6. Array和ArrayList有什么区别?
1. Array类型的变量在声明的同时必须进行实例化(至少得初始化数组的大小),而ArrayList可以只是先声明。
2. Array只能存储同构的对象,而ArrayList可以存储异构的对象。
3初始化大小
Array对象的初始化必须只定指定大小,且创建后的数组大小是固定的,而ArrayList的大小可以动态指定,其大小可以在初始化时指定,也可以不指定,也就是说该对象的空间可以任意增加。
4 Array不能够随意添加和删除其中的项,而ArrayList可以在任意位置插入和删除项。
8. IO流的分类
按流向分(站在程序角度考虑)
输入流(input)
输出流(output)
按类型分:
字节流(InputStream/OutputStream)
任何文件都可以通过字节流进行传输。
字符流(Reader/Writer)
非纯文本文件,不能用字符流,会导致文件格式破坏,不能正常执行。
节点流(低级流:直接跟输入输出源对接)
FileInputStream/FileOutputStream/FileReader/FileWriter/PrintStream/PrintWriter.
处理流(高级流:建立在低级流的基础上)
转换流:InputStreamReader/OutputStreamWriter,字节流转字符流/字符流转字节流
缓冲流:BufferedInputStream/BufferedOutputStream BufferedReader/BufferedReader可对节点流经行包装,使读写更快
9. 你工作中用到的设计模式
spring中常用设计模式盘点
工厂模式: BeanFactory, ApplicationContext中的对象创建;
观察者模式: 各种事件的发布和通知
模板模式: JdbcTemplate
AOP: 综合了代理,装饰器,适配器模式
10. J2EE是技术还是平台还是框架
J2EE本身是一个标准,一个为企业分布式应用的开发提供的标准平台。
J2EE 也是一个框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技术。
11. jsp的9个内置对象
request response out pageContext session application config page
12. 当一个线程进入一个对象的一个synchronized方法后,其它线程不能进入此对象的其它方法
不能,一个对象的一个synchronized方法只能由一个线程访问。对象的synchronized方法不能进入了,但它的其他非synchronized方法还是可以访问的。
13. 两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
不对
(1)如果两个对象相同(equals 方法返回 true),那么它们的hashCode 值一定要相同;
(2)如果两个对象的 hashCode 相同,它们并不一定相同。
14. 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete
class)?
概念:
接口: 接口是一种约束形式,其中只包括成员定义,不包含成员实现的内容。
抽象类: 抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。
抽象方法: 抽象方法指一些只有方法声明,而没有具体方法体的方法。抽象方法一般存在于抽象或接口中。
接口可以继承(extends)接口。
publicinterfaceInterfaceA{}interfaceInterfaceBextendsInterfaceA{}
抽象类可以实现(implements)接口。
publicinterfaceInterfaceA{}abstractclassTestAimplementsInterfaceA{}
抽象类可继承(extends)实体类,(但前提是实体类必须有明确的构造函数)。
publicclassTestA{}abstractclassTestBextendsTestA{}