Java|java 技术栈

【Java|java 技术栈】Java|java 技术栈

文章图片

Java|java 技术栈

文章图片



Java语言相关知识点:Java的类加载机制、JVM内存模型和结构GC原理性能调优、泛型、集合体系、异常体系、IO体系、多线程编程、反射、Servlet、锁以及并发容器的源码、线程池源码、正则表达式
常用工具: jps、jstat、jmap、jstack、图形工具jConsole、Visual VM、MAT
书籍:《Java编程思想》、《Effective Java》、《深入理解Java虚拟机》
http、https、网络脚本语言常用的linux操作和运维命令、管道、重定向、awk、sed等文本处理工具
《linux与unix shell编程指南》、《鸟哥的Linux私房菜》、《Python编程 从入门到实践》
设计原则和设计模式

  • 单例模式
  • 策略模式
  • 代理模式
  • 观察者模式
  • 装饰模式
  • 适配器模式
  • 组合模式
  • 工厂模式
  • 模板方法模式
  • ...
  • 单一职责原则
  • 里氏替换原则
  • 依赖倒置原则
  • 接口隔离原则
  • 迪米特法则
  • 开闭原则
  • 组合/聚合复用原则
  • 七大设计原则
  • 一些常用的设计模式
SQL、事务、datasourceDDL和DML、表连接(内连接 , 左外连接 , 右外连接 , 全连接)、函数(普通函数 , 聚合函数)、索引、分区 。
  • Read uncommitted:读未提交
  • Read committed : 读已提交
  • Repeatable read:可重复读
  • Serializable :串行化
深入理解mysql的Record Locks、Gap Locks、Next-Key Locks
undo redo binlog
数据库的分库分表mycat
c3p0 , druid , JdbcTemplate执行sql语句的过程中对Connection的使用和管理
《高性能MySQL》、《Hive编程指南》、《Oracle从入门到精通》
ORM框架: mybatis、Hibernate最原始的jdbc->Spring的JdbcTemplate->hibernate->JPA->SpringDataJPA的演进之路
SpringSecurity、shiro、SSO(单点登录)Session和Cookie的区别和联系以及Session的实现原理
SpringSecurity的认证过程以及与Session的关系
CAS实现SSO

ELK日志实时处理查询系统Elasticsearch、Logstash、Kibana
日志logging、log4j、log4j2、logback;commons-logging、slf4j;
web服务器tomcat、ngnix的设计原理消息队列kafka、RocketMQ、Notify、HermesNIO模块以及对应的Netty和Mina、thrift源码序列化和反序列化框架
  • Avro研究
  • Thrift研究
  • Protobuf研究
  • Protostuff研究
  • Hessian

RPC框架dubbo源码SpringAOP源码Spring Cloud、微服务Spring Cloud Zookeeper:用于服务注册和发现
Spring Cloud Config:分布式配置
Spring Cloud Netflix Eureka:用于rest服务的注册和发现
Spring Cloud Netflix Hystrix:服务的隔离、熔断和降级
Spring Cloud Netflix Zuul:动态路由 , API Gateway
SOA与微服务
服务的合并部署、多版本自动快速切换和回滚
服务的治理:限流、降级
服务限流:令牌桶、漏桶
服务降级、服务的熔断、服务的隔离:netflix的hystrix组件
无状态的服务如何做线性扩展:
如一般的web应用 , 直接使用硬件或者软件做负载均衡 , 简单的轮训机制
有状态服务如何做线性扩展:
如Redis的扩展:一致性hash , 迁移工具
分布式事务JTA分布式事务接口定义 , 对此与Spring事务体系的整合