- Notifications
You must be signed in to change notification settings - Fork10
常见框架开发技术的demo汇总,包括java字节码编程(java agent, instrument, byte buddy), java动态代理,自定义classloader,java spi, zero copy, netty, spring aop/condition,spring boot starter, 数据库连接池等。
License
NotificationsYou must be signed in to change notification settings
evasnowind/framework-dev-learning
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
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 |
Supported byJetbrains IDEA
About
常见框架开发技术的demo汇总,包括java字节码编程(java agent, instrument, byte buddy), java动态代理,自定义classloader,java spi, zero copy, netty, spring aop/condition,spring boot starter, 数据库连接池等。
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
No releases published
Packages0
No packages published
