沉淀、分享、成长,让自己和他人都能有所收获

  1. 源码分析 | 基于jdbc实现一个Demo版的Mybatis

    在前面一篇分析了 mybatis 源码,从它为什么之后接口但是没有实现类就能执行数据库操作为入口,整个源码核心流程完全解释了一遍。对于一个3年以上的程序员来说,新知识的学习过程应该是从最开始 helloworld 到熟练使用 api 完成业务功能。下一步为了深入了解就需要阅读部分核心源码,从而在出问题后可以快速定位,迅速排查。从而减少线上事故的持续时长,提升个人影响力。但!这不是学习终点,因为无论是任何一个框架的源码,如果只是看那么就很难学习到它的实用技术。纸上得来终觉浅,唯有实战和操练。

    2020/01/13

  2. 源码分析 | 像盗墓一样分析Spring是怎么初始化xml并注册bean的

    往往简单的背后都有人为你承担着不简单,Spring 就是这样的家伙!而分析它的源码就像鬼吹灯,需要寻龙、点穴、分金、定位,最后往往受点伤(时间)、流点血(精力)、才能获得宝藏(成果)。

    2020/01/08

  3. 源码分析 | 咋嘞?你的IDEA过期了吧!加个Jar包就破解了,为什么?

    当你过了元旦,爽了周末,清早上班,拿起杯子,加点新(薪)水,打开电脑,收起烦恼,翘起小脚,上扬嘴角。一切就绪都准备好,好!撸代码!啊!!!IDEA duang duang duang,过期了!

    2020/01/06

  4. 源码分析 | Spring定时任务Quartz执行全过程源码解读

    在日常开发中经常会用到定时任务,用来;库表扫描发送MQ、T+n账单结算、缓存数据更新、秒杀活动状态变更,等等。因为有了Spring的Schedule极大的方便了我们对这类场景的使用。那么,除了应用你还了解它多少呢;默认初始化多少个任务线程、JobStore有几种实现,你平时用的都是哪个、一个定时任务的执行流程简述下

    2020/01/01

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

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

    2019/12/31

  6. 源码分析 | Mybatis接口没有实现类为什么可以执行增删改查

    MyBatis 是一款非常优秀的持久层框架,相对于IBatis更是精进了不少。与此同时它还提供了很多的扩展点,比如最常用的插件;语言驱动器,执行器,对象工厂,对象包装器工厂等等都可以扩展。那么,如果想成为一个有深度的男人(程序猿),还是应该好好的学习一下这款开源框架的源码,以此可以更好的领会设计模式的精髓(面试?)。其实可能平常的业务开发中,并不会去深究各个框架的源代码,也常常会听到即使不会也可以开发代码。但!每个人的目标不同,就像;代码写的好工资加的少(没有bug怎么看出你工作嘞!),好!为了改变世界,开始分析喽!

    2019/12/25

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

    在实际的业务开发中按照不同的场景需要,会有不同的业务架构也就同时会有不同的技术框架来支撑。那么这个专题想把一些常用的框架整理下,方便平时使用的同时也做一些技术沉淀。那么本章节会先搭建一个比较适合个人项目或者一些小公司开发项目的单体架构模型。服务功能展示页面如下;

    2019/12/22

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

    在Java中动态代理是非常重要也是非常有用的一个技术点,如果没有动态代理技术几乎也就不会有各种优秀框架的出现,包括Spring。

    2019/12/21

  9. 有点干货 | Jdk1.8新特性实战篇(41个案例)

    jdk8的新特性包括了;Lambda、函数式接口、四饼调用::、内置函数(断言、Function、生产者、消费者)、Stream流、Map集合特性、日期、注解等

    2019/12/10

  10. 开发基于SpringBoot的分布式任务中间件DcsSchedule(为开源贡献力量)

    如果我们的任务是比较大型的,比如;定时跑批T+1结算、商品秒杀前状态变更、刷新数据预热到缓存等等,这些定时任务都相同的特点;作业量大、实时性强、可用率高。而这时候如果只是单纯使用Schedule就显得不足以控制

    2019/12/08

  11. 发布Jar包到Maven中央仓库(为开发开源中间件做准备)

    最近想基于Spring Boot做个开源共享项目,开发一个分布式任务DcsSchedule中间件可以把Schedule增强。那么遇到一个问题希望把Jar包发包到Maven中央仓库,这样需要使用的用户就可以直接引入

    2019/12/07

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

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

    2019/12/02

(转载本站文章请注明作者和出处 微信公众号:bugstack虫洞栈 | 作者:付政委

跟着案例学Netty,Netty4.x案例从简单入门到应用实战,全篇35节优秀案例+实战源码[基础篇(13)、中级篇(13)、高级篇(3章+)、源码分析篇]。

本专题通过Java代码来实现JVM的基础功能(搜索解析class文件、字节码命令、运行时数据区等),从而让java程序员通过最熟知的java程序,学习JVM是如何将java程序一步步跑起来的。


微信公众号:bugstack虫洞栈 | 专注于原创开发专题案例。跟着案例学Netty,Netty4.x案例从简单入门到应用实战,全篇37章节优秀案例+实战源码[基础篇(13)、中级篇(13)、高级篇(3章+)、源码分析篇],以上章节全部完成并不断持续更新中。欢迎关注公众号:bugstack虫洞栈 | 阅读专题文章+调试案例源码学习{回复netty案例}。

111 56

使用netty5.0通信方式的局域网聊天,可以快速学习java桌面程序开发。仿照qq登陆首页,界面优雅迷人。本聊天程序叫;《语约》或者《与约》!我认为比马桶、啥的名字好太多了!

44 42

本专题主要介绍如何通过java代码来实现JVM的基础功能(搜索解析class文件、字节码命令、运行时数据区等),从而让java程序员通过最熟知的java程序,学习JVM是如何将java程序一步步跑起来的,按照《java虚拟机规范》与go语言版的《自己动手写Java虚拟机》实现java版虚拟机案例如下;

29 16

增强SpringBoot Schedule,开发中间件以zookeeper为注册中心扩展为分布式任务调度系统,接入方式接单易用,目前实现功能如下; 多机器部署任务 统一控制中心启停 宕机灾备,自动启动执行 实时检测任务执行信息:部署数量、任务总量、成功次数、失败次数、执行耗时等

25 8

一直想把jdk1.8的新特性整理下,恰好看到老外的git(文后有链接),在这个结构上继续完善了说明和功能,做了41个单元测试案例,方便新人学习。以下内容很干,对于一个萌新小白来说,学习jdk1.8的新特性,基本看一遍就知道个7788了,在熟读两遍最后跟着写一遍,那么在实际项目中就可以运用了。不过!新特性,虽然很好。但如果想用,那么自己一定要看看相对应的源码并多练习,否则真的容易给自己搞晕,又很难阅读。

17 7

目前市面的全链路监控系统基本都是参考Google的Dapper来做的,本专题主要通过六个章节的代码实战,来介绍如何使用javaagent以及字节码应用,来实现一个简单的java代码链路流程监控。 章节列表 - 基于JavaAgent的全链路监控一《嗨!JavaAgent》 - 基于JavaAgent的全链路监控二《通过字节码增加监控执行耗时》 - 基于JavaAgent的全链路监控三《ByteBuddy操作监控方法字节码》 - 基于JavaAgent的全链路监控四《JVM内存与GC信息》 - 基于JavaAgent的全链路监控五《ThreadLocal链路追踪》 - 基于JavaAgent的全链路监控六《开发应用级监控》 关注微信公众号,bugstack虫洞栈,回复获取源码

12 9