首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
面试题
jiangxia_1024
创建于2021-07-20
订阅专栏
总结一些面试中常见的问题!
等 5 人订阅
共113篇文章
创建于2021-07-20
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
多线程写入同一个文件的不同部分是线程安全的吗
多线程写入同一个文件的不同部分是线程安全的,只要对文件的操作是原子性的。但是,如果多个线程同时写入同一个文件的同一部分,就会出现线程安全问题,需要采取相应的措施来避免。
为什么Synchronized 是非公平锁?
公平锁和非公平锁是指在多线程环境下,如何对锁进行获取的顺序和策略的不同。 公平锁是指多个线程按照申请锁的顺序来获取锁,即先到先得的策略。
CopyOnWriteArrayList你了解多少?
CopyOnWriteArrayList是Java集合框架中的一种线程安全的List实现。它的原理是在写入时先复制一份原有数据,在新的数据副本上进行修改,修改完成后再将副本替换原有数据。这种实现方式在
排序算法:详解桶排序算法及其java实现
桶排序的核心思想就是根据对待排序元素分配桶的过程,在可以确定需要排列的数组的范围时,可以生成该数值范围内有限个桶去对应数组中的数,然后将遍历的元素放入匹配的桶里,该过程可以看成是分类的过程,在分类完成
排序算法:详解堆排序算法及其java实现
堆排序的核心思想就是根据需要排序的原则(升序还是降序)构造大顶堆和小顶堆的过程,每次构造的堆的根元素就是待排序的数组中最大和最小的元素,并且将该元素与数组最后一个元素进行调换,通过递归操作
排序算法:详解归并排序算法及其java实现
归并排序的核心是分治和递归,通过递归操作对原始数组的拆分成尽可能小的数组,然后对小数组进行归并操作和比较排序,从而实现了最终元素的有序。归并排序和快排都是采用分治和递归的思想,但是归并排序的时间复杂度
排序算法:详解快速排序算法及其java实现
快速排序是在冒泡排序的基础之上采用了二分的思想对其进行改进,每次的排序过程都需要定一个基准值,小于基准的放在基准的左边,大于基准的放在基准的右边。从而导致每次的交换过程中不会像冒泡排序一样在相邻的元素
排序算法:详解希尔排序算法及其java实现
希尔排序的核心逻辑就是根据一定的增量对待排序数组进行分组,每次对分组的组内元素进行直接插入排序,直至增量为1,即最后对整个数组进行一次直接插入排序。
排序算法:详解插入排序算法及其java实现
插入排序原理就是比较和移动,将原始数组分为有序数组和待排序数组,每次排序过程都用待排序数组的第一个元素和前面的有序数组进行比较和移动。所以最好情况下的时间复杂度是o(n),最差和平均复杂度都为O(N²
排序算法:详解选择排序算法及其java实现
选择排序原理就是每次从未排序的队伍中选择一个最小或者最大的元素放到已排序队伍中的队尾,并交换当前位置上元素和该次选择最小元素的位置,直到未排序队伍中仅剩一个元素,即为最大或最小的元素。需要交换的次数也
注解@Repository 与 @Mapper的异同点
@Repository和@Mapper注解都是用在持久层的接口之上使得其生成代理对象bean,并且交给spring容器管理。
面试题系列:为什么有了基本类型还要有包装类型?
基本数据类型和包装类型的具体使用场景不同,它们之间可以起到一个相互补充的作用,丰富了数据类型的操作,所以基本数据类型和包装类型在java中都是很重要的。
面试题系列:HashMap底层实现原理解析
关于HashMap的问题被问到的频率很高,基本就是对于hashmap使用多吗?请说说看hashmap的底层原理?所以这里对关于HashMap的知识点总结一下。所以如果有不正确的地方欢迎讨论指正!
MySQL数据库优化的几种方式(笔面试必问)
数据库优化不仅是笔面试中常问的知识点,在实际的开发应用中也会经常用到,如果有不正确的地方欢迎讨论指正!并且如果有其他更好的方法或者本文没有提及的地方,也欢迎交流讨论!
一起学习SQL中各种join以及它们的区别
我们在写sql语句的时候,最痛苦的就是涉及到多张表的联合查询,尤其是各种表的各种链接,什么inner join、left join、right join、union、union all,一看到这个也许
从零开始学设计模式(二十二):命令模式(Command Pattern)
命令模式就是对命令的封装,就是把一系列的操作写到一个方法中,然后供客户端调用就行了。主要的作用就是对请求发送者与接收者进行解耦。
从零开始学设计模式(二十一):解释器模式(Interpreter Pattern)
解释器模式(Interpreter Pattern)指的是给定一种语言,定义它的文法的一种表示,并定义一个解释器,这个解释器就是被用来解释这门指定语言中句子。它是一种类行为型模式。
从零开始学设计模式(二十):迭代器模式(Iterator Pattern)
迭代器模式主要是提供了一种访问一个容器对象中各个元素的方法,并且不会暴露该对象的内部细节。但是很多语言在实现容器的时候都提供了迭代器,所以可以一般采用语言提供的迭代器模式就可以了。
从零开始学设计模式(十九):责任链模式(Chain of Responsibility Pattern)
责任链模式指的是当有请求发生时,可将请求沿着这条责任链链传递,直到有对象处理它为止,即如果满足处理的条件,则该具体的处理子类就处理这个请求,否则由nextHandler来处理,以此类推。
从零开始学设计模式(十八):状态模式(State Pattern)
状态模式(State Pattern)指的是将一个对象的状态从该对象中分离出来,封装到专门的状态类中,使得对象状态可以灵活变化,在其内部状态改变时改变它的行为。状态模式是一种对象行为型模式。
下一页