首页
学习
活动
专区
工具
TVP
发布

程序员爱酸奶

专栏成员
73
文章
109463
阅读量
19
订阅数
分布式ID解决方案
在面试的时候,尝尝会被问到分布式一些相关的问题,比如如何确保在分布式环境下 session 一致,分布式 ID 等等。我在拉勾训练营学习的时候,刚好老师有讲到,我就整理下来了。
程序员爱酸奶
2023-11-16
1540
SCA Sentinel 分布式系统的流量防卫兵
Spring Cloud 是一站式微服务解决方案。很多公司都在使用 Spring Cloud 组件。我们想要学习 Spring Cloud 微服务架构,就需要学习他们的组件。包含:注册中心、负载均衡、熔断处理、过程调用、网关服务、配置中心、消息总线、调用链路、数据监控等等。
程序员爱酸奶
2023-11-16
1730
JAVA面试备战(十七)--设计模式
单例模式用于Runtime,Calendar和其他的一些类中。“饿汉式”是在不管你用的用不上,一开始就建立这个单例对象
程序员爱酸奶
2022-06-06
3590
JAVA面试备战(十六)--AQS共享锁的获取与释放
在前面两篇系列文章中,已经讲解了独占锁的获取和释放过程,而共享锁的获取与释放过程也很类似,如果你前面独占锁的内容都看懂了,那么共享锁你也就触类旁通了。
程序员爱酸奶
2022-04-12
4320
JAVA面试备战(十五)--AQS独占锁获取
AQS(AbstractQueuedSynchronizer)是JAVA中众多锁以及并发工具的基础,其底层采用乐观锁,大量使用了CAS操作, 并且在冲突时,采用自旋方式重试,以实现轻量级和高效地获取锁。
程序员爱酸奶
2022-04-12
4670
java面试备战(十四)--AQS的Condition接口实现
本篇文章是基于线程间的同步与通信(4)——Lock 和 Condtion 这篇文章写的,在那篇文章中,我们分析了Condition接口所定义的方法,本篇我们就来看看AQS对于Condition接口的这些接口方法的具体实现。
程序员爱酸奶
2022-04-12
7110
JAVA面试备战(十三)--独占锁的释放
开始之前先提一句, JAVA的内置锁在退出临界区之后是会自动释放锁的, 但是ReentrantLock这样的显式锁是需要自己显式的释放的, 所以在加锁之后一定不要忘记在finally块中进行显式的锁释放:
程序员爱酸奶
2022-04-12
4800
JAVA面试备战(十二)--CyclicBarrier源码分析
在CountDownLatch中,执行countDown方法的线程和执行await方法的线程不是一类线程。例如,线程M,N需要等待线程A,B,C,D,E执行完成后才能继续往下执行,则线程A,B,C,D,E执行完成后都将调用countDown方法,使得最后count变为了0,最后一个将count值减为0的线程调用的tryReleaseShared方法会成功返回true,从而调用doReleaseShared()唤醒所有在sync queue中等待共享锁的线程,这里对应的就是M,N。所以,在CountDownLatch中,执行countDown的线程不会被挂起,调用await方法的线程会阻塞等待共享锁。
程序员爱酸奶
2022-04-12
2710
JAVA面试备战(十一)--CountDownLatch 源码分析
CountDownLatch是一个很有用的工具,latch是门闩的意思,该工具是为了解决某些操作只能在一组操作全部执行完成后才能执行的情景。例如,小组早上开会,只有等所有人到齐了才能开;再如,游乐园里的过山车,一次可以坐10个人,为了节约成本,通常是等够10个人了才开。CountDown是倒数计数,所以CountDownLatch的用法通常是设定一个大于0的值,该值即代表需要等待的总任务数,每完成一个任务后,将总任务数减一,直到最后该值为0,说明所有等待的任务都执行完了,“门闩”此时就被打开,后面的任务可以继续执行。
程序员爱酸奶
2022-04-12
3380
JAVA面试备战(十)--Semaphore 源码分析
Semaphore(信号量)也是常用的并发工具之一,它常常用于流量控制。通常情况下,公共的资源常常是有限的,例如数据库的连接数。使用Semaphore可以帮助我们有效的管理这些有限资源的使用。
程序员爱酸奶
2022-04-12
2860
JAVA面试备战(九)--ReentrantReadWriteLock
ReadLock和WriteLock是ReentrantReadWriteLock的两个内部类,Lock的上锁和释放锁都是通过AQS来实现的。
程序员爱酸奶
2022-04-12
2540
JAVA面试备战(八)--ReentrantLock源码分析
上一篇我们学习了lock接口,本篇我们就以ReentrantLock为例,学习一下Lock锁的基本的实现。我们先来看看Lock接口中的方法与ReentrantLock对其实现的对照表:
程序员爱酸奶
2022-04-12
2160
JAVA面试备战(七)--Lock 和 Condtion
前面几篇我们学习了synchronized同步代码块,了解了java的内置锁,并学习了监视器锁的wait/notify机制。在大多数情况下,内置锁都能很好的工作,但它在功能上存在一些局限性,例如无法实现非阻塞结构的加锁规则等。为了拓展同步代码块中的监视器锁,java 1.5 开始,出现了lock接口,它实现了可定时、可轮询与可中断的锁获取操作,公平队列,以及非块结构的锁。
程序员爱酸奶
2022-04-12
2650
JAVA面试备战(六)--网络协议
tcp 和 udp 是 OSI 模型中的传输层中的协议。tcp 提供可靠的通信传输,而 udp 则常被用于让广播和细节控制交给应用的通信传输。两者的区别大致如下:
程序员爱酸奶
2022-04-12
4190
JAVA面试备战(五)--并发编程
当一个线程访问同步代码块时,需要获得锁才能执行,当退出或者抛出异常的时候要释放锁。那么是怎么实现的呢,我们来看一段代码
程序员爱酸奶
2022-04-12
3310
JAVA面试备战(四)--JVM
JVM是Java Virtual Machine(Java虚拟机)的缩写,是指负责将字节码解释成为特定的机器码进行运行,值得注意的是在运行过程中,Java源程序需要通过编译器编译为.class文件,否则JVM不认识。
程序员爱酸奶
2022-04-12
3250
JAVA面试备战(三)--java web 知多少
JSP 是 servlet 技术的扩展,本质上就是 servlet 的简易方式。servlet 和 JSP 最主要的不同点在于,servlet 的应用逻辑是在 Java 文件中,并且完全从表示层中的 html 里分离开来,而 JSP 的情况是 Java 和 html 可以组合成一个扩展名为 JSP 的文件。JSP 侧重于视图,servlet 主要用于控制逻辑。
程序员爱酸奶
2022-04-12
3900
JAVA面试备战(二)--集合
List(对付顺序的好帮手):List接口存储一组不唯一(可以有多个元素引用相同的对象),有序的对象
程序员爱酸奶
2022-04-12
4730
JAVA面试备战(一)--java 基础
基本类型保存原始值,引用类型保存的是引用值(引用值就是指对象在堆中所 处的位置/地址)
程序员爱酸奶
2022-04-12
4620
【我在拉勾训练营学技术】分布式问题解决方案整理
在面试的时候,尝尝会被问到分布式一些相关的问题,比如如何确保在分布式环境下 session 一致,分布式 ID 等等。我在拉勾训练营学习的时候,刚好老师有讲到,我就整理下来了。
程序员爱酸奶
2021-07-20
4620
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档