为了账号安全,请及时绑定邮箱和手机立即绑定

Java进阶部分的总结

标签:
Java

一直说学Java,做Java开发,其实并没有做一个系统的总结。那么做一个Java开发,或者是高级Java开发、架构师,到底要会哪些东西,哪些原理,先简单做一个总结,也希望能监督自己按这个路线一直的学习和总结下去。
先总结这些,后面不断更新。2018-03-05

2018-05-31 修改

基础知识:

  1. Java反射:Field、Type

  2. Java代理:proxy、cglib

  3. Java线程:Thread、Runnable、ExecutorService、Callable、Future、ThreadPoolExecutor

  4. Java数据结构:HashMap ArrayList LinkedList HashSet BlockingQueue ConcurrentHashMap TreeMap

  5. JVM:运行时数据区、堆设置、收集器设置、回收日志分析

  6. Lambda表达式:stream、filter、collect、map、forEach、

  7. 并发与锁:synchronized、ReentrantLock、ReadWriteLock、Atomic;

  8. 通讯协议:HTTP、TCP/IP、NIO、BIO、WebSocket

  9. 数据结构:表、栈、队列、二叉树、AVL树、BTree、黑红数、散列、图。

  10. 常用算法:冒泡排序,选择排序,插入排序、堆排序,归并排序、快速排序;二分查找;布隆过滤器;

  11. 设计模式:工厂模式、观察者模式、单例模式、代理模式、命令模式、策略模式

  12. Web容器:tomcat、jboss、jetty

  13. HTTP服务:httpd、nginx、openResty、kong

  14. 工具包:common、poi、gson、guava

  15. 构建工具:maven、gradle

  16. 通讯框架:netty、mina

  17. 序列化:hessian、protostuff、json

  18. 服务发现:zookeeper、etcd、eureka、consul

  19. 数据库:mysql、mongoDB、redis、mycat、berkeleyDB

  20. 连接池:dbcp、c3o0、druid、jdbc、http

  21. 大数据:spark、storm、hadoop、hdfs

  22. 容器:docker、k8s

  23. 监控:zabbix、prometheus

开源框架:

  1. Spring:IOC、AOP、事务处理

  2. SpringMVC:DispatcherServlet、HandlerMapping、HandlerAdapter、Controller、Intercepter、View

  3. SpringBoot:集成web、hibernate、mybatis、redis、docker下使用

  4. SpringCloud:Netfix、Config、Bus、Eureka、Consul、Stream、Task、Gateway

  5. Hibernate:Configuration、SessionFactory、乐观锁、二级缓存、高并发、多数据源

  6. Mybatis:Configuration、SqlSession、Executor 、TypeHandler、动态sql、二级缓存

  7. Netty:nio、拆念包、future、pipeline

  8. Guava:限流算法、布隆过滤器、JVM缓存

  9. Hystrix:隔离、熔断、降级

  10. 消息队列:rabbitMQ、rocketMQ、kafka

  11. RPC框架:dubbo、motan、thrift、grpc

  12. 搜索隐形:Lucene、Elasticsearch、Solr

数据库:

  1. Mysql:主备、读写分、横向纵向拆分、调优、语法、索引、优化

  2. Redis:主备、读写分离、持久化、命中和过期

  3. MogoDB:集合、文档、文件、索引、聚合函数、分片

消息队列:

  1. 概念:topic、message、queue、producer、consumer、broker

  2. 消息类型:顺序消息、定时消息、延迟消息、事务消息

  3. 消息回溯、消息堆积、消息拉取、消息签收

高并发:

  1. 服务拆分:微服务化、分布式事务、数据库水平垂直拆分

  2. 服务治理:zookeeper、rpc

  3. 消息队列:异步处理、最终一致性

  4. 缓存技术:JVM缓存、redis缓存、nginx缓存、CDN缓存、浏览器缓存。缓存击穿、缓存雪崩、缓存淘汰

高可用:

  1. 负载均衡:算法、动静分离、切换、检测

  2. 超时重试:超时时间、重试机制和策略

  3. 限流:算法、容器、nginx、防止抖动

  4. 隔离:线程隔离、进程隔离、机房隔离、读写隔离、动静隔离,采用hystrix、servlet3做隔离熔断

  5. 降级:自动降级、人工降级,控制中心,采用hystrix手段

  6. 监控:进程监控、线程监控、机器监控,报警

问题解决

  1. 如何解决单点故障;(lvs、F5、A10、Zookeep、MQ)

  2. 如何保证数据安全性;(热备、冷备、异地多活)

  3. 如何解决检索难题;(数据库代理中间件:mysql-proxy、Cobar、MaxScale等;)

  4. 如何解决统计分析问题;(离线、近实时)



作者:黎明你好
链接:https://www.jianshu.com/p/48992aff1977


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消