后端面试相关
后端常见面试题
小白上
喜欢分享学习的小白,帅
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java单例模式懒汉式&饿汉式
java单例模式原创 2022-10-21 18:17:41 · 151 阅读 · 0 评论 -
死锁以及如何解决死锁
什么是死锁两个或多个线程持有当前锁不释放,尝试去申请其他线程的锁,且只有申请到其他线程锁时才可以释放当前锁,因此形成死循环,也即是死锁死锁例子:// 死锁public class SolveDeadLockDemo { // 锁A private static final String LOCK_A = "lock_a"; // 锁B private static final String LOCK_B = "lock_b"; // 方法A p原创 2022-05-17 18:12:04 · 294 阅读 · 0 评论 -
不可重入锁编写
不可重入锁定义:同个线程重复获取锁失败,形成死锁,即不可重入锁// 不可重入锁public class UnReentrantLockDemo { // 是否加锁 private static boolean isLock = false; // 加锁 public synchronized void lock() throws InterruptedException { System.out.println("尝试申请锁。。。。"+Threa原创 2022-05-18 12:10:51 · 192 阅读 · 0 评论 -
可重入锁简单编写
可重入锁也叫递归锁,当前线程的外层方法获取锁成功之后,内层方法依旧可以获取锁,不会形成死锁// 可重入锁public class MyReentrantLock { // 是否加锁 private boolean isLocked = false; // 记录当前线程 private Thread threadOwner = null; // 记录加锁次数,重复加1,释放-1 private int state = 0; // 加锁原创 2022-05-18 12:35:48 · 257 阅读 · 0 评论 -
Java 静态代理、JDK动态代理和CGLib动态代理
静态代理由程序创建或者特定工具生成的源代码,在程序运行前,代理类的.class文件已经生成通过将目标类与代理类实现同一个接口,让代理类持有真实类对象,然后在代理类方法中调用真实类方法,在调用真实类方法的前后添加我们所需要的功能扩展代码来达到增强的目的public interface ClothFactory { /** * 生产衣服 */ void produceCloth();}// 被代理类public class NikeClothFactor原创 2022-05-17 00:25:57 · 218 阅读 · 0 评论
分享