java基础面试题总结
1.局部变量在使用的时候必须已经被初始化
2.byte b=2,e=3
byte c=b+c; 会编译不通过,应为b+c会自动 类型提升位int 如果想得到 byte c 必须强制转型 byte c=(byte)b+c;
3.final、finally、finalize三者区别
final用来修饰成员变量、方法、或者一个类,修饰变量的时候表示该变量不可以在修改、修饰方法的时候表示该方法不可以被子类重写、
修饰类的时候表示该类不允许被继承是一个叶子类。finally是对异常处理的最佳补充,无论有无异常都会执行finally。finalize是jvm保证在调用该方法之前,该对象是不可到达的,及将要进行垃圾回收。但jvm不保证一定调用该函数。
4.什么事反射,反射的定义
反射的感念主要是指程序可以访问,检测和修改它本身状态和行为的一种能力。
5.说有引用本质上都是按值传递的,只不过对象参数传送的是引用而已。String对象特殊
例子
public static void main(String[] args) {
// TODO Auto-generated method stub
String aa="似懂,非懂,是发的,说,法,是";
dealstr(aa);
System.out.println(aa);
}
public static void dealstr(String str){
str.replaceAll(",", "_");
}
输出结果会是"似懂,非懂,是发的,说,法,是
6.静态变量只能用在方法、成员变量、内部类
7.wait() 和sleep的区别
sleep是让线程停止一段时间,在sleep结束后,线程不一定立即回复执行。这是因为 在那个时刻,其他的线程可能正在运行而且没有被调度成放弃执行。除非醒来的线程优先级最高。或者其他的正在运行线程发生堵塞。如果对一个线程发出wait命令,被调对象进入等待状态,除非被欢迎或者时间到。
8为什么stop()和supspend()方法,不推荐使用
主要因为stop不安全,他会解除由线程获取的全部锁定,supspend使用的时候目标线程会停下来,但却仍然持有在这之前或得全部锁定,如果其他线程试图恢复目标线程或解锁就会照成死锁
9,数据库优化
1.简历索引,2,建立分区,3,尽量使用固定长度字符串,4,限制字段长度。
相关文档:
Bean Serializable Interface 的接口让BEAN可以串行化,将其变成一个可保存为以后使用的二进制流。当一个BEAN被系列化到磁盘上或者其他任何地方,其状态被保存起来,其中的属性值也不会改变。在BEAN的规范中,JSP并没有要求BEAN实现Serializable接口。但是,如果您希望自己控制您所创建的组件的serialization进程,或者您想 ......
这几天的学习 让我感到发懵,老师讲的很多,自己就根本无法去思考,只能一个劲的往里听,自己代码也不怎么会,老师讲过的能有个印象, 不过今天还好,讲到了Java基础加强,稍微感觉好点,并不是很难理解了,今天就开始今天课程的复习了,要想进步,只有自己艰苦努力啦!
确 ......
/*
*日期:2010-04-18 11:37
*开发者:heroyan
*联系方式:zndxysf@126.com
*功能:无向图最小生成树Prim算法实现案例
*/
import java.util.Scanner;
import java.util.Arrays;
import java.util.ArrayList;
public class SpanningTree{
private static int MAX = 100;
private double cost[][] = new doubl ......
Java提供了数种持有对象的方式,包括语言内置的Array,还有就是utilities中提供的容器类(container
classes),又称群集类(collection classes)。集合在java中非常重要,在讨论之前,先来看几个面试中的经典问题。
1 Collection 和
Collections的区别。
2 List, Set, Map是否继承自Collection接口。 ......
1.static声明变量的用法在基础知识里面;
Java里面static用来声明函数的作用:
A.可以不用创建对象(实例),而直接调用——类.方法
B.用于main函数的方法
2.new——分配空间问题
有多少ne ......