1、int和integer的区别?
integer是int的包装类,int是基本数据类型。
integer必须实例化后才能使用,int不需要实例化。
integer实际是对象的引用,指向new的integer对象,int是直接存储数据的值。
integer的默认值是null,int的默认值是0。
JDK1.5之后引入自动装箱和自动拆箱。integer内部维护一个-128到127大小的数组,当数值在这个范围内就在数组中查找,没有则通过new关键字创建。
2、有了基本类型为什么还要有基本类型的包装类?
Java是一门面向对象的编程语言,但是Java中的基本数据类型却不是面向对象的,并不具有对象的性质,这在实际生活中存在很多的不便。为了让基本类型也具有对象的特征,就出现了包装类型,它相当于将基本类型“包装起来”,使得Java具有了对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作,方便涉及到对象的操作。
我们在使用集合类型时,就一定要使用包装类型,因为容器都是装object的,基本数据类型显然不适用。
逻辑上来讲,java只有包装类就够了,为了运行速度,需要用到基本数据类型。实际上,任何一门语言设计之初,都会优先考虑运行效率的问题,所以二者同时存在是合乎情理的。
3、String、Stringbuilder和Stringbuffer的区别?
- 在执行速度上:Stringbuilder->Stringbuffer->String
- b.String是字符串常量
Stringbuffer是字符串变量
Stringbuilder是字符串变量 - StringBuffer:线程安全的
StringBuilder:线程非安全的 - 总结:如果操作少量的数据用String
多线程下操作大量的数据用StringBuffer
单线程下操作大量的数据用StringBuilder
4、jsp和servlet的区别? - jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)
- jsp更擅长表现于页面显示,servlet更擅长于逻辑控制.
- Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到.
- Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶嵌到一个类中,由Jsp容器完成。而Servlet则是个完整的Java类,这个类的Service方法用于生成对客户端的响应。
5.标识符命名规范
类名:Xxx XxxYyy
变量名:xxx xxxYyy
方法名:xxx xxxYyy
常量名:XXX XXX_YYY