摘要: 3分钟看懂设计模式02:观察者模式 一、什么是观察者模式 观察者模式又叫做发布-订阅模式或者源-监视器模式。 结合它的各种别名大概就可以明白这种模式是做什么的。 其实就是观察与被观察,一个对象(被观察者)的状态改变会被通知到观察者,并根据通知产生各自的不同的行为。 以下为《设计模式的艺术》中给出的定义: 观察者模式(Observer 阅读全文
posted @ 2024-02-23 16:31 程序员阿bin 阅读(524) 评论(0) 推荐(2) 编辑
摘要: 3分钟看懂设计模式01:策略模式 一、什么是策略模式 定义一些列算法类,将每一个算法封装起来,并让它们可以互相替换。 策略模式让算法独立于使用它的客户而变化,是一种对象行为型模式。 以上是策略模式的一般定义,属于是课本内容。 在没有真正理解策略模式之前并不需要对此定义下过多功夫,读一遍直接进入下一章节。 二、为什么要用策略模式 我们 阅读全文
posted @ 2024-02-22 14:43 程序员阿bin 阅读(1289) 评论(0) 推荐(4) 编辑
摘要: CORS就是跨域吗? 首先,跨域的域是什么? 跨域的英文是:Cross-Origin。 Origin 中文含义为:起源,源头,出生地。 在跨域中,"域"指的是一个 Web 资源(比如网页、脚本、图片等)的源头。 包括该资源的协议、主机名、端口号。 在同源策略中,如果两个资源的域相同,则它们属于同一域,可以自由进行交互和共 阅读全文
posted @ 2024-02-20 17:17 程序员阿bin 阅读(535) 评论(0) 推荐(2) 编辑
摘要: 复习一下JVM内存结构 一、程序计数器 程序计数器内存很小,可以看作是当前线程所执行字节码的行号指示器。 有了它,程序就能被正确的执行。 因为有线程切换的存在,则每个线程必须有各自独立的程序计数器,即线程私有的内存。 这里再解释一下什么是线程切换,线程切换指的是: 单处理器在执行多线程时所进行的线程切换,多线程的交替运行会 阅读全文
posted @ 2024-02-20 09:23 程序员阿bin 阅读(157) 评论(0) 推荐(1) 编辑
摘要: 翻译,师爷师爷什么叫事务! 当我们学习 apple 时候,我们很容易记住 apple 是什么。 我们也不会对 apple 的概念产生模糊混淆。 为什么? 因为字典上明确说了,apple = 苹果。 那苹果是什么? 苹果就是圆圆的红红的,吃起来甜甜的水果。 我们学习 apple 如此简单,就是因为我们对苹果这个概念的理解已经通透 阅读全文
posted @ 2024-02-18 17:06 程序员阿bin 阅读(200) 评论(2) 推荐(0) 编辑
摘要: Java锁到底是个什么东西 一、java锁存在的必要性 要认识java锁,就必须对2个前置概念有一个深刻的理解:多线程和共享资源。 对于程序来说,数据就是资源。 在单个线程操作数据时,或快或慢不存在什么问题,一个人你爱干什么干什么。 多个线程操作各自操作不同的数据,各干各的,也不存在什么问题。 多个线程对共享数据进行读取操作, 阅读全文
posted @ 2024-02-06 16:37 程序员阿bin 阅读(498) 评论(1) 推荐(3) 编辑
摘要: 聚簇索引、回表与覆盖索引 聚簇索引一般指的是主键索引(如果存在主键索引的话)。 作为一个正常开发,建表时主键肯定是必须的。 而即使如果表中没有定义主键,InnoDB 会隐式选择一个唯一的非空索引代替。 所以我们就直接含糊点说: 聚簇索引就是主键索引!其余的都是非聚簇索引。 那到底什么是聚簇索引,什么是非聚簇索引? 聚簇就是扎 阅读全文
posted @ 2024-02-04 18:08 程序员阿bin 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 你以为我在跟你讲判空 开发中经常遇到需要判空的地方,比如对字符串进行判空操作。 而有时候工具包太多不知道用哪个。 就像下图,光一个 StringUtils 就有十几个包弹出来。 怎么选? 其实用哪个都行。 最重要的是: 有一套自己用的顺手的工具。 或者换句话说: 要养成自己的开发习惯。 有了自己专属的开发习惯,不管客观上 阅读全文
posted @ 2024-02-01 18:43 程序员阿bin 阅读(121) 评论(0) 推荐(1) 编辑
摘要: 纪念JDBC 技术总是在不断更新变化的,尤其是在IT编程领域。 有时候我们理所当然的用着现成的框架,以至于用的太过于顺手,更要时不时的骂一句: 什么垃圾框架?我家狗都不会用! 如果那些被拍死在沙滩的“前浪”听到这话,怕是要顶开棺材板给你点个赞。 为什么? 因为太安逸了,安逸到一出生就开着拖拉机耕地,还嫌拖拉机费油 阅读全文
posted @ 2024-01-30 15:27 程序员阿bin 阅读(122) 评论(0) 推荐(0) 编辑
摘要: SpringBoot实现动态数据源配置 场景描述: 前一阵子接手的新项目中需要使用2个数据源。 一个叫行云数据库,一个叫OceanBase数据库。 就是说,我有时候查询要查行云的数据,有时候查询要查 OceanBase 的数据,咋办? 废话不多说, 下面以mysql为例,开整。 一、环境依赖 <dependency> <groupId>o 阅读全文
posted @ 2024-01-29 16:23 程序员阿bin 阅读(983) 评论(0) 推荐(5) 编辑