小傅哥_个人页

个人头像照片 小傅哥
个人头像照片 个人头像照片 个人头像照片 个人头像照片
172
0
1

个人介绍

作者小傅哥多年从事一线互联网Java开发,从19年开始编写工作和学习历程的技术汇总,旨在为大家提供一个较清晰详细的核心技能学习文档。如果本文能为您提供帮助,请给予支持(关注、点赞、分享)!

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息

2022年01月

  • 01.13 15:02:14
    发表了文章 2022-01-13 15:02:14

    面经手册 · 第21篇《手写线程池,对照学习ThreadPoolExecutor线程池实现原理!》

    正好是2020年,看到这张图还是蛮有意思的。以前小时候总会看到一些科技电影,讲到机器人会怎样怎样,但没想到人似乎被娱乐化的东西,搞成了低头族、大肚子! 当意识到这一点时,其实非常怀念小时候。放假的早上跑出去,喊上三五个伙伴,要不下河摸摸鱼、弹弹玻璃球、打打pia、跳跳房子!一天下来真的不会感觉累,但现在如果是放假的一天,你的娱乐安排,很多时候会让头很累!
  • 01.13 14:56:28
    发表了文章 2022-01-13 14:56:28

    90%的程序员,都没用过多线程和锁,怎么成为架构师?

    如果是框架和中间件的存在,是了让程序员只关心业务开发。那为什么你面试的时候会被问到核心组件的设计和原理呢? 在这个年代,别放弃学习是你几乎唯一的生存途径。
  • 01.13 14:49:36
    发表了文章 2022-01-13 14:49:36

    面经手册 · 第19篇《Thread.start() ,它是怎么让线程启动的呢?》

    开始听这句话还在上学,既不卓越、也不优秀,甚至可能还有点笨!但突然从某次爬到班级的前几名后,开始喜欢上了这种感觉,原来前面的风景是如此灿烂😜! 优秀和卓越差的不是一个等级,当你感觉自己优秀后,还能保持空瓶的心态开始,才能逐步的像卓越迈进,并漫漫长! 是不小时候更容易学会更多的知识,但越大越笨了!人可能很容易被自己的年纪大了,当成长者。却很少能保持一个低姿态谦卑的心态,不断的学习。所以最后,放不下自己,也拾不起能力。
  • 01.13 14:47:10
    发表了文章 2022-01-13 14:47:10

    面经手册 · 第18篇《AQS 共享锁,Semaphore、CountDownLatch,听说数据库连接池可以用到!》

    是不是你看见过的突飞猛进都是别人,但自己却很难! 其实并没有一天的突飞猛进,也没有一口吃出来的胖子。有得更多的时候日积月累、不断沉淀,最后才能爆发、破局! 举个简单的例子,如果你大学毕业时候已经写了40万行代码,还找不到工作吗?但40万行平均到每天并不会很多,重要的是持之以恒的坚持。
  • 01.13 14:44:41
    发表了文章 2022-01-13 14:44:41

    面经手册 · 第17篇《码农会锁,ReentrantLock之AQS原理分析和实践使用》

    千万不要总自我否定,尤其是职场的打工人。如果你经常感觉,这个做不好,那个学不会,别的也不懂,那么久而久之会越来越缺乏自信。 一般说能成事的人都具有赌徒精神,在他们眼里只要做这事那就一定能成,当然也有可能最后就没成,但在整个过程中人的心态是良好的,每天都有一个饱满的精神状态,孜孜不倦的奋斗着。最后也就是这样的斗志让走在一个起点的小伙伴,有了差距。
  • 01.13 14:42:28
    发表了文章 2022-01-13 14:42:28

    面经手册 · 第16篇《码农会锁,ReentrantLock之公平锁讲解和实现》

    最近经常有小伙伴问我,以为我的经验来看,学多少够,好像更多的是看你的野心有多大。如果你只是想找个10k以内的二线城市的工作,那还是比较容易的。也不需要学数据结构、也不需要会算法、也需要懂源码、更不要有多少项目经验。 但反之我遇到一个国内大学TOP2毕业的娃,这货兼职是Offer收割机:腾讯、阿里、字节还有国外新加坡的工作机会等等,薪资待遇也是贼高,可能超过你对白菜价的认知。上学无用、学习无用,纯属扯淡! 你能在这条路上能付出的越多,能努力的越早,收获就会越大!
  • 01.13 14:39:18
    发表了文章 2022-01-13 14:39:18

    面经手册 · 第15篇《码农会锁,synchronized 解毒,剖析源码深度分析!》

    这是最近我总能被问到的问题,也确实是。一个初入编程职场的新人,或是一个想重新努力学习的老司机,这也不会,那也不会,总会犯愁从哪开始。 讲道理,毕竟 Java 涉及的知识太多了,要学应该是学会学习的能力,而不是去背题、背答案,拾人牙慧是不会有太多收益的。 学习的过程要找对方法,遇到问题时最好能自己想想,你有哪些方式学会这些知识。是不感觉即使让你去百度搜,你都不知道应该拿哪个关键字搜!只能拿着问题直接找人问,这样缺少思考,缺少大脑撞南墙的过程,其实最后也很难学会。
  • 01.13 14:34:56
    发表了文章 2022-01-13 14:34:56

    面经手册 · 第14篇《volatile 怎么实现的内存可见?没有 volatile 一定不可见吗?》

    一、码场心得 二、面试题 三、volatile 讲解 1. 可见性案例 2. 加上volatile关键字 3. volatile怎么保证的可见性 4. 反编译解毒可见性 5. 不加volatile也可见吗 四、总结 五、系列推荐
  • 01.13 14:30:21
    发表了文章 2022-01-13 14:30:21

    面经手册 · 第12篇《面试官,ThreadLocal 你要这么问,我就挂了!》

    我希望你懂数据结构,因为这样的你在使用HashMap、ArrayList、LinkedList,更加得心应手。 我希望你懂散列算法,因为这样的你在设计路由时,会有很多选择;除法散列法、平方散列法、斐波那契(Fibonacci)散列法等。 我希望你懂开源代码,因为这样的你在遇到问题时,可以快速定位,还可能创造出一些系统服务的中间件,来更好的解耦系统。 我希望你懂设计模式,因为这样的你可以写出可扩展、易维护的程序,让整个团队都能向更好的方向发展。
  • 01.13 12:00:46
    发表了文章 2022-01-13 12:00:46

    面经手册 · 第11篇《StringBuilder 比 String 快?空嘴白牙的,证据呢!》

    面我的题开发都用不到,你为什么要问?可能这是大部分程序员求职时的经历,甚至也是大家讨厌和烦躁的点。明明给的是拧螺丝的钱、明明做的是写CRUD的事、明明担的是成工具的人! 「明明... 有很多」,可明明公司不会招5年开发做3年经验的事、明明公司也更喜欢具有附加价值的研发。有些小公司不好说,但在一些互联网大厂中,我们都希望招聘到具有培养价值的,也更喜欢能快速打怪升级的,也更愿意让这样的人承担更大的职责。
  • 01.13 11:34:45
    发表了文章 2022-01-13 11:34:45

    面经手册 · 第7篇《ArrayList也这么多知识?一个指定位置插入就把谢飞机面晕了!》

    可能有人觉得这类知识就像「八股文」,学习只是为了应付面试。如果你真的把这些用于支撑其整个语言的根基当八股文学习,那么硬背下来不会有多少收获。理科学习更在乎逻辑,重在是理解基本原理,有了原理基础就复用这样的技术运用到实际的业务开发。 那么,你什么时候会用到这样的技术呢?就是,当你考虑体量、夯实服务、琢磨性能时,就会逐渐的深入到数据结构以及核心的基本原理当中,那里的每一分深入,都会让整个服务性能成指数的提升。 二、面试题
  • 01.13 11:28:52
    发表了文章 2022-01-13 11:28:52

    面经手册 · 第6篇《带着面试题学习红黑树操作原理,解析什么时候染色、怎么进行旋转、与2-3树有什么关联》

    红黑树的结构和设计都非常优秀,也同样在实现上有着复杂的处理逻辑,包括插入或者删除节点时;颜色变化、旋转操作等操作。但如果只把这些知识点硬背下来,什么时候染色、什么时候旋转,是没有多大意义的,用不了多久也就忘记了。「所以这部分的学习,了解其根本更重要。」
  • 01.13 11:19:39
    发表了文章 2022-01-13 11:19:39

    面经手册 · 第5篇《看图说话,讲解2-3平衡树「红黑树的前身」》

    这一章节是结合HashMap的延展,在Jdk1.8中HashMap是使用桶数组+链表和红黑树实现,所以顺着上一章节的核心原理和API功能讲解后,本来这一章节想直接进入到红黑树,但如果想把红黑树学明白,就需要了解他的来龙去脉,也就是它的前身2-3树🌲。
  • 01.13 11:11:01
    发表了文章 2022-01-13 11:11:01

    面经手册 · 第4篇《HashMap数据插入、查找、删除、遍历,源码分析》

    在上一章节我们讲解并用数据验证了,HashMap中的,散列表的实现、扰动函数、负载因子以及扩容拆分等核心知识点以及相应的作用。 除了以上这些知识点外,HashMap还有基本的数据功能;存储、删除、获取、遍历,在这些功能中经常会听到链表、红黑树、之间转换等功能。而红黑树是在jdk1.8引入到HashMap中解决链表过长问题的,简单说当链表长度>=8时,将链表转换为红黑树(当然这里还有一个扩容的知识点,不一定都会树化[MIN_TREEIFY_CAPACITY])。
  • 01.13 11:05:02
    发表了文章 2022-01-13 11:05:02

    面经手册 · 第3篇《HashMap核心知识,扰动函数、负载因子、扩容链表拆分深度学习(+实践验证)》

    HashMap 最早出现在 JDK 1.2中,底层基于散列算法实现。HashMap 允许 null 键和 null 值,在计算哈键的哈希值时,null 键哈希值为 0。HashMap 并不保证键值对的顺序,这意味着在进行某些操作后,键值对的顺序可能会发生变化。另外,需要注意的是,HashMap 是非线程安全类,在多线程环境下可能会存在问题。
  • 01.13 10:58:58
    发表了文章 2022-01-13 10:58:58

    面经手册 · 第2篇《数据结构,HashCode为什么使用31作为乘数?》

    在面经手册的前两篇介绍了「《面试官都问我啥》」和「《认知自己的技术栈盲区》」,这两篇内容主要为了说明面试过程的考查范围,包括个人的自我介绍、技术栈积累、项目经验等,以及在技术栈盲区篇章中介绍了一个整套技术栈在系统架构用的应用,以此全方面的扫描自己有哪些盲区还需要补充。而接下来的章节会以各个系列的技术栈中遇到的面试题作为切入点,讲解技术要点,了解技术原理,包括;数据结构、数据算法、技术栈、框架等进行逐步展开学习。
  • 01.13 10:53:56
    发表了文章 2022-01-13 10:53:56

    面经手册 · 第1篇《认知自己的技术栈盲区》

    讲到技术盲区,先说说我自己。几年前我也是从传统行业跨到互联网,同时还是从C#开发转到Java开发,与其说转不如说是回归Java。从上大学到毕业实习,我都是做Java的,但入职第一家公司,由于技术积累以及需要用C#与中继器、IO板卡、摄像头等进行交互,以及开发的软件是部署到客户端的,所以整套服务都是C#与少部分的C语言进行编写。
  • 01.13 10:49:56
    发表了文章 2022-01-13 10:49:56

    重学 Java 设计模式:实战备忘录模式「模拟互联网系统上线过程中,配置文件回滚场景」

    实现不了,有时候是功能复杂度较高难以实现,有时候是工期较短实现不完。而编码的行为又是一个不太好量化的过程,同样一个功能每个人的实现方式不一样,遇到开发问题解决问题的速度也不一样。除此之外还很不好给产品解释具体为什么要这个工期时间,这就像盖楼的图纸最终要多少水泥砂浆一样。那么这时研发会尽可能的去通过一些经验,制定流程规范、设计、开发、评审等,确定一个可以完成的时间范围,又避免风险的时间点后。再被压缩,往往会出一些矛盾点,能压缩要解释为什么之前要那么多时间,不能压缩又有各方不断施加的压力。因此有时候不一定是借口,是要考虑如何让整个团队健康的发展。
  • 01.13 10:45:14
    发表了文章 2022-01-13 10:45:14

    重学 Java 设计模式:实战代理模式「模拟mybatis-spring中定义DAO接口,使用代理类方式操作数据库原理实现场景」

    可能很多小伙伴认为技术开发就是承接下产品需求,写写CRUD,不会的百度一下,就完事了,总觉得别人问的东西像再造火箭一样。但在高体量、高并发的业务场景下,每一次的压测优化,性能提升,都像在研究一道数学题一样,反复的锤炼,压榨性能。不断的深究,找到最合适的设计。除了这些优化提升外,还有那么广阔的技术体系栈,都可能因为你只是注重CRUD而被忽略;字节码编程、领域驱动设计架构、代理模式中间件开发、JVM虚拟机实现原理等等。
  • 01.13 10:39:50
    发表了文章 2022-01-13 10:39:50

    重学 Java 设计模式:实战享元模式「基于Redis秒杀,提供活动与库存信息查询场景」

    工作内容往往有些像在工厂🏭拧螺丝,大部分内容是重复的,也可以想象过去的一年你有过多少创新和学习了新的技能。那么这时候一般为了多学些内容会买一些技术书籍,但!技术类书籍和其他书籍不同,只要不去用看了也就只是轻描淡写,很难接纳和理解。就像设计模式,虽然可能看了几遍,但是在实际编码中仍然很少会用,大部分原因还是没有认认真真的跟着实操。事必躬亲才是学习编程的最好是方式。
  • 01.13 10:35:22
    发表了文章 2022-01-13 10:35:22

    重学 Java 设计模式:实战外观模式

    设计模式是解决程序中不合理、不易于扩展、不易于维护的问题,也是干掉大部分ifelse的利器,在我们常用的框架中基本都会用到大量的设计模式来构建组件,这样也能方便框架的升级和功能的扩展。但!如果不能合理的设计以及乱用设计模式,会导致整个编程变得更加复杂难维护,也就是我们常说的;反设计、过渡设计。而这部分设计能力也是从实践的项目中获取的经验,不断的改造优化摸索出的最合理的方式,应对当前的服务体量。
  • 01.13 10:32:06
    发表了文章 2022-01-13 10:32:06

    重学 Java 设计模式:实战装饰器模式

    两个本想描述一样的意思的词,只因一字只差就让人觉得一个是好牛,一个好搞笑。往往我们去开发编程写代码时也经常将一些不恰当的用法用于业务需求实现中,但却不能意识到。一方面是由于编码不多缺少较大型项目的实践,另一方面是不思进取的总在以完成需求为目标缺少精益求精的工匠精神。
  • 01.13 10:27:05
    发表了文章 2022-01-13 10:27:05

    重学 Java 设计模式:实战组合模式

    往往很多大需求都是通过增删改查堆出来的,今天要一个需求if一下,明天加个内容else扩展一下。日积月累需求也就越来越大,扩展和维护的成本也就越来越高。往往大部分研发是不具备产品思维和整体业务需求导向的,总以为写好代码完成功能即可。但这样的不考虑扩展性的实现,很难让后续的需求都快速迭代,久而久之就会被陷入恶性循环,每天都有bug要改。
  • 01.13 10:22:58
    发表了文章 2022-01-13 10:22:58

    重学 Java 设计模式:实战桥接模式

    设计模式是可以帮助你改善代码 很多时候你写出来的ifelse都是没有考虑使用设计模式优化,就像;同类服务的不同接口适配包装、同类物料不同组合的建造、多种奖品组合的营销工厂等等。它们都可以让你代码中原本使用if判断的地方,变成一组组类和面向对象的实现过程。 怎么把设计模式和实际开发结合起来
  • 01.13 10:20:04
    发表了文章 2022-01-13 10:20:04

    重学 Java 设计模式:实战适配器模式

    框架中不仅用到设计模式还用了很多,而且有些时候根本不是一个模式的单独使用,而是多种设计模式的综合运用。与大部分小伙伴平时开发的CRUD可就不一样了,如果都是if语句从上到下,也就算得不上什么框架了。就像你到Spring的源码中搜关键字Adapter,就会出现很多实现类,例如;UserCredentialsDataSourceAdapter。而这种设计模式就是我们本文要介绍的适配器模式。
  • 01.13 10:16:30
    发表了文章 2022-01-13 10:16:30

    重学 Java 设计模式:实战单例模式

    在本次编写的「重学 Java 设计模式」的编写中尽可能多的用各种场景案例还介绍设计的使用,包括我们已经使用过的场景;各种类型奖品发放、多套Redis缓存集群升级、装修公司报价清单和百份考卷题目与答案乱序,通过这些场景案例的实践感受设计模式的思想。但这些场景都是作者通过经验分离出来的,还并不是读者的知识,所以你如果希望可以融会贯通的掌握那么一定要亲力亲为的操作,事必躬亲的完成。 书不是看的是用的
  • 01.13 10:04:59
    发表了文章 2022-01-13 10:04:59

    重学 Java 设计模式:实战抽象工厂模式

    在学习的过程中首先要有案例,之后再结合案例与自己实际的业务,尝试重构改造,慢慢体会其中的感受,从而也就学会了如果搭建出优秀的代码。
  • 01.13 09:52:11
    发表了文章 2022-01-13 09:52:11

    字节码编程,Byte-buddy篇三《使用委托实现抽象类方法并注入自定义注解信息》

    截至到本章节关于字节码框架 Byte-buddy 的大部分常用 API 的使用已经通过案例介绍比较全面了,接下来介绍关于如何去实现一个抽象类以及创建出相应注解(包括类的注解和方法的注解)的知识点。而注解的这部分内容在一些监控或者拦截处理的场景下还是比较常用的,所以在这章节我们会通过一个例子来创建出含有自定义注解的类和方法。 如果你已经阅读了之前的系列文章,这部分学习的内容并不会有太多的陌生,主要是关于委托(MethodDelegation)方法的使用以及补充自定义注解。
  • 01.13 09:50:30
    发表了文章 2022-01-13 09:50:30

    字节码编程,Byte-buddy篇二《监控方法执行耗时动态获取出入参类型和值》

    在前面的ASM、Javassist 章节中也有陆续实现过获取方法的出入参信息,但实现的方式还是偏向于字节码控制,尤其ASM,更是需要使用到字节码指令将入参信息压栈操作保存到局部变量用于输出,在这个过程中需要深入了解Java虚拟机规范,否则很不好完成这一项的开发。但!ASM也是性能最牛的。其他的字节码编程框架都是基于它所开发的。
  • 01.13 09:47:36
    发表了文章 2022-01-13 09:47:36

    字节码编程,Byte-buddy篇一《基于Byte Buddy语法创建的第一个HelloWorld》

    相对于小傅哥之前编写的字节码编程;ASM、Javassist 系列,Byte Buddy 玩法上更加高级,你可以完全不需要了解一个类和方法块是如何通过 指令码 LDC、LOAD、STORE、IRETURN... 生成出来的。就像它的官网介绍; Byte Buddy 是一个代码生成和操作库,用于在 Java 应用程序运行时创建和修改 Java 类,而无需编译器的帮助。除了 Java 类库附带的代码生成实用程序外,Byte Buddy 还允许创建任意类,并且不限于实现用于创建运行时代理的接口。此外,Byte Buddy 提供了一种方便的 API,可以使用 Java 代理或在构建过程中手动更改类。
  • 01.13 09:44:22
    发表了文章 2022-01-13 09:44:22

    字节码编程,Javassist篇五《使用Bytecode指令码生成含有自定义注解的类和方法》

    到本章为止已经写了四篇关于字节码编程的内容,涉及了大部分的API方法。整体来说对 Javassist 已经有一个基本的使用认知。那么在 Javassist 中不仅提供了高级 API 用于创建和修改类、方法,还提供了低级 API 控制字节码指令的方式进行操作类、方法。
  • 01.13 09:42:17
    发表了文章 2022-01-13 09:42:17

    字节码编程,Javassist篇四《通过字节码插桩监控方法采集运行时入参出参和异常信息》

    字节码编程插桩这种技术常与 Javaagent 技术结合用在系统的非入侵监控中,这样就可以替代在方法中进行硬编码操作。比如,你需要监控一个方法,包括;方法信息、执行耗时、出入参数、执行链路以及异常等。那么就非常适合使用这样的技术手段进行处理。 为了能让这部分最核心的内容体现出来,本文会只使用 Javassist 技术对一段方法字节码进行插桩操作,最终输出这段方法的执行信息,
  • 01.12 21:43:52
    发表了文章 2022-01-12 21:43:52

    字节码编程,Javassist篇二《定义属性以及创建方法时多种入参和出参类型的使用》

    在上一篇 「Helloworld」 中,我们初步尝试使用了 Javassist字节编程的方式,来创建我们的方法体并通过反射调用运行了结果。大致了解到创建在使用字节码编程的时候基本离不开三个核心类;ClassPool、CtClass、CtMethod,它们分别管理着对象容器、类和方法。但是我们还少用一样就是字段;CtFields,在这一章节中我们不止会使用字段,还会创建多个不同入参类型和返回值的学习。
  • 01.12 21:40:06
    发表了文章 2022-01-12 21:40:06

    字节码编程,Javassist篇一《基于javassist的第一个案例helloworld》

    在字节码编程方面有三个比较常见的框架;ASM、byte-buddy、Javassist,他们都可以对这字节码进行操作,只是操作方式和控制粒度不同。 其中 「ASM」 更偏向于底层,需要了解 「JVM」 虚拟机中指定规范以及对局部变量以及操作数栈的知识。虽然在编写起来比较麻烦,但是它也是性能最好功能最强的字节码操作框架。常见的会用在 「CGLIB」 动态代理类中,以及一些非入侵的探针监控场景中。 另外两个框架都是有强大的 API,操作使用上更加容易控制。虽然对对比上会比 「ASM」 性能差一些,但不是说性能完全不好。同样在一些监控场景中也用的非常多。如果你细心可以在你的工程 「jar」 包搜索一
  • 01.12 21:36:33
    发表了文章 2022-01-12 21:36:33

    ASM字节码编程 | 用字节码增强技术给所有方法加上TryCatch捕获异常并输出!

    最简单粗暴的可能就是硬编码在方法中,收取执行耗时以及出入参和异常信息。但这样的成本实在太大,而且有一些不可预估的风险。 可以选择切面方式做一套统一监控的组件,相对来说还是好一些的。但也需要硬编码,同时维护成本不低。 市面上对于这样的监控其实是有整套的非入侵监控方案的,比如;Google Dapper、Zipkin等都可以实现,他们都是基于探针技术非入侵的采用字节码增强的方式进行监控。
  • 01.12 21:27:11
    发表了文章 2022-01-12 21:27:11

    ASM字节码编程 | JavaAgent+ASM字节码插桩采集方法名称以及入参和出参结果并记录方法耗时

    研发代码涉及流程链路展示、每个链路测试次数、通过次数、失败次数、当时的出入参信息以及对应的代码块在当前提测分支修改记录等各项信息。最终测试在执行验证时候,分配验证渠道扫描到所有分支节点,可以清晰的看到全链路的影响。那么,这样的测试才是可以保证系统的整体质量的。
  • 01.12 21:17:14
    发表了文章 2022-01-12 21:17:14

    架构框架搭建(二)《Dubbo分布式领域驱动设计架构框体》

    随着项目需求的变化,或者说从小公司跳槽了互联网。需求变化了、承载的用户体量增多了,整体系统的架构也随着改变了。就像你做毕业设计的时候,可能只为了完成功能即可,一个单体的MVC结构足可以让你毕业。但!现在你长大了,为了可以承载几百、几千、几亿的用户体量,你开始发现原来还有这么多套路在里面。对于爱学习的人,肯定蠢蠢欲动的想研究研究了
  • 01.12 21:10:47
    发表了文章 2022-01-12 21:10:47

    架构框架搭建(一)《单体应用服务之SSM整合:Spring4 + SpringMvc + Mybatis》

    在实际的业务开发中按照不同的场景需要,会有不同的业务架构也就同时会有不同的技术框架来支撑。那么这个专题想把一些常用的框架整理下,方便平时使用的同时也做一些技术沉淀。那么本章节会先搭建一个比较适合个人项目或者一些小公司开发项目的单体架构模型
  • 01.12 21:06:42
    发表了文章 2022-01-12 21:06:42

    有点干货 | JDK、CGLIB动态代理使用以及源码分析

    在Java中动态代理是非常重要也是非常有用的一个技术点,如果没有动态代理技术几乎也就不会有各种优秀框架的出现,包括Spring。 其实在动态代理的使用中,除了我们平时用的Spring还有很多中间件和服务都用了动态代理
  • 01.12 21:02:29
    发表了文章 2022-01-12 21:02:29

    Spring Boot 中间件开发(一)《服务治理中间件之统一白名单验证》

    Spring Boot + 领域驱动设计使得微服务越来越火热,而随着微服务越来越多,服务的治理就显得尤为重要。 在我们的业务领域开发中,经常会有一些通用性功能搭建,比如;白名单、黑名单、限流、熔断等,为了更好的开发业务功能,我们需要将非业务功能的通用逻辑提取出来开发出通用组件,以便于业务系统使用。而不至于Copy来Copy去,让代码乱的得加薪才能修改的地步!
  • 01.12 20:59:02
    发表了文章 2022-01-12 20:59:02

    Spring Cloud(九)《服务网关Zuul 动态路由与权限过滤器》

    在实际的业务开发中不只是将路由配置放到文件中,而是需要进行动态管理并且可以在变化时不用重启系统就可以更新。与此同时还需要在接口访问的时候,可以增加一些权限验证以防止恶意访问。
  • 01.12 20:55:37
    发表了文章 2022-01-12 20:55:37

    Spring Cloud(八)《服务网关路由 Zuul1》

    为什么会有路由层?因为在微服务架构设计中,往往并不会直接将服务暴漏给调用端,而是通过调用路由层进行业务隔离,以达到不同的业务调用对应的服务模块。
  • 01.12 20:51:37
    发表了文章 2022-01-12 20:51:37

    Spring Cloud(七)《基于RabbitMQ消息总线方式刷新配置服务》

    在微服务架构中,为了更方便的向微服务实例广播消息,我们通常会构建一个消息中心,让所有的服务实例都连接上来,而该消息中心所发布的消息都会被微服务实例监听和消费,我们把这种机制叫做消息总线(SpringCloud Bus)
  • 发表了文章 2022-10-17

    面试官:深度不够,建议回去深挖。—— 你的回答,总绕来绕去?

  • 发表了文章 2022-10-08

    35+,如果面试让我手写红黑树!

  • 发表了文章 2022-08-17

    如果让我设计一套,TPS 百万级 API 网关!

  • 发表了文章 2022-07-18

    「分享」从Mybatis源码中,学习到的10种设计模式

  • 发表了文章 2022-06-20

    敲了几万行源码后,我给Mybatis画了张“全地图”

  • 发表了文章 2022-05-09

    【校招 / 社招】面试字节,写了一份硬核简历!

  • 发表了文章 2022-05-05

    大厂程序员,手写Mybatis

  • 发表了文章 2022-02-21

    怎么说服领导,能让我用DDD架构肝项目?

  • 发表了文章 2022-01-13

    《IntelliJ IDEA 插件开发》第七节:通过Inspection机制,对静态代码安全审查

  • 发表了文章 2022-01-13

    《IntelliJ IDEA 插件开发》第六节:选定对象批量织入“x.set(y.get)”代码,自动生成vo2dto

  • 发表了文章 2022-01-13

    《IntelliJ IDEA 插件开发》第 五 节:IDEA工程右键菜单,自动生成ORM代码

  • 发表了文章 2022-01-13

    《IntelliJ IDEA 插件开发》第四节:扩展创建工程向导步骤,开发DDD脚手架

  • 发表了文章 2022-01-13

    《IntelliJ IDEA 插件开发》第二节:开发摸鱼看书的侧边栏窗体

  • 发表了文章 2022-01-13

    《IntelliJ IDEA 插件开发》第一节:两种方式创建插件工程

  • 发表了文章 2022-01-13

    12种 vo2dto 方法,就 BeanUtil.copyProperties 压测数据最拉跨!

  • 发表了文章 2022-01-13

    还重构?就你那代码只能铲了重写!

  • 发表了文章 2022-01-13

    技术调研,IDEA 插件怎么开发「脚手架、低代码可视化编排、接口生成测试」?

  • 发表了文章 2022-01-13

    《Spring 手撸专栏》第 15 章:万人之敌,通过注解给属性注入配置和Bean对象

  • 发表了文章 2022-01-13

    《Spring 手撸专栏》第 14 章:笑傲江湖,通过注解配置和包自动扫描的方式完成Bean对象的注册

  • 发表了文章 2022-01-13

    《Spring 手撸专栏》第 13 章:行云流水,把AOP动态代理,融入到Bean的生命周期

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息