![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java-复习
冼穆
没有签名
展开
-
Java-面试复习-整理04
目录锁悲观锁、乐观锁CAS:compare and swapAQS重入锁公平性锁和非公平性锁volatile和synchronized区别虚拟内存锁悲观锁、乐观锁悲观锁: 每次对数据的操作,都会担心数据被修改,所以在每次操作时都需要加锁,只有获取锁的线程才能操作该数据,操作该数据的其他线程就会被阻塞(synchronized锁就是悲观锁的体现) 使用场景:写多读少乐观锁: 每次对数据的操作,都不会担心数据被修改,当对数据进行读取操作,不需要进行加锁,当更新数据时,需要判断数据是否被原创 2020-10-16 16:26:33 · 102 阅读 · 0 评论 -
Java-面试复习-整理03
目录一些算法排序算法分治动态规划一些算法排序算法1.冒泡:1.时间复杂度:平均O(n2),最好O(n),最坏O(n2) 空间复杂度:O(1) 稳定(没有发生跳跃式的交换:排序前后相同数字的前后顺序没有改变) 每次将最大的数放到后面 public static int[] bubbleSort(int[] arr) { if(arr == null || arr.length <= 1){ return arr; }原创 2020-10-16 16:26:25 · 86 阅读 · 0 评论 -
Java-面试复习-整理02
目录面向对象三大特性封装继承多态一些模式单例模式面向对象三大特性封装 封装就是把同一类事物的共性(包括属性和方法)归到同一类中,方便使用。也称信息隐藏,是指利用抽象数据类型把数据和基于数据的操作封装起来,使其成为一个不可分割的整体,数据隐藏在抽象数据内部,尽可能的隐藏数据细节,只保留一些借口使其与外界发生联系。也就是说用户无需知道内部的数据和方法的具体实现细节,只需根据留在外部的接口进行操作就行。 封装的实现:需要修改属性的访问控制符(修改为private),创建getter/setter方原创 2020-10-16 16:25:50 · 152 阅读 · 0 评论 -
Java-面试复习-整理01
目录一些集合HashMap和HashTable的异同HashMap如何解决线程安全问题?ConcurrentHashMapArrayList两种拷贝ArrayList和数组有什么区别?ArrayList、LinkedList的异同点TCP和UDPTCP和UDP的区别TCP数据可靠性的体现三次握手四次挥手String、stringbuilder、stringbuffer多线程一些集合HashMap和HashTable的异同相同点: 1.底层数据结构都为数组+链表 2.key都不能重复原创 2020-09-05 00:17:15 · 192 阅读 · 0 评论