
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
为什么需要分布式锁在聊分布式锁之前,有必要先解释一下,为什么需要分布式锁。与分布式锁相对就的是单机锁,我们在写多线程程序时,避免同时操作一个共享变量产生数据问题,通常会使用一把锁来互斥以保证共享变量的正确性,其使用范围是在同一个进程中。如果换做是多个进程,需要同时操作一个共享资源,如何互斥呢?现在的业务应用通常是微服务架构,这也意味着一个应用会部署多个进程,多个进程如果需要修改MySQL中的同一行
每一个程序员都有一个架构师的梦,可理想很丰满,现实很骨感---大部程序员工作中都做着CRUD,但进取心与持续学习的心态还是要有的。掌握架构设计的相关理论是成为架构师的前提。在看了一本《从零开始学架构》后,发现架构设计是有套路的。......
为什么需要分布式锁在聊分布式锁之前,有必要先解释一下,为什么需要分布式锁。与分布式锁相对就的是单机锁,我们在写多线程程序时,避免同时操作一个共享变量产生数据问题,通常会使用一把锁来互斥以保证共享变量的正确性,其使用范围是在同一个进程中。如果换做是多个进程,需要同时操作一个共享资源,如何互斥呢?现在的业务应用通常是微服务架构,这也意味着一个应用会部署多个进程,多个进程如果需要修改MySQL中的同一行
在网上有很多Spring处理请求的流程图,但是都是比较简单的过程,都是围绕的DispatcherServlet进行说明的,这里我们将从一个请求如何进入spring中开始,到返回结果结束进行说明。
Groovy代码能够与Java代码很好地结合,也能用于扩展现有代码。相对于Java,它在编写代码的灵活性上有非常明显的提升。Groovy是动态编译语言,广泛用作脚本语言和快速原型语言,主要优势之一就是它的生产力。Groovy代码通常要比Java代码更容易编写,而且编写起来也更快,这使得它有足够的资格成为开发工作包中的一个附件。...
面向对象编程中,有一条非常经典的设计原则,那就是:组合优于继承,多用组合少用继承。同样地,在《阿里巴巴Java开发手册》中有一条规定:谨慎使用继承的方式进行扩展,优先使用组合的方式实现。为什么不推荐使用继承每个人在刚刚学习面向对象编程时都会觉得:继承可以实现类的复用。所以,很多开发人员在需要复用一些代码的时候会很自然的使用类的继承的方式,因为书上就是这么写的。继承是面向对象的四大特性之一,用来表示
DelayQueue队列中每个元素都有一个过期时间,并且队列是个优先级队列,当从队列获取元素的时候,只有过期元素才会出队。
3月份学完了极客时间的《消息列队高手课》专栏,专栏讲解了许多消息队列的基础知识并且对Kafka与RocketMQ两种主流消息队列有精彩的对比分析。学完专栏后将所有要点整理为笔记记录下来。

转载声明:Java堆内存是线程共享的!面试官:你确定吗?Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点,所以,即使是一个Java的初学者,也一定或多或少的对JVM有一些了解。可以说,关于JVM的相关知识,基本是每个Java开发者必学的知识点,也是面试的时候必考的知识点。在JVM的内存结构中,比较常见的两个区域就是堆内存和栈内存(如无特指,本文提到的栈均指的是虚拟机栈),
0、前言读完本文,你将了解到:一、为什么说Jabalpur语言是跨平台的二、Java虚拟机启动、加载类过程分析三、类加载器有哪些?其组织结构是怎样的?四、双亲加载模型的逻辑和底层代码实现是怎样的?五、类加载器与Class<T> 实例的关系六、线程上下文加载器一、为什么说Java语言是跨平台的?Java语言之所以说它是跨平台的、可以在当前绝大部分的操作系统平台下运行,是因为Java语言的运行







