java吧 关注:1,308,059贴子:12,884,208

【学习】【直播】【长期】【常见的面试题,标题要长长长长长长的】

取消只看楼主收藏回复

各种java面试题,包括技巧,概念
面试中最容易碰到的问题↑↑↑↑
有人一起来么,没人看就沉
5L开始发


1楼2012-03-02 14:33回复
    看我签名乐一乐,坐等沉贴


    3楼2012-03-02 14:37
    回复
      2026-08-26 07:56:17
      广告
      不感兴趣
      开通SVIP免广告
      运行时异常与一般异常有何异同?
      异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。


      6楼2012-03-02 14:39
      回复
        2、&和&&的区别。
        &是位运算符,表示 按位与运算,&&是逻辑运算符,表示 逻辑与(and)。


        7楼2012-03-02 14:42
        回复
          没人看……
          表示我自己都在看
          3、什么是面向对象?
          你只要答 一切皆对象就哦了。
          4、类和对象
          直接举例,女优是一个类,苍老师是这个类的对象。嗯 就这么个意思


          8楼2012-03-02 14:47
          回复
            4、面向对象的特征有哪些方面?
            (1)抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。
            (2)继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
            (3)封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
            (4) 多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。


            9楼2012-03-02 14:49
            回复
              sure!


              11楼2012-03-02 14:51
              回复
                5、垃圾回收的优点和原理。并考虑2种回收机制。
                Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。


                13楼2012-03-02 14:53
                回复
                  2026-08-26 07:50:17
                  广告
                  不感兴趣
                  开通SVIP免广告
                  咳咳 美女是类,你媳妇是这个类的一个对象


                  15楼2012-03-02 14:54
                  回复

                    if(a==b&c==d) 如果a!=b 它还会判断c==d这个表达式,是按位
                    if(a==b&&c==d) 如果a!=b 不会判断c==d这个表达式。这就是逻辑短路


                    16楼2012-03-02 14:59
                    回复
                      6、请说出你所知道的线程同步的方法。
                      wait():使一个线程处于等待状态,并且释放所持有的对象的lock。
                      sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常。
                      notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。
                      Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。


                      19楼2012-03-02 15:02
                      回复
                        if(a==b&c==d)明显是逻辑运算只是&和&&的运算方式不一样


                        20楼2012-03-02 15:09
                        回复
                          7、final, finally, finalize的区别。<长期性用来坑大众的问题>
                          final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。
                          finally—再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。
                          finalize—方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。


                          22楼2012-03-02 15:10
                          回复
                            我没说错啊,&是位运算,if(a==b&c==d)是逻辑运算表达式,&可以是逻辑中的与,但是它是位运算。


                            23楼2012-03-02 15:15
                            回复
                              2026-08-26 07:44:17
                              广告
                              不感兴趣
                              开通SVIP免广告
                              位运算、逻辑运算是什么?是运算方式运算过程,+是加法运算的运算符有错么?
                              &是位运算的运算符有错么?
                              &&是逻辑运算的运算符有错么?
                              if(a==b&c==d)整个是一个逻辑运算表达式,不是说&是逻辑运算


                              26楼2012-03-02 15:20
                              回复