首页 > 代码库 > 厦门中控

厦门中控

1.java中如何获取数组的长度?

 

如果是数组的话就是:数组.length属性;
如果是字符串的话就是:字符串.length()方法;
如果是集合的话就是:集合.size()方法

2.int和integer的区别?

 如:

int num = Integer.valueOf("12");

int num2 = Integer.parseInt("12");

通过基本数据类型的包装来的valueof和parseXX来实现String转为XX

泛型需要类。

1.int初值为 0  /// integer初值是null

2.int是基本类型,integer是int的包装类:用于数据类型转换

integer i =1;int ii = 1,两者会相等,因为会把integer自动拆箱为int,再去比较

如果两个都是新new出来的则不会相等。

 

3.string 和stringbuffer区别:

简单地说,就是一个变量和常量的关系。

StringBuffer对象的内容可以修改;适合经常插入 删除 修改的;StringBuffer:StringBuffer类属于一种辅助类,可预先分配指定长度的内存块建立一个字符串缓冲区。这样使用StringBuffer类的append方法追加字符 比 String使用 + 操作符添加字符 到 一个已经存在的字符串后面有效率得多。

String对象一旦产生后就不可以被修改,重新赋值其实是两个对象。所以可以用来共享,

 

该方法的作用是追加内容到当前StringBuffer对象的末尾,类似于字符串的连接。调用该方法以后,StringBuffer对象的内容也发生改变,例如:
StringBuffer sb = new StringBuffer(“abc”);
sb.append(true);

 http://blog.csdn.net/lclai/article/details/6141548 

 

4.try有return的时候,finally还会执行吗?

finally不管有没有出现异常都会执行。

如关闭文件流,socket流等操作,finally会在return之前执行。

 

5. 3>>2    =0

 

换成2进制,取反加1

6.16进制换10进制:

16的一次方+16的二次方+16的三次方

 

10进制换16进制:

除以16取余数

商除以16取余数

倒着上

7.有一个5L的勺,一个6L的勺,弄出一个3L

A:5L 
B:6L
(1)5L的装满,全倒向6L中;此时B中有5L水(空1L).
(2)5L的再装满,再倒向6L中,此时只能倒入1L;此时A剩有4L水.
(3)把B中的的水全倒掉,把A中的4L倒入B中;此时B中有4L水(空2L),A为空.
(4)把A装满,倒向B,只能倒入2L,A中还剩3L.

 

 

map的实现类是hashmap

8. arraylist和linklist的区别?

arraylist是采用数组形式来保存对象的,这种方式使对象放在连续的位置上,插入删除时麻烦

linklist把对象存放在独立的空间里面,并且每个空间中还保存下一个链接的索引  查找麻烦,从第一个索引开始查找

 

9.封装 继承 多态?

封装:

把一些功能包装集成起来,隐藏内部实现机制,可以在不影响使用的情况下改变类的内部结构

同时也保护了数据,暴露给外界的只有它的访问方法。

好处:具体实现改变不用调整用户级别的代码

 

继承:

儿子继承父亲的特性

好处:能够复用代码,继承他是利用已经存在的类创建新的类,在新创建的类已经包含了 非private的成员 和 方法,并且还可以添加 新的属性和方法。

如果一个父类默认没有 构造函数,则子类在继承的时候要默认用 super来显示调用父类的构造函数 ,向上转型

 

多态:

分为重写/重载

重写:子类去重新写父类的方法

重载:一个类里的一个方法去表示他的多种形态

好处:只有在程序运行调用方法时才确定具体的类,可以不用修改源程序就可以修改改变程序运行的代码。

 

六、打印星星

打印金字塔和九九乘法表

 

int size = 5;
  for(int i = 0; i < size; i++){
   for(int x = 1; x <= size - i; x++){
    System.out.print(" ");
   }
   for(int j = 1; j <= i*2+1; j++){
    System.out.print("*");
   }
   System.out.println();
  }

 

int size = 5;
for(int i = 0; i < size; i++){
for(int x = 1; x <= size - i; x++){
System.out.print(" ");
}
for(int j = 1; j <= i*2+1; j++){
System.out.print("*");
}
System.out.println();
}

 

 

 

 

 

 

 

 

 

 

 

 

面试:

1.SSH的了解,介绍一下SSH

2.Servlet的生命周期

加载-->实例化-->服务-->销毁

 

加载:加载一般是在运行tomcat容器时来完成,将servlet类加载到tomcat中,或者是客户端发来请求时也可以。

实例化:一般是即读取配置信息、读取初始化参数等,这些基本上在整个生命周期中只需要执行一次。关于init()方法已经在积累GenericServlet中提供缺省实现,如果不需特殊处理则没有必要再进行定义,否则要重写。

服务一般是当容器接收到客户端请求时,Servlet引擎将创建一个ServletRequest请求对象和一个ServletResponse响应对象,然后把这两个对象作为参数传递给对应Servlet对象的service方法。(该方法是一个重点实现的方法,ServletRequest对象可以获得客户端发出请求的相关信息,如请求参数等,ServletResponse对象可以使得Servlet建立响应头和状态代码,并可以写入响应内容返回给客户端。在此说明一点,当Servlet中有doGet()或者doPost()方法时,那么service方法就可以省略,默认为调用这两个方法)

销毁:销毁一般是Servlet的卸载是由容器本身定义和实现,在卸载Servlet之前需要调用destroy()方法,以让Servlet自行释放占用的系统资源。虽然Java虚拟机提供了垃圾自动回收处理机制,但是有一部分资源却是该机制不能处理或延迟很久才能处理的,如关闭文件,释放数据库连接等。一般tomcat关闭,servlet就会被销毁,如果想提前销毁,可以写一个监听

 

 

3.servlet的方法

http://blog.csdn.net/besttaling/article/details/4734030 

4.doget和dopost的方法区别?

 

1.所传文件大小不一样

doGet方法:通过get方式提交的数据有大小的限制,通常在1024字节左右。
dopoat方法:post方式没有数据大小的限制,理论上传送多少数据都可以。

2.传值方式不一样
doget方法:url以key value带在url后面传值
dopost方法:表单提交方式
如果不指定method属性,则会默认该属性为”get”方式。
dopost处理表单带过来的值

(3)doGet()方法
  当一个客户通过HTML 表单发出一个HTTP GET请求或直接请求一个URL时,doGet()方法被调用。与GET请求相关的参数添加到URL的后面,并与这个请求一起发送。当不会修改服务器端的数据时,应该使用doGet()方法。
(4)doPost()方法
  当一个客户通过HTML 表单发出一个HTTP POST请求时,doPost()方法被调用。与POST请求相关的参数作为一个单独的HTTP 请求从浏览器发送到服务器。当需要修改服务器端的数据时,应该使用doPost()方法。

5.四大作用域分别在什么时候使用?(作用域就是信息共享的范围)

PageContext:
最小,在当前 页面(jsp)中有效,跳到其他页面就失效了。

request:一次请求范围内有效

session:浏览器进程,只要当前页面没有被关闭,都是有效的,默认30min

application:服务器,只要服务器没有重启,或被强制清楚,数据就有效







 

 

 

厦门中控