Processing math: 100%

09 2024 档案

nginx限流和gateway限流的区别
摘要:两者的主要区别在于:Nginx主要通过限制单位时间内的请求数来实现限流,而Spring Cloud Gateway可以根据请求的不同属性(如IP地址,请求参数等)来实现更细粒度的限流。 nginx一般用来做流量网关,比方说我们限制一些特定的ip不让他请求过来。 gateway一般用来做业务网关。 阅读全文

posted @ 2024-09-27 17:23 ~码铃薯~ 阅读(79) 评论(0) 推荐(0) 编辑

你们系统的秒杀是如何设计的(面试题)
摘要:总结:上分布式架构、上各种缓存技术、搞一搞负载均衡之类的。提高并发的处理能力。防止超卖等问题,就需要使用分布式锁机制。事先将库存同步到redis里面,直接规避了数据库的操作。咱们可以在扣除库存成功之后,很多后续处理都可以基于mq这种异步的形式来完成。这个时候rocketmq的消息确认机制就是蛮合适的 阅读全文

posted @ 2024-09-27 17:06 ~码铃薯~ 阅读(43) 评论(0) 推荐(0) 编辑

并发编程面试题
摘要:在 java 中守护线程和本地线程区别 用户线程是程序创建的线程。 由jvm创建的线程是守护线程,比方说垃圾收集线程。 死锁与活锁的区别 ,死锁与饥饿的区别? 死锁 :是指两个或两个以上的进程( 或线程)在执行过程中 , 因争夺资源而造成的一种互相等待的现象 ,若无外力作用 , 它们都将无法推进下去 阅读全文

posted @ 2024-09-26 15:58 ~码铃薯~ 阅读(19) 评论(0) 推荐(0) 编辑

