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