Java面试题 Java 2022-03-08 Synchronized与ReentrantLock的区别 底层原理区别 底层实现上来说,synchronized 是JVM层面的锁,是Java关键字,通过monitor对象来完成(monitorenter与monitorexit),对象只有在同步块或同步方法中才能调用wait/notify方法, ReentrantLock 是从jdk1.5以来(java.util.concurrent.locks.Lock)提供的API层面的锁。 Read More
Java面试题 Java 2022-03-08 Java笔试题收集 TCP、UDP区别 TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接 TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付 TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的,UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等) TCP首部开销20字节;UDP的首部开销小,只有8个字节 Read More
Java集合 Java 2022-03-08 LinkedList 概述 LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。 LinkedList 实现 List 接口,能对它进行队列操作。 LinkedList 实现 Deque 接口,即能将LinkedList当作双端队列使用。 LinkedList 实现了Cloneable接口,即覆盖了函数clone(),能克隆。 Read More
Java进阶 2022-03-08 类加载 类加载过程加载,验证,准备,解析,初始化,使用,卸载 加载 使用 new 关键字实例化对象,读取或者设置一个类的静态变量(被 final修饰的除外,已经在编译器被加入常量池),以及调用一个类的静态方法的 时候 对类进行反射调用的时候 当初始化一个类时,如果其父类没有被加载,则先对其父类进行加载 Read More
Java进阶 2022-03-08 注解 Java从1.5引入了注解(Annotation),使得Java具有动态语言的特性。 Java中常用的注解有: @Override @Deprecated Read More