你的单例真的满足需求吗
前言 在面试中被问到频率最高的设计模式是单例,因为它写起来很简单,而且了解单例模式的都知道,它有饿汉式、懒汉式、DCL(双重锁判断)、静态内部类以及枚举等多种写法。但说实话,在实际应用中,单例用到的并不是很多。但作为设计模式的基本模式之一,...
前言 在面试中被问到频率最高的设计模式是单例,因为它写起来很简单,而且了解单例模式的都知道,它有饿汉式、懒汉式、DCL(双重锁判断)、静态内部类以及枚举等多种写法。但说实话,在实际应用中,单例用到的并不是很多。但作为设计模式的基本模式之一,...
前言 以前在用框架的时候发现创建一个对象要连着.出很多方法,最后居然返回了我要的对象,不明觉厉,居然是建造者模式。其实建造者没那么神奇,类似于建房子,将房子这个对象和建造的过程分离,然后我们在建造的过程中执行一步步的步骤,最后一步把建好的房...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
前言 今天天气不错,我怀着自信的笑容来到某个大厂的研发中心,开启面试的一天。首先我不是毫无准备的,什么java并发,多线程,jvm,分布式,数据库都准备的妥妥的,没想到今天的面试的主题是spring。不过还好,我也准备了…门开了...
前言 这本书最早是在一次会议上被提到,我当时并没看过。其实重构在我们写代码的过程时时刻刻都有发生,消除重复代码,提取公共函数,去掉多余的参数,将方法参数封装成对象,或者是优雅的用到设计模式等等。无论是大的改造还是小的改动,你觉得代码虽然功能...
今天,我不自量力的面试了某大厂的java开发岗位,迎面走来一位风尘仆仆的中年男子,手里拿着屏幕还亮着的mac,他冲着我礼貌的笑了笑,然后说了句“不好意思,让你久等了”,然后示意我坐下,说:“我们开始吧。看了你的简历,觉得你对redis应该掌...
事务定义 一个事务会涉及大量的cpu操作和IO操作,这些操作会被打包成一个执行单元,要么同时完成,要么同时都不完成。 事务是一组原子性的sql命令或者说是一个独立的工作单元,如果其中任何一条sql语句因为崩溃或者其他原因执行失败,那么该组所...
数据库瓶颈 不管是IO瓶颈还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载的活跃连接数的阈值。在业务service来看, 就是可用数据库连接少甚至无连接可用,接下来就可以想象了(并发量、吞吐量、崩溃)。 IO...
前言 锁是计算机协调多个进程或线程并发访问某一资源的控制机制。在数据库中,除了计算资源(CPU、I/O)的争用之外,数据也是一种多用户共享的资源。如何保证数据并发访问的一致性和有效性是所有数据库必须解决的一个问题。相对于其他数据库而言,my...
前言 上次面试中问到AQS简直不要太痛苦,全是问的源码。但是源码有时间还是要看看的,毕竟对于提升我们的写代码的能力还是有帮助的。今天的面试紧接上回的AQS,内容是基于AQS实现的四大并发工具类: CyclicBarrier,CountDow...
前言 上次的文章《并发编程的锁和内存模型》介绍了synchronize和各种锁(偏向锁,自旋锁,轻量级锁以及重量级锁),介绍了Java内存模型的三大特性,引入了volitile这个关键字,详细说明了它的作用和原理,另外介绍了JUC里很多地方...