Java笔试知识点
总结一下最近找工作过程中笔试所涉及的知识点,比较杂,总结的也比较简单,本博客只用于加深记忆。
- 一、基本数据类型
1.逻辑型:boolean
2.文本型:char
3.整数型:byte,short,int,long
4.浮点型:float,double - 二、Jsp九大内置对象及作用
1.request:客户端请求,包含来自post/get请求的参数。
2.response:对客户端的响应,主要将jsp容器处理过的对象传回到客户端。
3.pageContext:可以取得其他八个内置对象的数据,自身也可以保存数据。
4.session:是由服务器自动创建的与用户请求相关的对象,服务器为每个用户都生成一个session对象,用于保存该用户的信息,跟踪用户的操作状态。
5.application:将信息保存到服务器中,直到服务器关闭信息才会失效。
6.out:用于在web浏览器内输出信息,并管理应用服务器上的输出缓冲区。
7.config:主要作用是取得服务器的配置信息。
8.page:代表jsp本身,只有在jsp页面才合法。
9.exception:主要作用是显示异常信息。 - 三、String、StringBuffer和StringBuilder的区别
String对象每次发生改变时都会重新创建一个新的String对象;
StringBuffer和StringBuilder为变量,发生改变时不会重新创建;
三者的运行速度(从快到慢):StringBuilder>StringBuffer>String
StringBuilder线程不安全,StringBuffer线程安全。 - 四、sleep()和wait()的区别
sleep()方法为线程类Thread的static方法,线程调用sleep()后会进入休眠状态,让出执行机会给其它线程,当休眠时间结束后,线程进入就绪状态和其它线程一起竞争cpu的执行时间。
注意:因为sleep()为线程类Thread的static方法,它不能改变对象的机锁,当一个synchronize块中调用sleep(),线程虽进入休眠状态,但是对象的机锁还没有释放,其它线程依然无法访问该对象。
wait()方法为object类的方法,当一个线程执行到wait()方法时,该线程会进入到一个与该对象相关的等待池,同时释放对象的机锁,使得其它线程可以访问。可以通过调用notify()方法和notifyAll()方法来唤醒等待的线程。
区别:sleep()方法为线程类Thread的static方法,wait()方法为object类的方法;
sleep()方法不会释放对象的机锁,wait()方法会释放对象的机锁。 - 五、将字符串反向输出、删除list中重复的数据
1.将字符串反向输出
//(1)调用StringBuffer的reveser()方法
StringBuffer sb = new StringBuffer(str);
sb.reveser();
//(2)利用for循环
StringBuffer sb = new StringBuffer();
for(int i=str.length()-1;i>=0<