05 2021 档案

摘要:不扯概念,直接看代码: 以可重入锁ReentrantLock的lock()方法切入 Sync是ReentrantLock的一个抽象的静态内部类,同时继承了AbstractQueuedSynchronizer也就是我们常说的AQS,同步队列,源码上的解释太长了,这个抽象类的作用,就是维护一个双向链表, 阅读全文
posted @ 2021-05-08 21:16 好好的一个居士 阅读(77) 评论(0) 推荐(0) 编辑
摘要:volatile:解决多线程场景的可见性问题 可见性问题:多线程的情况下,对于共享变量的读取,不一定是最新的值,就是可见性的问题 场景:多核cpu中,每个内核存在自己的高速缓存,线程的读取都是先从高速缓存中直接读取,读取不到才去内存中读取,优化了io开销过大,提升服务器性能,这是cpu的内存模型设计 阅读全文
posted @ 2021-05-05 13:48 好好的一个居士 阅读(74) 评论(0) 推荐(0) 编辑
摘要:定义:组合模式是一个整体部分的概念,可以与聚合对比理解,聚合个体与整体之间并无强依赖关系,不属于一个体系,比如电脑U盘的使用,u盘可以独立存在,不属于电脑结构体系。而组合模式则是所有对象属于一个结构体系,例如菜单的树形结构,上面的每一道菜如果独立出菜单则无法被定位。 生活中公司的组织架构,电脑的文件 阅读全文
posted @ 2021-05-04 18:00 好好的一个居士 阅读(79) 评论(0) 推荐(0) 编辑
摘要:synchronized:互斥锁,本质是通过锁定共享资源,达到线程安全的手段 根据使用方式,分为类锁和对象锁 修饰在静态方法,或者参数为class类的时候,都是以当前类作为共享资源进行锁定,为类锁,粒度最大。 修饰在实例方法,或者参数为指定对象实例的时候,已指定实例为共享资源进行锁定,为对象锁 锁的 阅读全文
posted @ 2021-05-04 17:53 好好的一个居士 阅读(651) 评论(0) 推荐(0) 编辑
摘要:线程的基本概念: 线程可以理解成一个轻量的进程,是cup的最小执行单元,所以线程的创建,是操作系统os实现的,java虚拟机只是调用,这一点和数据库的事务一样。 并发和并行 并发,就是日常提到的高并发,指Server可以同时接收多个请求 并行,一个单核cpu也是可以通过资源切换达到并发,但是始终只有 阅读全文
posted @ 2021-05-04 14:43 好好的一个居士 阅读(63) 评论(0) 推荐(0) 编辑
摘要:事务的概念:事务可以理解为操作DB的一个执行单元,最小粒度。 老生常谈的ACID A(Automicty) 原子性,事务的操作一定是不可再被分隔的单位,执行结果,要么成功,要么失败 C(Consistency) 一致性,事务一定是使得数据库从一个一致性状态变为另一个一致性状态,通俗的说,就是数据一致 阅读全文
posted @ 2021-05-03 16:10 好好的一个居士 阅读(166) 评论(0) 推荐(0) 编辑
摘要:思考中.... 阅读全文
posted @ 2021-05-03 14:37 好好的一个居士 阅读(37) 评论(0) 推荐(0) 编辑
摘要:很久之前面试的时候,遇到这样一个问题,从一个库表中读取海量数据的方案是什么,记不得当时怎么回答的了,但是应该不是很好的答案。 简单记录下方案: 第一点:做分库分表分区 第二点:读写分离也是一定的 第三点:冷热备份,历史数据备份走,甚至直接清空(特殊情况支持,例如车辆心跳状态,这种更新很快的数据,历史 阅读全文
posted @ 2021-05-03 14:30 好好的一个居士 阅读(143) 评论(0) 推荐(0) 编辑
摘要:学习springAop的源码,在看源码之前,思考了几个问题 首先明确几个概念: springAop,切面编程,对于方法做增强,主要有下面几个概念 切面(Aspect) 由切入点和通知组成,是指对象被横切出来的地方,可做功能增强,是一个比较抽象的概念 通知(Advice) 就是只织入的代码逻辑,一个切 阅读全文
posted @ 2021-05-02 16:03 好好的一个居士 阅读(75) 评论(0) 推荐(0) 编辑
摘要:享元模式:定义:实例对象的一种缓存思想,程序运行中一些经常用到,内部态不会改变的实例,放入一个缓存池中,重复使用,避免了同样功能的对象,被重复创建,节省资源。不仅是内存资源,连接资源也同样节约例如String的常量池,数据库的连接池,Integer,Long内部使用的都是这种方式。与注册式的单例区别 阅读全文
posted @ 2021-05-02 13:35 好好的一个居士 阅读(151) 评论(0) 推荐(0) 编辑
摘要:写法:1, 定义一个抽象的类 抽象类里面定义抽象方法2, 定义装饰器 装饰器继承抽象类,引入抽象类属性,构造方法注入,重写抽象类方法,方法执行调用注入的实例重写的方法,装饰器作为一个抽象类存在3, 定义基础模型,与装饰器没有关系,但是继承了最上层的抽象类,写自身业务逻辑4, 定义需要装饰的类,继承装 阅读全文
posted @ 2021-05-02 13:32 好好的一个居士 阅读(58) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示