go 官方标准库
官方自带的标准库,主要关注net、context、sync、unsafe 等
生态扩展主要是
- gin
- sqlx 、 gorm
- grpc
JDK源码
- Java 主要是rt.jar包中的类,也就是runtime.jar
- 主要包含lang、util、io等
- 生态扩展 主要是SSSM、TNDS一共八个框架
- SSSM 为spring、springboot、springmvc、mybatis;
- TNDS 为Tomcat、Netty、Dubbo、Shiro/SpringSecurity
第三方生态、数据库和中间件
一本技术语言除了官方自带的标准库或者包以外,面向一些特定领域产生的一些具有生产力的第三方包或者库。对于web编程领域,主要是mvc、ioc、aop、orm和rpc、auth这些类框架。其次就是数据库如mysql或者oracle,redis、etcd、elk、kafka、rabbitmq、tomcat等中间件,要了解其背后的实现原理,特别是索引和 b+树,wal、binlog、redo、undo、slow.log; 悲观锁和乐观锁、共享锁和排他锁,2pc、 多版本并发控制mvcc,零拷贝等。
主要有两个方向
- 主流的生态框架,也就是生产力,工业生产力需要熟练掌握api,最好能剖析其源码,一方面能够扩展其功能,第二个能知道其能干什么不能干什么更熟练的使用,最后就是学习其设计模式高内聚、松耦合。
- 主流的数据库和中间件,tomcat、mysql、redis、etcd等最好了解其原理,也是为了方便其能做什么不能做什么,如何利用代码或框架去控制它;
- 也是熟能生巧、靠积累