随笔分类 - 面试相关
摘要:1.背景 2.基本语法 public class Test01 { // 定义锁 static ReentrantLock reentrantLock = new ReentrantLock(); public static void main(String[] args) { // 获取锁 ree
阅读全文
摘要:1.背景 活锁的概念: 活锁出现在两个线程互相改变对方的结束条件,最后谁也无法结束 也叫着死循环,在这里作为一个概念理解 2.代码 package com.ldp.demo01; import com.common.MyThreadUtil; import lombok.extern.slf4j.S
阅读全文
摘要:1.背景 哲学家就餐问题是1965年由Dijkstra提出的一种线程同步的问题。 问题描述:一圆桌前坐着5位哲学家,两个人中间有一只筷子,桌子中央有面条。 哲学家思考问题,当饿了的时候拿起左右两只筷子吃饭,必须拿到两只筷子才能吃饭。 上述问题会产生死锁的情况,当5个哲学家都拿起自己左手边的筷子,准备
阅读全文
摘要:1.背景 面试官问:什么情况下会产生死锁?如何定位? 2.代码 package com.ldp.demo01; import com.common.MyThreadUtil; import lombok.extern.slf4j.Slf4j; /** * @author 姿势帝-博客园 * @add
阅读全文
摘要:1.背景 面试官问,如何暂停一个线程勒..... 说说你对park的理解....... 2.代码 package com.ldp.demo01; import com.common.MyThreadUtil; import lombok.extern.slf4j.Slf4j; import java
阅读全文
摘要:1.背景 面试官问,假设让你设计一个队列,你的思路是... 2.代码 package com.ldp.demo01; import com.common.MyThreadUtil; import lombok.extern.slf4j.Slf4j; import java.util.LinkedLi
阅读全文
摘要:1.背景 面试官问,,假设让你编写一个FutureTask,你的思路是..... 2.代码 2.1.GuardedObject对象 package com.common; /** * @author 姿势帝-博客园 * @address https://www.cnblogs.com/newAndH
阅读全文
摘要:1.背景 面试官问你知道多线程中join或Future的实现原理么? 2.代码 package com.ldp.demo01; import com.common.MyThreadUtil; import lombok.extern.slf4j.Slf4j; /** * @author 姿势帝-博客
阅读全文
摘要:1.背景 什么样的代码会导致线程不安全..... 有时后,子类继承重写父类方法后会导致线程不安全.... 2.代码演示 package com.ldp.demo01; import lombok.extern.slf4j.Slf4j; import java.util.ArrayList; impo
阅读全文
摘要:1.背景 其他不多说,很多时候面试会问 2.代码 package com.ldp.demo01; import com.common.MyThreadUtil; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import java.
阅读全文
摘要:1.背景 在实际开发中,我们可能会遇到终止某个线程的场景, 比如不断扫描数据库的发货订单时,这时候需停止扫描, 当然我们不能把程序关了,我们只希望停止扫描数据库这一个线程, 那么应该怎么办了? 这就可以使用线程中提供的interrupt()这个方法 2.案例演示 package com.ldp.de
阅读全文
摘要:1.背景 面试中经常会被问到: sleep 与 yield 区别 2.代码 直接看代码吧! package com.ldp.demo01; import com.common.MyThreadUtil; import lombok.extern.slf4j.Slf4j; /** * @author
阅读全文
摘要:1.大纲 2.课件 https://www.yuque.com/java51/avi/xevuo1 3.视频与代码 1.视频教程 2.视频资料领取,课程代码下载,加微信851298348,发送“juc”。 3.如果课程帮助到了您,希望您可以请作者喝杯咖啡,表示鼓励! 完美!
阅读全文
摘要:1.背景 多线程性能测试 JMH:简介 JMH is a Java harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages t
阅读全文
摘要:1.背景 接口压力测试是产品上线前很重要的一项测试,我们可以使用很多开源工具测试, 当然我们也可以简单的写一个多线程并发测试案例 2.代码 controller接口 /** * 查询订单 * * @return */ @RequestMapping("/api/order") public Obje
阅读全文
摘要:1.背景 在实际开发中,经常会遇到支付需求,当然就会有支付对账的需求.... 2.项目结构 3.代码 3.1.线程池配置对象 @Configuration @EnableAsync public class ExecutorConfig { /** * @return */ @Bean public
阅读全文
摘要:1.背景 大家好,我是一名地地道道的码农,平时在工作喜欢写博客, 一方面可以梳理技术点提升自己的技术,在遇到同样的问题时可以快速解决; 另一方面也想贡献自己的微博力量帮助其他遇到同样问题的人 后来觉得只是图文描述有时候不能很好的表达,就把一些博客整理录制成了视频教程 这样做的目的方便大家在上班的路上
阅读全文
摘要:1.背景 2.AOP的概念 AOP:用鸟语解释就是 面向切面编程,详细的解释大家可以看百度百科, 百度百科:https://baike.baidu.com/item/AOP/1332219?fr=aladdin 不过估计看了后还是一头雾水... 通俗的理解是:假设有方法M1、M2、M3....,现在
阅读全文
摘要:1.背景 该博客要解决的重要问题如下: spring的3种安全性问题,4种事务特性,5种隔离级别,7种传播行为 spring的3种安全性问题,4种事务特性,5种隔离级别,7种传播行为 spring事务: 什么是事务: 事务逻辑上的一组操作,组成这组操作的各个逻辑单元,要么一起成功,要么一起失败. 事
阅读全文
摘要:1.背景 实际开发中用到微信支付的概率非常大, 至于为什么这里不必要我多少...... 微信支付大体需要对接的核心接口有 其实大部分支付都是这些,就像上一节我们讲的支付宝支付一样 这里以常用的H5支付为例,其他的都是差不多的.... 值得注意的时候,微信支付最常用的就是H5支付和JSAPI支付,这两
阅读全文