美文网首页
面经整理

面经整理

作者: HamletSunS | 来源:发表于2019-07-28 13:24 被阅读0次
    1. UDP和TCP协议的区别
      要点:
      有无连接、
      对网络资源的开销大小、
      可靠性(数据检验、拥塞控制、超时重传、流量控制、三次握手、四次挥手)、面向字节流、面向数据报,是否保证顺序性?
      应用场景 tcp如何解决粘包问题?
      TCP

    2.三次握手、四次挥手过程、为什么?
    要点:
    syn,syn+ack,ack
    fin, ack,fin ,ack
    重要的标志位SYN,ACK,ack,seq,连接状态

    1. Java中wait()和sleep()的区别
      首先sleep和wait之间没有任何关系
      sleep()是Thread类的方法,指的是当前线程暂停。
      wait() 是Object类的方法, 指的占用当前对象的线程临时释放对当前对象的占用,以使得其他线程有机会占用当前对象。 所以调用wait方法一定是在synchronized 中进行
    2. 数据库连接池原理
      数据库连接池原理:
      因为创建连接和关闭连接的行为是非常耗时的,会显著降低软件的性能表现。解决办法就是先创建n条数据库连接Connection,循环使用,但是不进行关闭,这样再执行SQL语句,就不需要额外创建连接了,直接使用现成的连接就可以了,从而节约了创建连接和关闭连接的时间开销。
    3. GC原理和回收方式
      与C语言开发人员需要手动进行内存资源的释放不同,Java提供垃圾回收机制,自动进行GC,将开发人员从容易犯错的内存资源管理中解放出来。

    原理:当某个一个对象,没有任何引用指向它的时候,那么它就满足垃圾回收的条件,在适当的时候,JVM虚拟机进行GC将其回收,释放空间,以供后续再利用。

    两种常见的回收机制:

    1. 定时回收
      每隔30分钟进行一次回收,这种机制的弊端是如果垃圾产生的比较快,有可能30分钟之内垃圾已经把内存占用光了,导致性能变慢

    2. 当垃圾占到某个百分比的时候,进行回收
      比如,当垃圾占到70%的时候,进行回收。 这种机制的弊端是,如果垃圾产生的频率很快,那么JVM就必须高频率的进行垃圾回收。 而在垃圾回收的过程中, JVM会停顿下来,只做垃圾回收,而影响业务功能的正常运行。

    一般说来 JVM会采用两种机制结合的方式进行垃圾回收。

    相关文章

      网友评论

          本文标题:面经整理

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