美文网首页
2021-01-13【Java基础题】

2021-01-13【Java基础题】

作者: 你家门口的两朵云 | 来源:发表于2021-01-18 08:15 被阅读0次

    74、什么是Java序列化,如何实现Java序列化?或者请解释Serializable接口的作用。

    1.将一个Java对象变成字节流的形式传出去或者从一个字节流中恢复成一个Java对象,
    2.jre本身就提供了这种支持,我们可以调用OutputStream的writeObject方法来做,
    3.如果要让Java 帮我们做,要被传输的对象必须实现serializable接口,这样,javac编译时就会进行特殊处理,编译的类才可以被writeObject方法操作,这就是所谓的序列化。
    4.需要被序列化的类必须实现Serializable接口,该接口是一个mini接口,其中没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的。 
    

    78、垃圾回收的优点和原理。并考虑2种回收机制。

    1.Java语言中一个显著的特点就是引入了垃圾回收机制,它使得Java程序员在编写程序的时候不再需要考虑内存管理。
    2.由于有个垃圾回收机制,Java中的对象不再有"作用域"的概念,只有对象的引用才有"作用域"。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。
    3.垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。
    ===============================================
    4.回收机制有 '分代复制垃圾回收和标记垃圾回收','增量垃圾回收'。
    

    79、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?

    1.对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。
    2.通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象。3.通过这种方式确定哪些对象是"可达的",哪些对象是"不可达的"。
    4.当GC确定一些对象为"不可达"时,GC就有责任回收这些内存空间。可以。
    5程序员可以手动执行System.gc(),通知GC运行,但是Java语言规范并不保证GC一定会执行。
    
    88、TCP和UDP有什么区别?
    
    

    相关文章

      网友评论

          本文标题:2021-01-13【Java基础题】

          本文链接:https://www.haomeiwen.com/subject/ipzyaktx.html