保全流程图
摘要:![image](https://img2024.cnblogs.com/blog/1527997/202409/1527997-20240923135738864-1624279973.png) 阅读全文

posted @ 2024-09-23 13:57 ~码铃薯~ 阅读(9) 评论(0) 推荐(0) 编辑

Lvs+keepalived知识点总结(面试)
摘要:LVS工作原理 Lvs是linux虚拟服务器。可以理解为lvs工作在linux内核空间。工作在四层协议上。 防火墙有五链四表 经典的lvs包括三种工作模式:VS/NAT模式 VS/TUN模式 VS/DR模式 NAT模式总结:说白了这种方式是linux内核自带的一种方式。说白了就是在lvs的那台机子上 阅读全文

posted @ 2024-09-22 19:41 ~码铃薯~ 阅读(49) 评论(0) 推荐(0) 编辑

面试要点
摘要:1.如何进行自我介绍 1、基本情况:姓名,年龄(年龄特别小,不要说),学校和专业(211,985,科班出身,最高学历) 2、最近一段时间的工作经验(一个最熟悉,技在栈最丰富的,互联网行业的经验项目),当前项目的价值,用到的技术体系,你在当前项目中承担的主要职责,和你解决的项目的主要问题应届生:教研室 阅读全文

posted @ 2024-09-22 16:12 ~码铃薯~ 阅读(11) 评论(0) 推荐(0) 编辑

spring常见面试题
摘要:介绍一下spring bean的生命周期(面试有被问到) 1.加载配置转化成spring bean的定义。 2.使用jdk反射根据bean的定义创建bean的实例并封装成beanwrapper。 3.执行populateBean()属性填充方法。 4.执行initializeBean()方法进行be 阅读全文

posted @ 2024-09-21 15:56 ~码铃薯~ 阅读(15) 评论(0) 推荐(0) 编辑

spring循环依赖源码剖析(含面试)
摘要:循环依赖源码剖析: protected <T> T doGetBean( String name, @Nullable Class<T> requiredType, @Nullable Object[] args, boolean typeCheckOnly) throws BeansExcepti 阅读全文

posted @ 2024-09-21 15:29 ~码铃薯~ 阅读(20) 评论(0) 推荐(0) 编辑

FTP服务器文件上传下载使用java代码实现
摘要:https://www.bilibili.com/video/BV1Jz421B736/?spm_id_from=333.337.search-card.all.click&vd_source=273847a809b909b44923e3af1a7ef0b1 阅读全文

posted @ 2024-09-16 17:16 ~码铃薯~ 阅读(3) 评论(0) 推荐(0) 编辑

nginx面试总结
摘要:nginx是一个可以做HTTP静态资源服务器、反向代理、负载均衡服务器。 nginx怎样做限流配置(面试被问到) 根据nginx官网提供的说法,有两种算法,一种是控制速率,一种是控制并发连接数。 limit_req_zone 用来限制单位时间内的请求数目,以及速度限制。(可以简单理解为是漏桶算法) 阅读全文

posted @ 2024-09-14 15:53 ~码铃薯~ 阅读(3) 评论(0) 推荐(0) 编辑

k8s面试总结
摘要:k8s是一个Google开源的的容器编排工具。 k8s能够实现弹性伸缩、负载均衡、版本回退等功能。 一个kubernetes集群主要是由控制节点(master)、工作节点(node)构成,每个节点上都会安装不同的组件。 下面,以部署一个nginx服务来说明kubernetes系统各个组件调用关系: 阅读全文

posted @ 2024-09-14 15:49 ~码铃薯~ 阅读(27) 评论(0) 推荐(0) 编辑

分布式面试题
摘要:分布式锁和分布式事务的区别 分布式锁是在集群环境下,用来控制不同机器对共享资源的访问。例如:秒杀场景中的防止超卖问题。 分布式事务是在集群环境下,用来保证全局事务的一致性,保证多个数据库的数据整体上能从一个一致性状态转到另一个一致性状态。 分布式锁的实现方式有几种 1.基于数据库来实现 2.基于re 阅读全文

posted @ 2024-09-14 10:55 ~码铃薯~ 阅读(13) 评论(0) 推荐(0) 编辑

消息中间件面试题之kafka
摘要:Kafka的特性 1.消息持久化 2.高吞吐量 3.扩展性 4.多客户端支持 5.Kafka Streams 注意:当你不会说的时候,就围绕着kafka你知道的kafka的功能来说,比方说消息的持久化机制。 说一说Kafka你熟悉的参数? 创建生产者对象时有三个属性必须指定 bootstrap.se 阅读全文

posted @ 2024-09-13 11:23 ~码铃薯~ 阅读(38) 评论(0) 推荐(0) 编辑

elasticsearch学习笔记整理(含下面总结的面试题)
摘要:elasticsearch是一个全文检索的搜索引擎 Elasticsearch是一个基于Lucene的搜索服务器 ES可以做全文检索、模糊查询(搜索)、数据分析(提供分析语法,例如聚合)。 es是不能使用root用户进行启动的,要新创建一个用户才行 创建用户:useradd qianfeng 设置密 阅读全文

posted @ 2024-09-12 15:31 ~码铃薯~ 阅读(26) 评论(0) 推荐(0) 编辑

Redis常见面试题
摘要:怎么理解Redis中事务?(面试有被问到) 事务表示一组动作要么都执行,要么都不执行。 命令: multi 开启事务,也就是说会将下面要执行的命令先写入到Redis的队列当中。 exec 提交事务 ,也就是说执行队列当中的命令。 discard 回滚事务 redis中的事务是弱事务,主要体现在事务回 阅读全文

posted @ 2024-09-12 11:14 ~码铃薯~ 阅读(9) 评论(0) 推荐(0) 编辑

MySQL常见面试题
摘要:使⽤索引⼀定可以提升效率吗? 索引就是排好序的,帮助我们进⾏快速查找的数据结构.简单来讲,索引就是⼀种将数据库中的记录按照特殊形式存储的数据结 构。通过索引,能够显著地提⾼数据查询的效率,从⽽提升服务器的性能。 索引的优势与劣势 优点 提⾼数据检索的效率,降低数据库的IO成本 通过索引列对数据进⾏排 阅读全文

posted @ 2024-09-11 17:22 ~码铃薯~ 阅读(189) 评论(0) 推荐(0) 编辑

Spring cloud alibaba面试题
摘要:Spring cloud alibaba面试题 **spring cloud alibaba都有哪些组件 ** 如果面试官问你微服务都有哪些组件,可以先说spring cloud Netflix那一套(因为那一套自己是比较擅长的),说完了之后,再捎带着说spring cloud alibaba这一套 阅读全文

posted @ 2024-09-10 15:59 ~码铃薯~ 阅读(322) 评论(0) 推荐(0) 编辑

mybatis常见面试题
摘要:mybatis常见面试题 #{}和${}的区别是什么? Mybatis 在处理#{}时,会将 sql 中的#{}替换为?号,调用 PreparedStatement 的 set方法来赋值;能够防止sql注入. Mybatis 在处理{}替换成变量的值。 mybatis的一级缓存 阅读全文

posted @ 2024-09-09 18:35 ~码铃薯~ 阅读(12) 评论(0) 推荐(0) 编辑

JVM常见面试题
摘要:jvm的内存模型以及分区情况和作用 堆、栈、方法区、程序计数器。 其中堆区和方法区是线程共有区域,其他三个区域是线程私有区域。 方法区 用于存储虚拟机加载的类信息,常量,静态变量等数据, 堆 存放对象实例,所有的对象和数组都要在堆上分配。是JVM 所管理的内存中最大的一块区域。 虚拟机栈(java方 阅读全文

posted @ 2024-09-08 18:58 ~码铃薯~ 阅读(82) 评论(0) 推荐(0) 编辑

synchronized(面试有被问到)
摘要:synchronized synchronized底层是如何实现的 以及 什么是锁的升级和降级? synchronized是java内建的一种同步机制,当一个线程已经获取到锁了,其他的线程试图获取锁的时候就只能等待或者阻塞在那里。synchronized可以用来修饰方法也可以用来修饰代码块。 syn 阅读全文

posted @ 2024-09-08 14:56 ~码铃薯~ 阅读(42) 评论(0) 推荐(0) 编辑

常见并发工具类的使用场景
摘要:常见并发工具类的使用场景 ReentrantLock ReentrantLock是一种可重入的独占锁,它允许同一个线程多次获取同一把锁而不会被阻塞。它的功能类似于synchronized是一种互斥锁,可以保证线程安全。 可中断 可以设置超时时间 可以设置为公平锁 支持多个条件变量 与 synchro 阅读全文

posted @ 2024-09-08 11:58 ~码铃薯~ 阅读(23) 评论(0) 推荐(0) 编辑

tryLock 和Lock 和 lockinterruptibly 的区別
摘要:tryLock 和Lock 和 lockinterruptibly 的区別 1.tryLock 能获得锁就返回 true,不能就立即返回 false,tryLock(longtimeout,TimeUnit unit),可以增加时间限制,如果超过该时间段还没获得锁,返回 false 2lock能获得 阅读全文

posted @ 2024-09-08 09:13 ~码铃薯~ 阅读(46) 评论(0) 推荐(0) 编辑

锁的分类
摘要:锁的分类: 悲观锁和乐观锁:乐观锁和悲观锁是并发控制的一种机制,用于多线程或多进程环境下对共享资源的访问管理,以防止数据不一致或竞态条件。它们的主要区别在于对待冲突的策略。 悲观锁是一种对资源持有较悲观态度的锁定方式。它假设数据在并发访问时极有可能发生冲突,因此每次访问数据时都会先加锁,以确保其他线 阅读全文

posted @ 2024-09-07 17:15 ~码铃薯~ 阅读(27) 评论(0) 推荐(0) 编辑

springwebflux、函数式编程、lambda表达式
摘要:参考此博客:https://www.bilibili.com/video/BV1LT4y1y75R?p=5&spm_id_from=pageDriver&vd_source=273847a809b909b44923e3af1a7ef0b1 阅读全文

posted @ 2024-09-05 10:38 ~码铃薯~ 阅读(3) 评论(0) 推荐(0) 编辑

ConcurrentHashMap源码剖析
摘要:ConcurrentHashMap源码剖析 https://www.bilibili.com/video/BV1Qg41197FG/?spm_id_from=333.337.search-card.all.click&vd_source=273847a809b909b44923e3af1a7ef0b 阅读全文

posted @ 2024-09-03 13:59 ~码铃薯~ 阅读(15) 评论(0) 推荐(0) 编辑

并发容器中的各种队列 ArrayBlockingQueue**源码剖析
摘要:并发容器中的各种队列 ArrayBlockingQueue:数组阻塞队列 LinkendBlockingQueue: 链表阻塞队列 LinkedBlockingDeque: 链表阻塞双端队列 LinkedTransferQueue: 链表阻塞传输队列 SynchronousQueue: 没有缓冲的阻 阅读全文

posted @ 2024-09-02 19:20 ~码铃薯~ 阅读(8) 评论(0) 推荐(0) 编辑

Semaphore源码剖析
摘要:Semaphore源码剖析 Semaphore从英⽂单词上翻译是:信号量,可以理解 他是⼀个 许可证。只有获取到 许可证 的线程,才能执⾏相应逻辑,同时拿⾛ 许可证,⽽那些没有获取到的线程 只能等待。当持有 许可证 的线程 执⾏完成 后,需要 归还 许可证, 下⼀个线程 才可以 获取 许可证 执⾏相 阅读全文

posted @ 2024-09-02 17:05 ~码铃薯~ 阅读(8) 评论(0) 推荐(0) 编辑

CyclicBarrier源码介绍
摘要:CyclicBarrier源码介绍 循环栅栏, 他的特点是可以循环使⽤,当多个线程都到达同指定点时,再同进执⾏。 测试案例: public class CyclicBarrierDemo { public static void main(String[] args) { CyclicBarrier 阅读全文

posted @ 2024-09-02 15:51 ~码铃薯~ 阅读(12) 评论(0) 推荐(0) 编辑

CountDownLatch源码剖析
摘要:CountDownLatch 门闩,他可以让多个线程 都阻塞在⼀个地⽅,直到 所有线程任务都执⾏完成。 测试案例: 先让子线程执行完了,再让主线程执行 public class CountDownLatchDemo { public static void main(String[] args) { 阅读全文

posted @ 2024-09-02 14:46 ~码铃薯~ 阅读(14) 评论(0) 推荐(0) 编辑

ReentrantReadWriteLock源码剖析
摘要:ReentrantReadWriteLock源码剖析 synchronized和ReentrantLock都是互斥锁。 为什么要出现读写锁:如果说有一个操作是读多写少的,还要保证线程安全的话。如果采用上述的两种互斥锁,效率方面很 定是很低的。在这种情况下,咱们就可以使用ReentrantReadWr 阅读全文

posted @ 2024-09-01 14:20 ~码铃薯~ 阅读(3) 评论(0) 推荐(0) 编辑

ReentrantLock源码剖析
摘要:ReentrantLock源码剖析 测试案例: public class ReentrantLockDemo { // ReentrantLock lock = new ReentrantLock(); // 默认是非公平锁 // ReentrantLock lock = new Reentrant 阅读全文

posted @ 2024-09-01 13:32 ~码铃薯~ 阅读(3) 评论(0) 推荐(0) 编辑

ConditionObject源码剖析
摘要:ConditionObject源码剖析 这玩意是AQS的一个内部类。 案例演示: public class ReentrantLockConditionDemo { ReentrantLock lock = new ReentrantLock(); Condition condition = loc 阅读全文

posted @ 2024-09-01 10:43 ~码铃薯~ 阅读(4) 评论(0) 推荐(0) 编辑

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示