首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
面试题系列
夏季的野兽
创建于2021-06-21
订阅专栏
记录一些常见的面试题已经自己的理解
等 2 人订阅
共26篇文章
创建于2021-06-21
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
夏季的野兽
1年前
后端
【字符串&回溯】——剑指 Offer38字符串的排列
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。 题目 输入一个字符串,打印出该字符串中字符的所有排列。 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 思路 1.这是一个典型的
139
1
评论
夏季的野兽
1年前
后端
里氏替换原则
这是我参与8月更文挑战的第31天,活动详情查看:8月更文挑战 里氏替换原则 定义 1.通俗来说,子类可以扩展父类的功能,但是不能改变父类原有的功能。 2.在程序中将一个父类对象替换成子类对象,程序将不
214
点赞
评论
夏季的野兽
1年前
后端
synchronized和ReentrantLock的区别
Java中常用的两个锁synchronized和ReentrantLock,那么它们在原理和使用上有什么区别呢? 二者的区别
689
4
评论
夏季的野兽
1年前
后端
CyclicBarrier&Semaphore
CyclicBarrier juc包下的CyclicBarrier类使用于例如人到齐了才能开会这种场景,它可以实现让一组线程相互等待
108
2
评论
夏季的野兽
1年前
后端
【排序】三种简单排序算法(冒泡排序、选择排序、插入排序)
这是我参与8月更文挑战的第19天,活动详情查看:8月更文挑战 冒泡排序 1.两两比较,如果前面的数比后面的大,则交换这两个位置上的数,这样每一轮下来都会确定一个剩余数中最大的数,经过n-1轮排序完成
731
2
评论
夏季的野兽
1年前
后端
【打表法】买苹果问题
这是我参与8月更文挑战的第17天,活动详情查看:8月更文挑战 题目 【题目】小虎去附近的商店买苹果, 奸诈的商贩使用了捆绑交易, 只提供6个每袋和8个每袋的包装包装不可拆分。 可是小虎现在只想购买恰好
92
1
评论
夏季的野兽
1年前
后端
Java
【锁】——读写锁
只要读读可以共存(允许多个线程同时读),其他情况都会有线程安全问题。 如果有一个线程想去写共享资源,就不应该在有其他线程可以对该资源
325
2
评论
夏季的野兽
1年前
后端
【双指针】——LeetCode26. 删除有序数组中的重复项
这是我参与8月更文挑战的第13天,活动详情查看:8月更文挑战 题目 给你一个有序数组 nums ,请你原地删除重复出现的元素,使每个元素只出现一次 ,返回删除后数组的新长度。 不要使用额外的数组空间
91
点赞
评论
夏季的野兽
1年前
后端
Java
可重入锁&不可重入锁
这是我参与8月更文挑战的第11天,活动详情查看:8月更文挑战 什么是可重入锁? 同一个线程可以重入上锁的代码段,不同的线程则需要进行阻塞 Java的可重入锁有:ReentrantLock(显式的可重入
939
10
评论
夏季的野兽
1年前
后端
Java
Java锁之公平锁&非公平锁
Java中锁有许多分类,如公平锁非公平锁,可重入锁,自旋锁等。这边先来介绍下公平锁和非公平锁。 公平锁:多个线程按照申请锁的顺序获得。
417
1
评论
夏季的野兽
1年前
后端
Java
ArrayList线程不安全&写时复制
ArrayList是常用的一个集合类,底层基于数组实现,但是它在并发环境下线程不安全,以下是简单的一些分析。
792
4
评论
夏季的野兽
1年前
后端
Java
CAS之ABA问题的解决方法
java.util.concurrent.atomic包下的AtomicInteger类可以对整数进行包装,AtomicStampedReferenc加入了版本号属性解决了ABA问题
635
9
评论
夏季的野兽
1年前
后端
Java
CAS的缺点
CAS保证并发性,但是需要多次比较 循环时间长,开销大,只能保证一个共享变量的原子操作,还会出现ABA问题
487
5
评论
夏季的野兽
1年前
后端
算法
【排序】堆排序
这是我参与8月更文挑战的第5天,活动详情查看:8月更文挑战 介绍 堆结构就是用数组实现的完全二叉树结构,也叫做优先级队列结构,堆排序是利用堆这种数据结构而设计的一种排序算法, 堆排序是一种选择排序,
252
2
评论
夏季的野兽
1年前
后端
Java
CAS底层原理
这是我参与8月更文挑战的第4天,活动详情查看:8月更文挑战 源码分析 CAS的底层原理是基于自旋操作和Unsafe类的 先来看下getAndIncrement方法的源码。
590
4
2
夏季的野兽
1年前
后端
Java
什么是CAS?
CAS(Compare And Swap/Set)比较并交换, CAS 算法的过程是这样:它包含 3 个参数CAS(V,A,B)。
276
4
评论
夏季的野兽
1年前
后端
Java
volatile在单例模式中的使用&双端检锁| 8月更文挑战
单例模式 单例模式常见的写法有懒汉模式,饿汉模式,双重检查模式等。 懒汉模式就是用的时候再去创建对象。 饿汉模式就是提前就已经加载好的静态static对象。 双重检查模式就是在加锁前和加锁后共两次检查
189
5
评论
夏季的野兽
1年前
后端
Java
volatile之防止指令重排| 8月更文挑战
volatile可以防止指令重排,在多线程环境下有时候我们需要使用volatile来防止指令重排,来保证代码运行后数据的准确性 什么是指令重排? 计算机在执行程序时,为了提高性能,编译器和处理器一般会
1375
19
评论
夏季的野兽
1年前
后端
Java
volatile之不保证原子性
「本文已参与好文召集令活动,点击查看:后端、大前端双赛道投稿,2万元奖池等你挑战!」 volatile无法保证原子性,那么什么是原子性呢? 原子性 事务是最小的执行单位,不允许分割。事务的原⼦性确保动
574
3
评论
夏季的野兽
1年前
后端
Java
volatile之保证可见性
「本文已参与好文召集令活动,点击查看:后端、大前端双赛道投稿,2万元奖池等你挑战!」 volatile介绍 Java 语言提供了一种轻量级的同步机制,即 volatile 变量,也叫轻量级锁,用来确保
1139
9
5
下一页