Author: Small Fu brother
blog: https: //bugstack.cn
Deposit, share, and grow, so that you and others can gain something!
In 2019 , a total 74
of original articles were written, including; JVM, JavaAgent, bytecode programming, Netty network communication, SpringCloud, source code analysis, middleware development and architecture design, and two code walking articles The following is an archive of content, welcome to collect.
Implementation of JVM in Java
This topic describes how Java
to implement basic functions of the JVM (Insights for Search class file byte code command, run-time data area, etc.) code so that Java
the programmer through the most well-known Java
program, learning how to java JVM is a step by step program run up, in accordance with the "java virtual machine specification" and go language version of "write their own Java virtual machine" to achieve Java
edition virtual machine case.
Source code : https://github.com/fuzhengwei/itstack-demo-jvm
- Using Java to implement the first chapter of JVM "command line tool"
- Implementing the second chapter of JVM "searching class files" with Java
- Using Java to realize the third chapter of JVM "Analyzing Class Files"
- Using Java to realize the third chapter of the JVM "Analysis of Class Files" with [classReader dismantling]
- Using Java to realize the fourth chapter of JVM "runtime data area"
- Implementing Chapter 5 "Instruction Set and Interpreter" of JVM with Java
- Implementing Chapter 6 "Classes and Objects" of JVM with Java
- Implementing Chapter 7 "Method Invocation and Return" of JVM with Java
- Implementing Chapter 8 "Arrays and Strings" of the JVM in Java
- Implementing Chapter 9 "Local Method Call" of JVM with Java
- Implementing JVM Chapter 10 "Exception Handling" with Java
Full-link monitoring based on JavaAgent
At present, the full link monitoring system on the market is basically done by referring to Google's Dapper. This topic mainly uses six chapters of code combat to introduce how to use javaagent and bytecode applications to implement a simple java code link. Process monitoring.
Source code : https://github.com/fuzhengwei/itstack-demo-agent
- JavaAgent-based full link monitoring-"Hi! JavaAgent》
- JavaAgent-based full link monitoring II "Increase monitoring execution time through bytecode"
- JavaAgent-based full link monitoring three "ByteBuddy operation monitoring method byte code"
- JavaAgent-based full link monitoring 4 "JVM memory and GC information"
- JavaAgent-based full link monitoring 5 "ThreadLocal Link Tracking"
- JavaAgent-based full link monitoring 6 "Development and Application Level Monitoring"
- Locate java exception information based on jvmti
Netty4.x special case
This topic is divided into netty4.x: basic introduction (13 articles), intermediate development articles (13 articles), advanced application articles (three chapters +) and source code analysis articles, from shallow to deep through case study of netty, Make netty learners quickly get started and practical.
Source code : https://github.com/fuzhengwei/itstack-demo-netty
Basic Introduction (Thirteen)
- Netty case, netty4.1 basic introduction zero "First entry into the door of JavaIO BIO, NIO, AIO practical exercises"
- Netty case, a basic introduction to netty4.1 "Hi! NettyServer》
- Netty case, netty4.1 basic entry two "NettyServer receiving data"
- Netty case, netty4.1 basic entry three "NettyServer string decoder"
- Netty case, netty4.1 basic entry four "NettyServer send and receive data"
- Netty case, netty4.1 basic entry five "NettyServer string encoder"
- Netty case, netty4.1 basic entry six "NettyServer group messaging"
- Netty case, basic introduction to netty4.1 seven "Hi! NettyClient》
- Netty case, netty4.1 basic introduction eight "NettyClient half-packet sticky packet processing, encoding and decoding processing, data sending and receiving methods"
- Netty case, netty4.1 basic entry nine "custom codec, processing half-packet, sticky packet data"
- Netty case, netty4.1 basic introduction ten "About the simple use of ChannelOutboundHandlerAdapter"
- Netty case, netty4.1 basic introduction 11 "netty udp communication method case Demo"
- Netty case, netty4.1 basic introductory article 12 "simple implementation of a Http service built on Netty"
Intermediate Development (13 articles)
- Netty case, netty4.1 Intermediate Extension Part 1 "Netty and SpringBoot Integration"
- Netty case, netty4.1 Intermediate Extension Part 2 "Netty uses Protobuf to transfer data"
- Netty case, netty4.1 Intermediate Extension Part 3 "Netty Transfer Java Objects"
- The netty case, netty4.1 Intermediate Extended Part 4 "Netty Transfer Files, Fragmentation Sending, Breakpoint Resume"
- Netty case, netty4.1 Intermediate Extension Part 5 "Building WebSocket based on Netty, imitating WeChat chat page"
- Netty case, netty4.1 Intermediate Development Chapter 6 "SpringBoot + Netty + Elasticsearch Collect Log Information Data Storage"
- Netty case, netty4.1 Intermediate Extension Part Seven "Netty Request Response Synchronous Communication"
- Netty case, netty4.1 Intermediate Extension Part 8 "Netty Heartbeat Service and Reconnection"
- Netty case, netty4.1 Intermediate Expansion Chapter 9 "Netty Cluster Deployment Implementation Scheme for Cross-server Communication"
- The netty case, netty4.1 Intermediate Extension Part 10 "Netty Receives and Sends Multiple Protocol Message Type Communication Processing Solutions"
- Netty case, netty4.1 Intermediate Expansion Part 11 "Netty based on ChunkedStream data stream block transmission"
- Netty case, netty4.1 Intermediate Expansion Chapter 12 "Netty Traffic Shaping Data Flow Rate Control Analysis and Practice"
- Netty case, netty4.1 Intermediate Extension 13: "Netty implements two-way encryption verification during information transmission based on SSL"
Advanced applications (three chapters +)
- Handwriting RPC Framework Chapter One "Custom Configuration XML"
- Handwriting RPC Framework Chapter 2 "Netty Communication"
- Handwriting RPC Framework Chapter 3 "RPC Middleware"
- IoT gateway iot-gatway built based on Netty practice
- Websocket and lower computer communicate and transmit behavior information through netty
Source code analysis
- Netty case, netty4.1 source code analysis article "NioEventLoopGroup source code analysis"
- Netty case, netty4.1 source code analysis two "ServerBootstrap configuration and binding start"
- Netty case, netty4.1 source code analysis part three "Netty server initialization process and the role of reflection factory"
- Netty case, netty4.1 source code analysis chapter 4 "Analysis of ByteBuf's data structure in use mode"
- Netty case, netty4.1 source code analysis article 5 "What does a simple writeAndFlush line do"
- Netty case, netty4.1 source code analysis article 6 "Netty asynchronous architecture monitoring class Promise source code analysis"
DDD Domain Driven Design
- DDD Special Case 1 "DDD Landing in the Field of Design"
- DDD case study 2 "Domain-level decision rule tree service design"
- DDD case study 3 "Domain-driven design architecture based on Spring Cloud to build microservices"
Getting started with SpringCloud
Spring Cloud is an ordered collection of a series of frameworks. It uses Spring Boot's development convenience to subtly simplify the development of distributed system infrastructure, such as service discovery registration, configuration center, message bus, load balancing, circuit breaker, data monitoring, etc., can be done using Spring Boot's development style One click to start and deploy.
Source code : https://github.com/fuzhengwei/itstack-demo-springcloud
- Spring Cloud (zero) "There is always a partial overview to tell you what Spring Cloud is"
- Spring Cloud (1) "Service Cluster Registration and Discovery Eureka"
- Spring Cloud (2) "Service Provision and Load Balancing Call Eureka"
- Spring Cloud (3) "Application Service Fast Failure and Fuse Downgrade Protection Hystrix"
- Spring Cloud (4) "Service Response Performance Success Rate Monitoring Hystrix"
- Spring Cloud (5) "Turbine Monitoring Information Aggregation Display Hystrix"
- Spring Cloud (6) "Dynamic refresh service configuration based on github webhook"
- Spring Cloud (7) "Refresh Configuration Service Based on RabbitMQ Message Bus"
- Spring Cloud (8) "Service Gateway Routing Zuul1"
- Spring Cloud (9) "Service Gateway Zuul Dynamic Routing and Permission Filter"
Source code analysis
Master the core skills in the framework through source code analysis and gradually enhance object-oriented development. And empower the knowledge of technology stack to the architecture design in business development.
Source code : https://github.com/fuzhengwei/itstack-demo-code
Middleware development
Most CRUD programmers will not be exposed to middleware development in their careers, and they will also miss many opportunities to improve their skills. Including how to Spring
combine, if automated processing, how to make business code separate from the common core logic. This is the only way to grow a personal technology stack.
- Spring Boot middleware development (1) "Unified Whitelist Verification of Service Governance Middleware"
- Publish the Jar package to the Maven central warehouse (preparing for the development of open source middleware)
- Development of distributed task middleware DcsSchedule based on Spring Boot (contribute to open source)
Architecture design
- Architecture framework construction (1) "SSM integration of single application service: Spring4 + SpringMvc + Mybatis"
- Architecture framework construction (2) "Dubbo distributed domain-driven design architecture framework"