个人工作学习记录,主要围绕java基础,数据库,常用Java框架,中间件,遇到的问题以及技术总结等。
Java相关基础包括JVM,线程,并发编程,网络编程,锁,内存模型等;
- 1.Java SPI机制分析
- 2.谈谈Java任务的并行处理
- 3.Java CAS操作的ABA问题
- 4.Java压缩算法性能比较.
- 5.对协程的一些理解
- 6.Java调用Lua
- 7.关于零拷贝的一点认识
主要分析Mysql锁,索引,事务,以及binlog等相关技术点;
主要介绍Java主流的一些框架:Mybatis,Spring,Spring Boot等,不限于源码和使用;
- 1.Mybatis之Mapper接口如何执行SQL
- 2.Mybatis之方法如何映射到XML
- 3.Mybatis之XML如何映射到方法
- 4.Mybatis之对象工厂
- 5.Mybatis之类型处理器
- 6.Mybatis之结果处理器
- 7.Mybatis之缓存分析
- 8.Mybatis之插件分析
- 9.Mybatis分页那点事
围绕主流的一些中间件进行介绍:RPC,消息队列,分布式缓存,分布式链路追踪,分布式事务,分布式锁,分布式调度,分布式配置中心等;
主流的配置中心有很多如:Apollo,Nacos,Spring-Cloud-Config等
主流的消息队列有:RocketMQ,Kafka,ActiveMQ,RabbitMQ等;
远程方法调用成熟产品很多常见的有:dubbo,gRpc,Thrift,还有spring cloud那一套;
- 1.Dubbo分析之Serialize层
- 2.Dubbo分析之Transport层
- 3.Dubbo分析之Exchange层
- 4.Dubbo分析之Cluster层
- 5.Dubbo分析之Protocol层
- 6.Dubbo分析之Registry层
- 7.Dubbo分析之心跳设计
数据库访问层常见:mycat,sharding-JDBC,Atlas等
最常用的Quartz,但是quartz在分布式调度的时候并不完美,所有出现了一些对其扩展的产品如:XXL-Job,Elastic-Job等;
开源的有ElasticSearch,商业的有Splunk等;
开源的产品有:zipkin,cat等
缓存服务器常用的就是redis,memcached等;
常用的有Zookeeper,eruka等;
整理工作中遇到的一些典型问题,进行分析汇总;