Java進階部分的總結,你們都學會了嗎?

一直說學Java,做Java開發,其實並沒有做一個系統的總結。那麼做一個Java開發,或者是高級Java開發、架構師,到底要會哪些東西,哪些原理,先簡單做一個總結,也希望能監督自己按這個路線一直的學習和總結下去。

基礎知識:

Java反射:Field、Type

Java代理:proxy、cglib

Java線程:Thread、Runnable、ExecutorService、Callable、Future、ThreadPoolExecutor

Java數據結構:HashMap ArrayList LinkedList HashSet BlockingQueue ConcurrentHashMap TreeMap

JVM:運行時數據區、堆設置、收集器設置、回收日誌分析

Lambda表達式:stream、filter、collect、map、forEach、

併發與鎖:synchronized、ReentrantLock、ReadWriteLock、Atomic;

通訊協議:HTTP、TCP/IP、NIO、BIO、WebSocket

數據結構:表、棧、隊列、二叉樹、AVL樹、BTree、黑紅數、散列、圖。

常用算法:冒泡排序,選擇排序,插入排序、堆排序,歸併排序、快速排序;二分查找;布隆過濾器;

設計模式:工廠模式、觀察者模式、單例模式、代理模式、命令模式、策略模式

Web容器:tomcat、jboss、jetty

HTTP服務:httpd、nginx、openResty、kong

工具包:common、poi、gson、guava

構建工具:maven、gradle

通訊框架:netty、mina

序列化:hessian、protostuff、json

服務發現:zookeeper、etcd、eureka、consul

數據庫:mysql、mongoDB、redis、mycat、berkeleyDB

連接池:dbcp、c3o0、druid、jdbc、http

大數據:spark、storm、hadoop、hdfs

容器:docker、k8s

監控:zabbix、prometheus

開源框架:

Spring:IOC、AOP、事務處理

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

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

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

Hibernate:Configuration、SessionFactory、樂觀鎖、二級緩存、高併發、多數據源

Mybatis:Configuration、SqlSession、Executor 、TypeHandler、動態sql、二級緩存

Netty:nio、拆念包、future、pipeline

Guava:限流算法、布隆過濾器、JVM緩存

Hystrix:隔離、熔斷、降級

消息隊列:rabbitMQ、rocketMQ、kafka

RPC框架:dubbo、motan、thrift、grpc

搜索隱形:Lucene、Elasticsearch、Solr

數據庫:

Mysql:主備、讀寫分、橫向縱向拆分、調優、語法、索引、優化

Redis:主備、讀寫分離、持久化、命中和過期

MogoDB:集合、文檔、文件、索引、聚合函數、分片

消息隊列:

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

消息類型:順序消息、定時消息、延遲消息、事務消息

消息回溯、消息堆積、消息拉取、消息簽收

高併發:

服務拆分:微服務化、分佈式事務、數據庫水平垂直拆分

服務治理:zookeeper、rpc

消息隊列:異步處理、最終一致性

緩存技術:JVM緩存、redis緩存、nginx緩存、CDN緩存、瀏覽器緩存。緩存擊穿、緩存雪崩、緩存淘汰

高可用:

負載均衡:算法、動靜分離、切換、檢測

超時重試:超時時間、重試機制和策略

限流:算法、容器、nginx、防止抖動

隔離:線程隔離、進程隔離、機房隔離、讀寫隔離、動靜隔離,採用hystrix、servlet3做隔離熔斷

降級:自動降級、人工降級,控制中心,採用hystrix手段

監控:進程監控、線程監控、機器監控,報警

問題解決:

1.如何解決單點故障;(lvs、F5、A10、Zookeep、MQ)

2.如何保證數據安全性;(熱備、冷備、異地多活)

3.如何解決檢索難題;(數據庫代理中間件:mysql-proxy、Cobar、MaxScale等;)

4.如何解決統計分析問題;(離線、近實時)

喜歡的朋友一定要分享給周邊的朋友哦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章