2022年10月16日

面试题:商品秒杀

摘要: 特点: 秒杀业务,商品有限,流量在短时间内急剧升高,大部分用户陪跑 售卖价格相对便宜,有黑产获利情况,安全手段 方案: 前端缓存过滤流量: 商品活动页面,进行静态化,CDN前端缓存; 商品活动页面,秒杀开始时间到来前,前端页面置灰商品抢购按钮,不可提交 服务端过滤流量: 用户重复提交限制 用户来源I 阅读全文

posted @ 2022-10-16 21:20 浪荡绅士 阅读(47) 评论(0) 推荐(0) 编辑

面试题:JAVA多线程交替打印ABC

摘要: JAVA实现,3个线程交替A,B,C,一共完成10次“ABC”打印,结束后打印“END”。 打印示例: abc abc abc abc abc abc abc abc abc abc END 分析: 打印10次ABC,3个线程分别打印A,B,C字符,打印完唤醒下一个线程,需要使用锁在子线程间精确唤醒 阅读全文

posted @ 2022-10-16 11:46 浪荡绅士 阅读(1194) 评论(0) 推荐(0) 编辑

2022年8月13日

从二叉树根节点搜索到指定结点的路径

摘要: LC 236题,二叉树的最近公共祖先:https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-tree/ 其中一种解法的关键,是找到从根节点到指定结点的路径。 public static boolean findPath(Tre 阅读全文

posted @ 2022-08-13 18:59 浪荡绅士 阅读(42) 评论(0) 推荐(0) 编辑

2021年2月21日

spring事务传播属性

摘要: spring事务传播属性定义在org.springframework.transaction.TransactionDefinition接口,类似于EJB CMT的事务传播属性定义,主要有以下几种类型: propagation说明 PROPAGATION_REQUIRED 支持当前事务,如果当前没有 阅读全文

posted @ 2021-02-21 15:33 浪荡绅士 阅读(77) 评论(0) 推荐(0) 编辑

缓存与数据库的一致性问题怎么解决

摘要: 关于Redis的其他的一些面试问题已经写过了,比如常见的缓存穿透、雪崩、击穿、热点的问题,但是还有一个比较麻烦的问题就是如何保证缓存一致性。 对于缓存和数据库的操作,主要有以下两种方式。 先删缓存,再更新数据库 先删除缓存,数据库还没有更新成功,此时如果读取缓存,缓存不存在,去数据库中读取到的是旧值 阅读全文

posted @ 2021-02-21 15:27 浪荡绅士 阅读(810) 评论(0) 推荐(0) 编辑

2021年2月12日

Java多线程之CyclicBarrier与CountDownLatch的异同

摘要: 背景 CyclicBarrier是java.util.concurrent包下提供的另外一个常用的线程组同步工具类,顾名思义,是个可循环利用的栅栏。同样参考javadoc上的定义: “A synchronization aid that allows a set of threads to all 阅读全文

posted @ 2021-02-12 15:11 浪荡绅士 阅读(95) 评论(0) 推荐(0) 编辑

Java多线程之CountDownLatch

摘要: 背景 在java.util.concurrent包中,有一个CountDownLatch的多线程同步器。含义参考javadoc的说明如下: “A synchronization aid that allows one or more threads to wait until a set of op 阅读全文

posted @ 2021-02-12 10:13 浪荡绅士 阅读(105) 评论(0) 推荐(0) 编辑

2018年11月6日

Java面试笔记

摘要: 1、Object类的hashCode函数有什么作用? 答:当类对象被放入哈希表等容器中时,以hashCode值作为桶的散列函数,进行散列。与Object.equals函数的关系是,如果equals方法返回的判定两个对象相等,则其hashCode应相等,否则对象放入哈希容器进行存储时,将无法正确访问。 阅读全文

posted @ 2018-11-06 00:17 浪荡绅士 阅读(216) 评论(0) 推荐(0) 编辑

2016年9月12日

Spring AOP示例与实现原理总结——传统spring aop、基于切面注入、基于@Aspect注解的实现

摘要: 一、代码实践 1)经典的Spring Aop 经典的spring aop,是基于动态代理技术的。实现方式上,最常用的是实现MethodInterceptor接口来提供环绕通知,创建若干代理,然后使用ProxyBeanFactory配置工厂bean,生成拦截器链,完成拦截。示例如下: xml文件配置: 阅读全文

posted @ 2016-09-12 00:10 浪荡绅士 阅读(11932) 评论(0) 推荐(0) 编辑

2016年9月5日

mac osx下安装redis-python客户端

摘要: 1、安装redis服务端 通过homebrew安装redis-server,命令行: 如果你没有安装homebrew,可以照着下面的命令行分别安装xcode命令行工具和homebrew,安装完redis-server后,在命令行直接运行redis-server命令,即可在本地启动redis的服务端: 阅读全文

posted @ 2016-09-05 14:16 浪荡绅士 阅读(424) 评论(0) 推荐(0) 编辑

导航