- ①int 和integer的区别:1)int是八种基本数据类型之一,而integer是int的封装类;
- 2)int的默认值为0,而integer的默认值为null;
- 3)Integer是对象,用一个引用指向这个对象,而int是基本类型,直接存储数值;
- 4)声明为Integer的变量需要实例化,而声明为int的变量不需要实例化。
- ②collection和collections的区别:collection是一个集合接口,它提供了对集合对象进行基本操作的通用接口方法。
- collections是一个包装类,包含了对集合进行操作的静态方法。
- ③list和set的区别:list中的元素是有序的,而set当中的元素是无序的
- list中的元素是可重复的,而set当中的元素是不可重复的
- ④ArrayList和linkedlist的区别:1)实现原理不同:ArrayList是动态数组实现的,linkedlist是双向链表实现的;
- 2)最大容量:ArrayList有最大容量,是integer.maxvalue,linkedlist没有最大容量;
- 3)在查询时,ArrayList的速度比linkedlist快,但是随即插入元素时,linkedlist比较快。
- ⑤hashmap和hashtable的区别:1)hashmap不是线程安全的,而hashtable是线程安全的;
- 2)hashmap的键可以接受null,而hashtable不可以;
- 3)单线程中hashmap的性能优于hashtable。
- ⑥stringbuilder和stringbuffer的区别:stringbuffer是线程安全的,单线程时stringbuilder的性能比较好
- ⑦&&和&的区别:&&会造成短路,&&前面的判断是false时,后面的依然会进行判断
- ⑧throw和throws的区别:throw是在方法中抛出异常对象,throws是在方法上抛出异常类型。
- ⑨group by当中having和where的区别:having是在分组后对数据进行筛选,而where是在分组前对数据进行筛选。
- ⑩hibernate和mybits的区别:hibernate是orm(对象关系映射)模型,映射sql语句和返回值,sql语句不需要自己写,mybatis是半orm模型,sql语句自己写,只映射返回值。现在用的较多的是mybatis。
- SQL优化上 MyBatis 强于 Hibernate
- 1---MyBatis优化维护方便 SQL全存在于XML中 不需要修改源代码
- 2---开发效率上 Hibernate略强于mybatiss
- 3---从性能上说 因为Mybatis全都是自己手写的SQL 因此性能相对较高
- 反之 Hibernate更加提倡使用HQL HQL往往会查询更多的字段 从而性能反而较低
- 如果对性能要求不是很高的项目
- 4---从更新功能上来说 Hibernate会更新所有字段 而MyBatis可以只需要更新意个字段
- 5---Hibernate相对来说简化了DAO类的书写
- 十一、cookie和session的区别:cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。同时我们也看到,由于采用服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制来达到保存标识的目的。
- 十二、jsp和servlet的区别:1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)
- 2.jsp更擅长表现于页面显示,servlet更擅长于逻辑控制.
- 3.Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到.
- Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶嵌到一个类中,由Jsp容器完成。而Servlet则是个完整的Java类,这个类的Service方法用于生成对客户端的响应。