java吧 关注:1,213,340贴子:12,658,994

回复:我王境泽就是饿死也不学java

只看楼主收藏回复

第七道:常见的异常类型
NullPointerExcption 空指针异常
ClassCastException 类型强制转换异常
IllegalArgumentException 传递非法参数异常
ArithmetioException 算数运算异常
IndexOutOfBoundsException 下标越界异常
NuberFormatException 数字格式异常
ClassNotFindException 加载请求异常


19楼2019-05-08 08:24
回复
    运行期常量池,class常量池,字符串常量池的区别是什么,分别在哪个区域。直接引用和符号引用的区别是什么


    来自iPhone客户端20楼2019-05-08 08:25
    收起回复
      第八道:Throws 和Throw 的区别
      位置上的区别:Throw 方法内部 Throws 方法名之后
      作用上的区别:Throw抛出异常 Throws声明异常
      个数上的区别:Throw一次抛出一个异常,Throws可以声明多个异常


      21楼2019-05-08 08:27
      回复
        第九道:Final,Finally,Finalize 关键字的作用
        final 用于声明属性 , 方法 ,类 分别表示 属性不可变 方法不可覆盖 类不可继承
        finally 是异常处理语句的结构的一部分,表示总是执行.不管是否有异常总是执,除非虚拟机停止才不执行
        finalize 是 Object 类的一个方法,在垃圾收集器执行的时候回调用被回收的对象的此方法可以实现资源回收,释放资源,例如关闭文件等JVM 不做保证此方法总被调用


        22楼2019-05-08 08:31
        回复
          第十道:Final 关键字的作用
          -修饰类:(最终类) 不能被子类继承
          -修饰方法(最终方法)不能被子集重写
          -修饰变量(常量)一旦声明之后,不能再次修改其中的值


          23楼2019-05-08 08:33
          回复
            我是千锋


            来自Android客户端24楼2019-05-08 08:47
            回复
              楼主在哪里


              来自Android客户端25楼2019-05-08 08:48
              回复
                第十一道:
                Hashtable与HashMap的区别
                Hashmap 允许空(null) 键值(key) ,非线程安全,效率高.在多个线程访问时必须提供外同步
                Haspam是Java1.2印记你的Mapinterface的一个实现
                Hashtable 不允许key的值为null值,线程安全,但是效率低
                HashMap 吧Hashtable 的contains方法去掉了,改成containsvalue 和 containKEY
                Hastable 和HashMap 采用的 hash/rehash算法大致一致,所以性能不会有很大的差异


                26楼2019-05-09 14:08
                回复
                  第十二道:线程和进程的区别
                  线程是指在程序执行过程中,能够执行程序代码的一个基本执行单位,每个程序至少都有一个线程,也就是程序本身.
                  Java中的线程有四种状态: 运行,就绪,挂起,结束
                  进程是程序的进本执行实体,是线程的容器
                  进程具有的特征:
                  动态性: 进程是程序的一次执行过程,是临时的,有生命期的,是动态产生,消亡的
                  并发性:任何进程都可以同其他进程一起并发执行
                  独立性:进程是系统进行资源分配和电镀的一个独立单位
                  结构性:进程由程序.数据和进程控制块三部分组成
                  线程和进程的区别:
                  1.隶属关系:线程是进程中的一部分,一个进程中可以包含若干个线程.进程可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体
                  2.地址空间和其他资源,进程间相互独立,.泳衣进程的个线程间共享,某进程内的线程在其他进程不可见.在引入线程的操作系统中,通常都是把进程作为分配资源二房东基本单位,二八线程作为独立运行和肚子调度的基本单位.
                  3.进程间通信,线程间可以直接读写进程数据段 来进行通信. 需要进程同步和互斥手段的辅助,以保证数据的一致性
                  4.调度和切换:线程上下文切换比进程上下文切换要快的多


                  27楼2019-05-09 14:20
                  回复
                    第十三题:实现多线程程序的两种方式
                    一.继承Thread类
                    二.实现Runnable 接口
                    同步实现的方法有两种:
                    Wait( ) 使一个线程处于等待状态,并且释放所持有对象的lock
                    notify(); 唤醒一个处于等待状态的线程.在调用次方方法的时候,并不能确切的唤醒某一个等待状态的线程,而是又JVM确定唤醒那个线程,不是按优先级
                    用ysnchronized 关键字修饰同步方法反对使用stop(),是因为他不安全
                    suspend() 方法容易发生死锁.调用suspend() 的时候 目标线程会听袭来,但仍然持有在这之前获得的锁定.此时其他任何线程都不能访问锁定的资源. 除非被"挂起"的线程回复运行. 对任何线程来说,如果他们想恢复目标线程,同时又试图使用任何一个锁定的资源,就会造成死锁. 所以不应该使用suspend() ,而应在自己的Thread类中置入一个标志,支出线程应该活动还是挂起.若标志支出线程应该挂起,边用wait() 命其进入等待状态. 若标志支出线程应该恢复,则用同一个notify() 重新启动线程


                    28楼2019-05-10 08:21
                    回复
                      第十四道:List Set Collection Collections
                      List 和 Set 都是接口 ,他们都继承于接口Collection,List 是一个有序的可重复,Set是一个有序不可重复的集合. Collection 是集合的顶层接口,Collections 是一个封装了众多关于集合操作的静态方法的工具类,因为构造方法是私有的,所 以不能实例化.
                      List接口实现类有 ArrayList LinkedList , Vector ArrayList 和Vector 是基于数组实现的,所以查询的时候速度快,而在进行增加和删除的时候速度较慢 LinkList 是基于链式存储结构,所以在进行查询的时候后速度较慢,但是在进行增加和删除的时候速度较快,又因为Vector 是线程安全的,所以他和ArrayList 相比而言,查询效率要低


                      29楼2019-05-10 08:43
                      回复
                        第十五道:sleep()和wait()有什么区别
                        sleep 是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动回复.调用sleep不会释放对象锁.
                        wait是Object 类的方法,对此对象调取wait 方法导致本线程放弃对象锁,进入等待此对象的待锁定池,只有针对此对象发出的notify方法或(notifyall) 后本线程猜进入对象锁定池准备获取对象锁进入运行状态
                        相同点在于都会造成线程阻塞


                        30楼2019-05-11 08:19
                        回复
                          第十六道:error 和exception有什么区别
                          error表示恢复不是不可能,但很困难的情况下的一种严重问题.比如内存溢出.不可能指望程序能处理这样的情况.
                          exception 表示一种设计或实现问题.也就是说,它表示如果程序运行正常,从不会方法情况


                          31楼2019-05-11 08:22
                          回复
                            第十七道:heap(堆)和stack(栈)有什么区别
                            java的内存分两类,一类是栈内存,一类是堆内存.栈内存是指程序进入一个方法时,会为这个方法单独分配一块私属存储空间,用于存储这个方法内部的局部变量,当这个方法结束时,分配给这个方法的栈会释放,这个站中的变量也将随之释放.
                            堆与栈作用不同的内存,一般用于存放不放在当前方法栈中的那些数据,例如,使用new 创建的对象都在堆里,所以他不会随方法的结束而消失.方法中的局部变量勇士final 修饰会,放在堆中,而不是栈中


                            32楼2019-05-11 08:29
                            回复
                              第十八道GC是什么?为什么要有GC?
                              GC是垃圾收集的意思 (GabageCollection), 内存处理是编程人员容易出现的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,java提供的GC功能可以自动检测对象是否超过作用于从而达到自动回收内存的目的,java语言没有提供释放已分配内存吧的显示操作方法.


                              33楼2019-05-11 08:32
                              回复