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,限制字段长度。
相关文档:
采用欲扬先抑的手法谈谈java:
java没有指针只有引用是最大的败笔.正因为没有指针,很多操作要迂回婉转;垃圾收集机制也觉得是鸡肋,写个析构函数真的那么复杂吗, 有必要牺牲灵活性吗;函数调用的代价之高让人抓狂
但我还是选择了她:
java的纯面向对象特 ......
Bean Serializable Interface 的接口让BEAN可以串行化,将其变成一个可保存为以后使用的二进制流。当一个BEAN被系列化到磁盘上或者其他任何地方,其状态被保存起来,其中的属性值也不会改变。在BEAN的规范中,JSP并没有要求BEAN实现Serializable接口。但是,如果您希望自己控制您所创建的组件的serialization进程,或者您想 ......
(1)Java中的主方法public static void main(String args[])为什么要用static来修饰
因为java是完全面向对象语言,这个主函数其实是一个类的方法,这个方法在类没有生成对象的时候就必须被JVM调用,所以它必须是静态的成员函数.
(2)java语言中的public static void main(String[] args) 作用是什么.所做的事情又是什 ......
近期有个小CMS项目,由于服务器、人员以及管理制度等一系列问题,不得不采用Java Web+Access这种不伦不类的组合进行开发,期间遇到了一个小问题,那就是文章内容采用Access的“备注”类型存取时,发生自动截断的问题。也就是说,存进去10000字的文章,只能显示出3000 ......
JAVA 中共有三种WebService 规范,分别是JAXM&SAAJ、JAX-WS(JAX-RPC)、JAX-RS。
下面来分别简要的介绍一下这三个规范。
(1.)JAX-WS:
JAX-WS(Java API For XML-WebService),JDK1.6 自带的版本为JAX-WS2.1,其底层支
持为JAXB。早期的基于SOAP 的JAVA 的Web 服务规范JAX-RPC(Java API For
XML-Remote Proce ......