- UDP和TCP协议的区别
要点:
有无连接、
对网络资源的开销大小、
可靠性(数据检验、拥塞控制、超时重传、流量控制、三次握手、四次挥手)、面向字节流、面向数据报,是否保证顺序性?
应用场景 tcp如何解决粘包问题?
TCP
2.三次握手、四次挥手过程、为什么?
要点:
syn,syn+ack,ack
fin, ack,fin ,ack
重要的标志位SYN,ACK,ack,seq,连接状态
- Java中wait()和sleep()的区别
首先sleep和wait之间没有任何关系
sleep()是Thread类的方法,指的是当前线程暂停。
wait() 是Object类的方法, 指的占用当前对象的线程临时释放对当前对象的占用,以使得其他线程有机会占用当前对象。 所以调用wait方法一定是在synchronized 中进行 - 数据库连接池原理
数据库连接池原理:
因为创建连接和关闭连接的行为是非常耗时的,会显著降低软件的性能表现。解决办法就是先创建n条数据库连接Connection,循环使用,但是不进行关闭,这样再执行SQL语句,就不需要额外创建连接了,直接使用现成的连接就可以了,从而节约了创建连接和关闭连接的时间开销。 - GC原理和回收方式
与C语言开发人员需要手动进行内存资源的释放不同,Java提供垃圾回收机制,自动进行GC,将开发人员从容易犯错的内存资源管理中解放出来。
原理:当某个一个对象,没有任何引用指向它的时候,那么它就满足垃圾回收的条件,在适当的时候,JVM虚拟机进行GC将其回收,释放空间,以供后续再利用。
两种常见的回收机制:
-
定时回收
每隔30分钟进行一次回收,这种机制的弊端是如果垃圾产生的比较快,有可能30分钟之内垃圾已经把内存占用光了,导致性能变慢 -
当垃圾占到某个百分比的时候,进行回收
比如,当垃圾占到70%的时候,进行回收。 这种机制的弊端是,如果垃圾产生的频率很快,那么JVM就必须高频率的进行垃圾回收。 而在垃圾回收的过程中, JVM会停顿下来,只做垃圾回收,而影响业务功能的正常运行。
一般说来 JVM会采用两种机制结合的方式进行垃圾回收。
网友评论