首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
每天一个小demo
bkpp976
创建于2021-12-05
订阅专栏
主要写一些小demo来加深对各种概念、原理的理解
等 4 人订阅
共18篇文章
创建于2021-12-05
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
left join 和right join的区别?
left join: 返回包括左表中的所有记录和右表中连接字段相等的记录,如果右表中没有对应数据,按null补充 right join: 返回包括右表中的所有记录和左表中连接字段相等的记录,如果左表中
union和union all的区别
总的来说,union去重且排序,union all不去重不排序,因此,union all的执行效率比union高。在确定不需要去除重复项的前提下,优先选择union all。 创建两张表user1、u
最长递增子序列的一点延伸:信封嵌套
从排序方法的比较器开始、对匿名内部类、函数式接口、lambda表达式等Java语言特性有了新的了解和认知
关于SpringBoot中使用分页插件pagehelper
一、手写sql select * from user limit (pageNum-1)*pageSize,pageSize; pageNum:当前页数,从第一页开始; pageSize:每页显示的行
JUC中的线程同步器原理2-CyclicBarrier
CountDownLatch的局限性 CountDownLatch的计数器时一次性的,也就是等到计数器值变为0后,再调用CountDownLatch的await()和countDown()都会立即返回
JUC中的线程同步器原理1-CountDownLatch
一、CountDownLatch 在开发环境中会有这么一个场景:在主线程中开启多个线程并行执行任务,并且主线程需要等待所有子线程执行完毕后再进行汇总。 直接手动创建线程: 使用线程池对线程进行管理 在
彻底搞懂Java的双亲委派模式
一、类与类加载器 对于任意一个类,都必须由加载它的类加载器和这个类本身一起确定其在Java虚拟机中的唯一性。比较两个类是否”相等“,只有在这个类是由同一个类加载器加载的前提下才有意义,否则,即使这两个
设计模式-工厂方法模式
工厂方法模式(Factory Method Pattern)又叫虚拟构造函数(Virtual Constructor)模式或者多态性工厂(Polymorphic Factory)模式。工厂方法模式的用
设计模式-代理模式
代理模式的定义 为其他对象提供一种代理以控制对这个对象的访问 抽象主题(Subject)角色 该角色是真实主题和代理主题的共同接口,以便在任何可以使用真实主题的地方都可以使用代理主题。 代理主题(Pr
Java反射的原理以及应用场景
一、静态加载类和动态加载类 静态加载类:new创建对象,是静态加载类,在编译时刻就需要加载所有可能用到的类 动态加载类:在运行时加载 反射是一种动态加载类的机制 二、反射的优劣 优点:运行时类型的判断
Java中的一些基础知识
1.1 不可变类 不可变类(Immutable class)是指当一个对象一旦被创建出来,在其整个生命周期中,它的成员变量就不能被修改。在Java类库中,所有基本类型的包装类都是不可变类,如Integ
Sleep和yield
Sleep 调用sleep会让当前线程从RUNNABLE进入TIME_WAITING(阻塞)状态 可以看到,首先线程t1执行,此时状态是RUNNABLE(java中线程的就绪态和运行态都是RUNNAB
创建并启动一个java线程的时候会发生什么
通过源码分析通过Thread、Runnable、FutureTask+Callable创建线程的底层原理
为什么启动一个线程要用start()而不是run()?
1、直接调用线程的run()方法 可以看到主线程在t1.run()运行之后再过三秒才继续运行,也就是说,直接在主方法中调用线程的run()方法,并不会开启一个线程去执行run()方法体内的内容,而是同
两阶段终止线程
怎么优雅地关闭一个线程? 在一个线程T1中如何优雅地关闭线程T2(也就是说要给T2一个机会释放持有的资源)? 错误做法 1、使用stop()方法停止线程 stop()方法会真正杀死线程,如果此时该线程
模拟Java多线程环境下的死锁
1、死锁产生的条件 互斥:一次只有一个进程可以使用一个资源。其他进程不能访问已分配给其他进程的资源。 不可抢占:不能抢占进程已占有的资源 请求和保持:当一个进程等待其他进程释放资源时,继续占有已经分配
synchronized关键字
1、synchronized锁的底层实现原理 JVM基于进入和退出Monitor对象来实现方法同步和代码块同步。代码块同步是使用monitorenter和monitorexit指令实现的,monito
volatile关键字
volatile在多处理器开发中保证共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另一个一个线程立马可以读到这个修改的值。 1.volatile实现可见性的原理是什么? 有vola