摘要: 面向过程编程 初学者编程时多半采用直接耦合的方式编程,即在类中直接new一个对象,或者将代码逻辑大段的写在一个方法里,有点儿类似于面向过程。 问题出现 这样虽然可以满足当下的需求,但是一旦需求变化,比如: 场景一:覆盖 PD提了新的需求,这时需要增加一个新的逻辑替代原有逻辑,则需要手动覆盖大段原代码 阅读全文
posted @ 2021-06-25 13:49 UnqualifiedCoder 阅读(137) 评论(0) 推荐(0)
摘要: 程序执行图 CPU结构图 MESIWhat?MESI简称缓存一致性协议, 它是CPU解决缓存行之间一致性问题的方式. 全名: Modified/Exclusive(独占)/Shared(共享)/Invalid(无效) Why?解决的是缓存行之间的一致性问题 如果变量超过一个缓存行, 则需要使用锁总线 阅读全文
posted @ 2021-03-02 13:45 UnqualifiedCoder 阅读(55) 评论(0) 推荐(0)
摘要: # 前言 之前看过很多关于锁的文章,大多数都是看完之后只记得文章中举的一些有关于现实生活的例子,然而对锁的本质总是一知半解,好像学习锁只是为了面试,所以希望对锁有个本质的认识。 # 概念 ## 锁 * 真正意义上的锁通常说的是重量级锁,重量级锁是操作系统的一个重要且有限的资源,当java程序需要用重 阅读全文
posted @ 2021-02-27 14:37 UnqualifiedCoder 阅读(134) 评论(0) 推荐(0)
摘要: 计算机网络整体脉络: 学习方法: 我的学习一个陌生事物的思路: 先找到它解决了什么问题以及他的特点, 因为从某种角度来说, 事物存在的意义就是为了解决某个问题, 所以[特点]就是系统的学习一个技术的起点. 再理解它是如何解决这个问题的 再了解它的具体结构, 如果它是协议, 那就了解它的头部结构组成; 阅读全文
posted @ 2021-02-26 11:13 UnqualifiedCoder 阅读(326) 评论(0) 推荐(0)
摘要: 1. SQL复制进IDEA后,被格式化成首行对齐了 阅读全文
posted @ 2020-07-20 14:47 UnqualifiedCoder 阅读(111) 评论(0) 推荐(0)
摘要: 1. tomcat生成新的servlet实例(每个请求都会生成,主要是解析url,封装request/response对象) 2. 根据web.xml中配置的filter集合,挨个过滤urlpath 2.1 webx框架的filter 2.2 根据spring文件中提前配置好的screen包下的类, 阅读全文
posted @ 2020-06-20 16:51 UnqualifiedCoder 阅读(131) 评论(1) 推荐(0)
摘要: 击穿: 现象: 10000个人同时访问缓存中某一条数据(例如淘宝爆款), 当这条数据过期时, 这10000条访问就会同时查数据库, 导致数据库某个时间点压力过大; 解决: 设置热点数据永不过期; 雪崩: 现象: 缓存中的一批数据同一时间过期, 导致这些数据的访问都同时去查数据库, 造成数据库压力过大 阅读全文
posted @ 2020-05-14 13:16 UnqualifiedCoder 阅读(114) 评论(0) 推荐(0)
摘要: <深入理解JAVA虚拟机>第二章 Out Of Memory Error: Java heap space 堆内存溢出 需要判断是内存泄漏还是内存溢出 StackOverflowError 栈内存溢出, 包括虚拟机栈,本地方法栈 PermGen space 永久代内存不足, HotSpotJVM中的 阅读全文
posted @ 2019-08-17 15:35 UnqualifiedCoder 阅读(114) 评论(0) 推荐(0)
摘要: 创建过程: 接收new指令后, 1. 检查引用代表的类是否被加载、解析、初始化过,若没有,则执行类加载机制(类加载机制可确定内存大小); 2. 分配内存 JVM给对象分配内存时, 两种分配方式 指针碰撞(Bump the Pointer) -- 指针碰撞是指:在java堆内存规整(即采用带有压缩整理 阅读全文
posted @ 2019-08-15 22:36 UnqualifiedCoder 阅读(101) 评论(0) 推荐(0)
摘要: JVM如何管理内存的? 算法 计数法/根可达算法 根可达算法有: Mark(标记)/copy(拷贝)/MarkSweep(标记清除) 模型分类 分为两种模型, 分代模型/分区模型 分代模型 分为两代: 年轻代/老年代 年轻代垃圾回收过程: 刚开始new对象在eden区, 第一次回收90%后, 剩余存 阅读全文
posted @ 2019-08-03 14:57 UnqualifiedCoder 阅读(158) 评论(0) 推荐(0)