Skip to content

Latest commit

 

History

History
34 lines (24 loc) · 2.59 KB

README.md

File metadata and controls

34 lines (24 loc) · 2.59 KB

framework-dev-learning

This repo gives examples of different Java concept and programming technique that are frequently used in the development of frameworks. For instance, when we want to create an RPC framework from scratch, we need to know Java dynamic proxy and serialization.

Here is the list:

Technique module/link scenario status remark
dynamic proxy dynamic-proxy RPC
MQ
done
byte program
java agent,
instrument,
byte buddy
bytecode-program
java-agent-and-instrument
java-agent-and-instrument-test
java monitor by java agent
APM
,tracking,
method
enhancement,
hot module
replacement
done skywalking,
pinpoint, zipkin;
framework development
,eg:dubbo、spring,
arthas, jrebel and so on.
connection pool connection-pool Druid, C3P0,
HikariCP
done a simple connection pool:
https://github.com/aloys-jun/connect-pool
Java JUC https://github.com/evasnowind/JUC-learning done
Java CAS java-cas done
Java SPI java-spi JDBC done
Java Zero Copy java-zero-copy high performance
IO,like kafka
done
Dubbo SPI Dubbo to do
Spring event spring-event done event notify
Spring lifecycle spring-lifecycle
spring-dynamic-inject-interface
mybatis(e.g
implementation
of mapper)
done
Spring AOP spring-aop done
Spring Factories,
Spring Import,
Spring Condition
spring-conditional-annotation
spring-import
framework
development
done spring boot starter
spring-boot-starter
tiny-http-server-spring-boot-starter
a simple starter
implement a
spring boot starter
done
netty netty-httpserver network IO,
eg: RocketMQ
done rocketmq, dubbo, seata
and so on. Kafka doesn't
use netty,but use NIO。
dynamic datasource
separate read
write
dynamic-datasource db midware,
separate read write,
MyCAT,
shardingsphere-jdbc
done other :dynamic datasource
reactor
programming
reactor-programming webflux,
Spring Cloud
Gateway,
soul
done

Support

Supported by Jetbrains IDEA