`
davidxiaozhi
  • 浏览: 237236 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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,限制字段长度。

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics