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.如何解决统计分析问题;(离线、近实时),今天就先说到这了,大家早点休息, 明天就要上班啦!

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

Java进阶部分的总结,你们都学会了吗?

需要各种编程学习资源的朋友(不论是java、C、Android、python、HTML、ios等等语言、bootstrap、node.js、 angularjs、spring、Springboot、Springcloud、SpringMVC等等各种框架, redis, 多线程高并发编程、JVM、mysql、oracle数据库资源 、大数据全套开发学习资源, maven、svn、idea工具类视频等等等资源, 我们统统都有, 5个网盘. 将近10T学习资源, 总有你想要的) , 更多精品优质学习资源尽在微信公众号【java大数据修炼之道】
 

更多技术文章和学习资源为请后续正在更新中 ...

最近干货分享

推荐学习路线:

推荐作品

推荐学习路线:

1、Java学习求职路线(资料、视频、源码、项目实战)
2 、java项目20套 +完整版java学习视频

 

推荐面试技巧:

1、面试时被质疑学历、年龄怎么办?

2、如何应对面试官问你职业规划问题

3、面试的时候问:你的期望薪资多少?怎么谈?

4、面试官问,你有什么问题需要问我的吗?

5、给培训出来的Java程序员的一点建议,教你如何找工作

 

推荐阅读:

 

看完本文有收获?请转发分享给更多人

关注「java大数据修炼之道」,提升Java技能

 

欢迎关注我的微信公众号:"Java大数据修炼之道"(一个有温度、有情怀且用心的微信公众号,无广告,单纯技术分享,期待与你共同进步~~~,分享美文,分享各种包含但不局限于Java大数据学习资源。) 

专注于编程、互联网动态。最终将总结的技术、心得、经验分享给大家,这里不只局限于技术!还有职场心得、生活感悟、以及面经。你想要的,第一时间送达 !扫描关注吧!
 

Java进阶部分的总结,你们都学会了吗?

 

  • 关注后回复关键字【资源】,便可获得最新的1T编程资源,里面包含各种学习资料。帮助大家更快的学习编程与进阶。

本文转载自微信公众号java大数据修炼之道 】, 更多优质精彩文章和免费精品学习资源资源 ,请关注微信公众号【 java大数据修炼之道】获取

原文地址: https://mp.weixin.qq.com/s?__biz=MzU1NjczNTM5NQ==&mid=2247484165&idx=1&sn=a81bb9a275e8be1463ae49a944b56593&chksm=fbc1cdc9ccb644dfeb9d0d4609f4385c96a31c349eb097f6bc69b28e7f2d3bb9ec83f4504794&token=1610345800&lang=zh_CN#rd