对于一个不重复的有序数组,进行二分查找是最简单的,最容易些的,但是实际情况可能并不总是这么简单,而是多种复杂的… 继续阅读 数据结构与算法之二分查找法 复杂场景应用
数据结构与算法之二分查找法
二分查找法 对一个已排序数组进行查找,查找方法是每次取数组中间位置的数和当前查找数比较,如果查找数等于当前这个… 继续阅读 数据结构与算法之二分查找法
数据结构与算法之快速排序
核心思想:从要排序的一组数据中取出任意一个数x,作为分区点,将小于x的数放到其左边,将大于x的数放到其右边,x… 继续阅读 数据结构与算法之快速排序
数据结构与算法之归并排序
归并排序(Merge Sort) 归并排序的核心思想并不复杂,要排序一个数组,我们先把数组从中间分成前后两部分… 继续阅读 数据结构与算法之归并排序
如何做一个合格的面试官
如何做好一个面试官,这不仅仅对自己来说很重要,对企业也是非常重要的,这关乎企业的形象和口碑,能够招揽到优秀人才… 继续阅读 如何做一个合格的面试官
冒泡排序、插入排序、选择排序性能对比
冒泡排序、插入排序和选择排序三种排序的时间复杂度都是O(n^2),我们来对比一下它们之间的性能差异。 我们随机… 继续阅读 冒泡排序、插入排序、选择排序性能对比
数据结构与算法之选择排序
选择排序(Selection Sort) 核心思想:数据分为已排序区间和未排序区间。选择排序每次会从未排序区间… 继续阅读 数据结构与算法之选择排序
数据结构与算法之插入排序
插入排序(Insertion Sort) 核心思想:将数组中的数据分为两个区间,已排序区间和未排序区间。初始已… 继续阅读 数据结构与算法之插入排序
数据结构与算法之冒泡排序
冒泡排序(Bubble Sort) 每次比较相邻的两个数的大小。一次冒泡会找出数据中的最大值,放到数组最后。n… 继续阅读 数据结构与算法之冒泡排序
数据结构与算法之递归
递归:分为递和归两个动作。简单通俗的来说,就是当前步骤发现自己处理不了,那么就“递”出去,让别人处理;每个步骤… 继续阅读 数据结构与算法之递归
单链表反转 代码示例与核心逻辑说明
单链表如何实现反转? 实现效果: null -> e1 -> e2 -> e3 反转后: n… 继续阅读 单链表反转 代码示例与核心逻辑说明
IDE Idea terminal使用说明
开发IDE Idea terminal Idea 的terminal是一个终端工具,能让我们在idea中直接做… 继续阅读 IDE Idea terminal使用说明
SqlServer 基于表关联进行更新SQL语法
SqlServer 基于表关联进行更新SQL语法,格式如下: SQL例子:
Java并发编程可见性bug和demo示例
Java并发编程导致bug的因素有三个:原子性、可见性和有序性。 我们这里用一个demo来看一下可见性的问题。… 继续阅读 Java并发编程可见性bug和demo示例
单例设计模式的4种创建方式
单例模式的创建方式众多,这里列出4种创建方式,分别是懒汉式、饿汉式、静态内部类和枚举类单例。 下面的demo代… 继续阅读 单例设计模式的4种创建方式
Mybatis-plus分页插件配合导致distinct无效
首先说一下问题场景:在使用mybatis-plus进行分页,分页数据是一个一对多的查询结果集,并且,结果集的s… 继续阅读 Mybatis-plus分页插件配合导致distinct无效
java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed
应用访问数据库报错如下:java.sql.SQLNonTransientConnectionException… 继续阅读 java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed
Java并发CyclicBarrier
CyclicBarrier能阻塞一组线程直到某个事件的发生。栅栏与闭锁的关键区别在于,所有的线程必须同时到达栅… 继续阅读 Java并发CyclicBarrier
Java并发Semaphore
Semaphore限制一个可以同时访问共享资源的总数,好比多个线程获取一定数据的许可证,获取到了许可证的都可以… 继续阅读 Java并发Semaphore
Java并发CountDownLatch
CountDownLatch是闭锁的一种应用类,允许一个或多个线程等待某些操作完成,它是采用倒数检查控制线程的… 继续阅读 Java并发CountDownLatch