作者:小傅哥
博客:https://bugstack.cn
沉淀、分享、成长,让自己和他人都能有所收获!
2019年共计编写74
篇原创文章,其中包括;JVM、JavaAgent、字节码编程、Netty网络通信、SpringCloud、源码分析、中间件开发以及架构设计和两篇走码文章。以下是有所内容的归档,欢迎收藏。
用Java实现JVM
本专题主要介绍如何通过 Java
代码来实现JVM的基础功能(搜索解析class文件、字节码命令、运行时数据区等),从而让 Java
程序员通过最熟知的 Java
程序,学习JVM是如何将java程序一步步跑起来的,按照《java虚拟机规范》与go语言版的《自己动手写Java虚拟机》实现 Java
版虚拟机案例。
源码:https://github.com/fuzhengwei/itstack-demo-jvm
- 用Java实现JVM第一章《命令行工具》
- 用Java实现JVM第二章《搜索class文件》
- 用Java实现JVM第三章《解析class文件》
- 用Java实现JVM第三章《解析class文件》附[classReader拆解]
- 用Java实现JVM第四章《运行时数据区》
- 用Java实现JVM第五章《指令集和解释器》
- 用Java实现JVM第六章《类和对象》
- 用Java实现JVM第七章《方法调用和返回》
- 用Java实现JVM第八章《数组和字符串》
- 用Java实现JVM第九章《本地方法调用》
- 用Java实现JVM第十章《异常处理》
基于JavaAgent的全链路监控
目前市面的全链路监控系统基本都是参考Google的Dapper来做的,本专题主要通过六个章节的代码实战,来介绍如何使用javaagent以及字节码应用,来实现一个简单的java代码链路流程监控。
源码:https://github.com/fuzhengwei/itstack-demo-agent
- 基于JavaAgent的全链路监控一《嗨!JavaAgent》
- 基于JavaAgent的全链路监控二《通过字节码增加监控执行耗时》
- 基于JavaAgent的全链路监控三《ByteBuddy操作监控方法字节码》
- 基于JavaAgent的全链路监控四《JVM内存与GC信息》
- 基于JavaAgent的全链路监控五《ThreadLocal链路追踪》
- 基于JavaAgent的全链路监控六《开发应用级监控》
- 基于jvmti定位java异常信息
Netty4.x 专题案例
本专题针对netty4.x分为从;基础入门篇(十三篇)、中级拓展篇(十三篇)、高级应用篇(三章+)以及源码分析篇,由浅入深通过案例实战学习netty,使netty学习者快速上手到实用。
源码:https://github.com/fuzhengwei/itstack-demo-netty
基础入门篇(十三篇)
- netty案例,netty4.1基础入门篇零《初入JavaIO之门BIO、NIO、AIO实战练习》
- netty案例,netty4.1基础入门篇一《嗨!NettyServer》
- netty案例,netty4.1基础入门篇二《NettyServer接收数据》
- netty案例,netty4.1基础入门篇三《NettyServer字符串解码器》
- netty案例,netty4.1基础入门篇四《NettyServer收发数据》
- netty案例,netty4.1基础入门篇五《NettyServer字符串编码器》
- netty案例,netty4.1基础入门篇六《NettyServer群发消息》
- netty案例,netty4.1基础入门篇七《嗨!NettyClient》
- netty案例,netty4.1基础入门篇八《NettyClient半包粘包处理、编码解码处理、收发数据方式》
- netty案例,netty4.1基础入门篇九《自定义编码解码器,处理半包、粘包数据》
- netty案例,netty4.1基础入门篇十《关于ChannelOutboundHandlerAdapter简单使用》
- netty案例,netty4.1基础入门篇十一《netty udp通信方式案例Demo》
- netty案例,netty4.1基础入门篇十二《简单实现一个基于Netty搭建的Http服务》
中级拓展篇(十三篇)
- netty案例,netty4.1中级拓展篇一《Netty与SpringBoot整合》
- netty案例,netty4.1中级拓展篇二《Netty使用Protobuf传输数据》
- netty案例,netty4.1中级拓展篇三《Netty传输Java对象》
- netty案例,netty4.1中级拓展篇四《Netty传输文件、分片发送、断点续传》
- netty案例,netty4.1中级拓展篇五《基于Netty搭建WebSocket,模仿微信聊天页面》
- netty案例,netty4.1中级拓展篇六《SpringBoot+Netty+Elasticsearch收集日志信息数据存储》
- netty案例,netty4.1中级拓展篇七《Netty请求响应同步通信》
- netty案例,netty4.1中级拓展篇八《Netty心跳服务与断线重连》
- netty案例,netty4.1中级拓展篇九《Netty集群部署实现跨服务端通信的落地方案》
- netty案例,netty4.1中级拓展篇十《Netty接收发送多种协议消息类型的通信处理方案》
- netty案例,netty4.1中级拓展篇十一《Netty基于ChunkedStream数据流切块传输》
- netty案例,netty4.1中级拓展篇十二《Netty流量整形数据流速率控制分析与实战》
- netty案例,netty4.1中级拓展篇十三《Netty基于SSL实现信息传输过程中双向加密验证》
高级应用篇(三章+)
- 手写RPC框架第一章《自定义配置xml》
- 手写RPC框架第二章《netty通信》
- 手写RPC框架第三章《RPC中间件》
- 基于Netty实践搭建的物联网网关iot-gatway
- websocket与下位机通过netty方式通信传输行为信息
源码分析篇
- netty案例,netty4.1源码分析篇一《NioEventLoopGroup源码分析》
- netty案例,netty4.1源码分析篇二《ServerBootstrap配置与绑定启动》
- netty案例,netty4.1源码分析篇三《Netty服务端初始化过程以及反射工厂的作用》
- netty案例,netty4.1源码分析篇四《ByteBuf的数据结构在使用方式中的剖析》
- netty案例,netty4.1源码分析篇五《一行简单的writeAndFlush都做了哪些事》
- netty案例,netty4.1源码分析篇六《Netty异步架构监听类Promise源码分析》
DDD 领域驱动设计
- DDD专题案例一《初识领域驱动设计DDD落地》
- DDD专题案例二《领域层决策规则树服务设计》
- DDD专题案例三《领域驱动设计架构基于SpringCloud搭建微服务》
SpringCloud 入门教程
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。
源码:https://github.com/fuzhengwei/itstack-demo-springcloud
- Spring Cloud(零)《总有一偏概述告诉你SpringCloud是什么》
- Spring Cloud(一)《服务集群注册与发现 Eureka》
- Spring Cloud(二)《服务提供与负载均衡调用 Eureka》
- Spring Cloud(三)《应用服务快速失败熔断降级保护 Hystrix》
- Spring Cloud(四)《服务响应性能成功率监控 Hystrix》
- Spring Cloud(五)《Turbine 监控信息聚合展示 Hystrix》
- Spring Cloud(六)《基于github webhook动态刷新服务配置》
- Spring Cloud(七)《基于RabbitMQ消息总线方式刷新配置服务》
- Spring Cloud(八)《服务网关路由 Zuul1》
- Spring Cloud(九)《服务网关Zuul 动态路由与权限过滤器》
源码分析
通过源码分析掌握框架中核心技能,逐步增强面向对象开发。并将技术栈知识赋能于自己在业务开发中的架构设计。
源码:https://github.com/fuzhengwei/itstack-demo-code
源码分析 | Mybatis接口没有实现类为什么可以执行增删改查
中间件开发
大部分CRUD程序员在职业生涯中基本不会接触到中间件开发,从而也会错失很多技能提升的机会。包括如何于 Spring
结合,如果自动化处理,怎么让业务代码于通用核心逻辑分离。这都是个人技术栈成长的必经之路。
- Spring Boot 中间件开发(一)《服务治理中间件之统一白名单验证》
- 发布Jar包到Maven中央仓库(为开发开源中间件做准备)
- 开发基于SpringBoot的分布式任务中间件DcsSchedule(为开源贡献力量)
架构设计
- 架构框架搭建(一)《单体应用服务之SSM整合:Spring4 + SpringMvc + Mybatis》
- 架构框架搭建(二)《Dubbo分布式领域驱动设计架构框体》
走码观花
- 有点干货 | Jdk1.8新特性实战篇(41个案例)
- 并不想吹牛皮,但!为了把Github博客粉丝转移到公众号,我干了!