小傅哥
博客 bugstack.cn - 汇总所有文章 | 一线互联网软件开发工程师,擅长编写优秀的代码、中间件开发、架构设计等。| 公众号:bugstack虫洞栈,回复:设计模式、面经手册、字节码编程,可以下载我的PDF!
展开
-
目录&源码 - 告诉你从哪开始、怎么学习、如何上手
???? Spring 手撸专栏 - 易学、好写、能懂!小傅哥,一线互联网 Java 工程师、架构师,开发过交易、营销类项目,实现过运营、活动类项目,设计过中间件,组织过系统重构,编写过技术专利。不仅从事业务系统的开发工作,也经常做一些字节码插桩类的设计和实现,对架构的设计和落地有丰富的经验。在热衷于Java语言的同时,也喜欢研究中继器、I/O板卡、C#和PHP,是一个技术活跃的折腾者。✏️ 虫洞 · 科技栈,博主,???? 《重学Java设计模式》图书作者⛳ 目录代码仓库:Github |原创 2021-08-10 20:30:47 · 1812 阅读 · 0 评论 -
第 01 章:开篇介绍,我要带你撸 Spring 啦!
作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言不正经!写写面经,去撸Spring源码啦?????是的,在写了4篇关于Spring核心源码的面经内容后,我决定要去手撸一个Spring了。为啥这么干呢?因为所有我想写的内容,都希望它是以理科思维理解为目的的学会,而不是靠着硬背记住。而目前面经中涉及到的每一篇Spring源码内容分析,在即使去掉部分非主流逻辑后,依然会显得非常庞大。对有经验的老司机尚可阅读几遍接受,但就新人来讲只能原创 2021-05-17 10:26:23 · 7386 阅读 · 26 评论 -
第 02 章:小试牛刀,实现一个简单的Bean容器
作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言上学时,老师总说:不会你就问,但多数时候都不知道要问什么!你总会在小傅哥的文章前言里,发现一些关于成长、学习、感悟以及对当篇内容的一个介绍,其实之所以写这样的铺垫性内容,主要是为了让大家对接下来的内容学习有一个较轻松的开场和过度。就像我们上学时如果某一科的内容不会时,老师经常会说,你有不会的就要问。但对于学生本身来讲,可能已经不会的太多了,或者压根不知道自己不会什么,只有等看到原创 2021-05-20 09:42:23 · 1959 阅读 · 7 评论 -
第 03 章:初显身手,运用设计模式,实现 Bean 的定义、注册、获取
作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言你是否能预见复杂内容的设计问题?讲道理,无论产品功能是否复杂,都有很大一部分程序员会写出一堆 if…else 来完成开发并顺利上线。这主要是原因没法预见当前的需求,发展是否长远、流量是否庞大、迭代是否迅速,所以在被催促上线的情况,不写 if…else 是不可能的!那你说,既然 if…else 实现的这么快,还考虑数据结构、算法逻辑、设计模式、系统架构吗?当然这基本要看你的项目在原创 2021-05-24 09:21:00 · 1866 阅读 · 5 评论 -
第 04 章:崭露头角,基于Cglib实现含构造函数的类实例化策略
作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言技术成长,是对场景设计细节不断的雕刻!你觉得自己的技术什么时候得到了快速的提高,是CRUD写的多了以后吗?想都不要想,绝对不可能!CRUD写的再多也只是能满足你作为一个搬砖工具人,敲击少逻辑流水代码的速度而已,而编程能力这一块,除了最开始的从不熟练到熟练以外,就很少再有其他提升了。那你可能会想什么才是编程能力提升?其实更多的编程能力的提升是你对复杂场景的架构把控以及对每一个技术原创 2021-05-31 09:32:31 · 6192 阅读 · 24 评论 -
第 05 章:一鸣惊人,为Bean对象注入属性和依赖Bean的功能实现
作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????《Spring 手撸专栏》目录 第 1 章:开篇介绍,我要带你撸 Spring 啦! 第 2 章:小试牛刀,实现一个简单的Bean容器 第 3 章:初显身手,运用设计模式,实现 Bean 的定义、注册、获取 第 4 章:崭露头角,基于Cglib实现含构造函数的类实例化策略 第 5 章:一鸣惊人,为Bean对象注入属性和依赖Bean的功能实现 第 6 章:待归档…一、前言超原创 2021-06-03 09:31:02 · 3498 阅读 · 19 评论 -
第 06 章:气吞山河,设计与实现资源加载器,从Spring.xml解析和注册Bean对象
作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言你写的代码,能接的住产品加需求吗?接,是能接的,接几次也行,哪怕就一个类一片的 if…else 也可以!但接完成什么样可就不一定了,会不会出事故也不是能控制住的。那出事故时,你说因为我写 if…else 多了导致代码烂了,但可是你先动的手啊:你说的需求还得加、你说的老板让上线、你说的合同都签了,搬砖码农的我没办法,才以堆代码平需求,需求太多不好搞,我才以搬砖平需求!诸侯不服,我原创 2021-06-10 09:28:21 · 3231 阅读 · 19 评论 -
第 07 章:所向披靡,实现应用上下文,自动识别、资源加载、扩展机制
作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????目录 第 1 章:开篇介绍,我要带你撸 Spring 啦! 第 2 章:小试牛刀,实现一个简单的Bean容器 第 3 章:初显身手,运用设计模式,实现 Bean 的定义、注册、获取 第 4 章:崭露头角,基于Cglib实现含构造函数的类实例化策略 第 5 章:一鸣惊人,为Bean对象注入属性和依赖Bean的功能实现 第 6 章:气吞山河,设计与实现资源加载器,从Spring.x原创 2021-06-17 09:29:59 · 1670 阅读 · 8 评论 -
第 08 章:龙行有风,向虚拟机注册钩子,实现Bean对象的初始化和销毁方法
作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言有什么方式,能给代码留条活路?有人说:人人都是产品经理,那你知道吗,人人也都可以是码农程序员!就像:编程就是;定义属性、创建方法、调用展示Java 和 PHP 就像男人和女人,前者在乎架构化模块后,后者在乎那个颜色我喜欢用心写,但不要不做格式化初次和产品对接的三个宝:砖头、铁锹、菜刀,分别保证有用、可用、好用从一行代码到一吨代码,开发越来越难,壁垒也越来越高其原创 2021-06-24 10:18:09 · 1518 阅读 · 5 评论 -
第 09 章:虎行有雨,定义标记类型Aware接口,实现感知容器对象
作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言同事写的代码,我竟丝毫看不懂!大佬的代码,就像**“赖蛤蟆泡青蛙,张的丑玩的花”**:一个类实现了多个接口、继承的类又继承了其他类、接口还可以和接口继承、实现接口的抽象类再由类实现抽象类方法、类A继承的类B实现了类A实现的接口C,等等。看上去复杂又难懂的代码,却又能一次次满足需求的高效迭代和顺利扩展,而像螺丝钉一样搬砖的你,只是在大佬写的代码里,完成某个接口下的一小块功能,甚至原创 2021-06-29 09:30:25 · 1686 阅读 · 11 评论 -
第 10 章:横刀跃马,关于Bean对象作用域以及FactoryBean的实现和使用
作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言老司机,你的砖怎么搬的那么快?是有劲?是技巧?是后门?总之,那个老司机的代码总是可以很快的完成产品每次新增的需求,就像他俩是一家似的!而你就不一样了,不只产品经理还有运营、测试的小姐姐,都得给你买吃的,求着你赶紧把Bug修修,否则都来不及上线了。那为啥别人的代码总是可以很快的扩展新功能,而你的代码从来不能被重构只能被重写,小需求小改、大需求大改,没需求呢?没需求自己跑着跑着也能原创 2021-07-01 10:56:38 · 2921 阅读 · 27 评论 -
第 11 章:更上层楼,基于观察者实现,容器事件和事件监听器
作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言能解耦,是多么重要的一件事情!摔杯为号、看我眼色行事、见南面火起,这是在嘎哈么?这其实是在通过事物传播进行解耦引线和炸弹,仅仅是这样的一个解耦,它放到了多少村夫莽汉,劫了法场,篡了兵权!这样的解耦场景在互联网开发的设计中使用的也是非常频繁,如:这里需要一个注册完成事件推送消息、用户下单我会发送一个MQ、收到我的支付消息就可以发货了等等,都是依靠事件订阅和发布以及MQ消息这样的组原创 2021-07-08 09:26:24 · 2816 阅读 · 16 评论 -
第 12 章:炉火纯青,基于JDK和Cglib动态代理,实现AOP核心功能
作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言为什么,你的代码总是糊到猪圈上?????怎么办,知道你在互联网,不知道你在哪个大厂。知道你在加班,不知道你在和哪个产品争辩。知道你在偷懒,不知道你要摸鱼到几点。知道你在搬砖,不知道你在盖哪个猪圈。当你特别辛苦夜以继日的完成着,每天、每周、每月重复性的工作时,你能获得的成长是最小,得到的回报也是少的。留着最多的汗、拿着最少的钱可能你一激动开始看源码,但不知道看完的源码能用到什原创 2021-07-14 09:27:36 · 4723 阅读 · 12 评论 -
第 13 章:行云流水,把AOP动态代理,融入到Bean的生命周期
作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言嘎小子,这片代码水太深你把握不住!在电视剧《楚汉传奇》中有这么一段刘邦与韩信的饮酒对话,刘邦问韩信我那个曹参读过书见过世面能带多少兵,韩信说能带一万五,又补充说一万五都吃力。刘邦又一一说出樊哙、卢绾、周勃,韩信笑着说不足2万,脑子不行。这时候刘邦有点挂不住脸了,问:那我呢,我能带多少兵。韩信说,你能带十万。刘邦一看比他们都多,啊,还行。转头一想就问韩信那你呢,你能带多少兵。韩信喝原创 2021-07-23 09:30:16 · 4305 阅读 · 17 评论 -
第 14 章:笑傲江湖,通过注解配置和包自动扫描的方式完成Bean对象的注册
作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言忒复杂,没等搞明白大促都过去了!你经历过618和双11吗?你加入过大促时候那么多复杂的营销活动赚几毛钱吗?你开发过连读明白玩法都需要一周但只使用3天的大促需求吗?有时候对于有些产品的需求真的是太复杂了,复杂到开发、测试都需要在整个过程中不断的学习最后才可能读懂产品为啥这样的玩,要是一个长期的活动可能也就算了,培养用户心智吗!但这一整套拉新、助力、激活、下单、投保、领券、消费、开红原创 2021-07-28 09:37:07 · 2935 阅读 · 9 评论 -
第 15 章:万人之敌,通过注解给属性注入配置和Bean对象
作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????章节目录(手写Spring,让你了解更多) 第 01 章:开篇介绍,我要带你撸 Spring 啦! 第 02 章:小试牛刀,实现一个简单的Bean容器 第 03 章:初显身手,运用设计模式,实现 Bean 的定义、注册、获取 第 04 章:崭露头角,基于Cglib实现含构造函数的类实例化策略 第 05 章:一鸣惊人,为Bean对象注入属性和依赖Bean的功能实现 第 06 章:原创 2021-08-04 09:14:47 · 11021 阅读 · 21 评论 -
第 16 章:战无不胜,给代理对象的属性设置值
作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、功能强化怎么了,运行的好好的放在别人电脑上就出错?是不是有时候你觉得提交的代码,功能完善、逻辑正确、格式漂亮,但不管是小哥哥还是小姐姐,只要测试人员一上手,就会发现 这有Bug、那有Bug、你回去改改别耽误我时间! 这是为什么呢?因为测试人员的输入的数据可不是你已经跑了几十遍能通过运行的简单数据,他们的数据更偏向于用户真实使用时候的输入效果。就像我们在使用 Spring 的时候,谁原创 2021-08-12 16:31:46 · 1528 阅读 · 0 评论 -
第 17 章:攻无不克,通过三级缓存解决循环依赖
作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、不止能用嘎哈呀,又不是不能用!我经常说业务逻辑的代码实现,就像擦屁屁的纸,80%的面积都是保护手的。而那20%的核心流程也就仅仅是你说的能用就行,反正每次都洗手呗。其实想把程序从能用实现到好用并不容易,这包括你对业务的理解、你对架构的把控、你对细节的实现等等,也包括你是否能做一些列的抽象实现,不至于整个程序随着开发的越多就变的越臃肿不堪。那么对于编程上的写好程序的理解,我通常喜欢原创 2021-08-12 16:37:03 · 1296 阅读 · 0 评论 -
第 18 章:挂印封刀,数据类型转换工厂设计实现
作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、锦上添花值得的,总是在精雕细琢!在你写的程序开发中,你有为一个类名、方法名、属性名,反复斟酌吗?代码格式间隔大小、编写方式、注释描述不断的提升吗?你有为一个功能逻辑的实现不断的重构吗?我有,我一直都有,为了能写好一块代码,甚至会忘记时间从上午到下午,当能实现完成后,会欣赏似的看待自己的代码,也根本不舍得把他交给别人!如果你也是这样的工程师,其实在你不去刻意追求大厂、高薪、好职位的时原创 2021-08-12 16:43:16 · 1331 阅读 · 0 评论