Java进阶学习路线

1、JVM

(1)启动参数

1)heap

-Xms

-Xmx

a.young and old generation

-Xmn

-XX:NewSize=

-XX:MaxNewSize=

-XX:NewRatio=

-XX:SurvivorRatio=

-XX:MaxTenuringThreshold=

b.permgen space

-XX:PermSize=

-XX:MaxPermSize=

2)stack

-Xss

-XX:ThreadStackSize=

3)GC

a.G1 GC

-XX:+UseG1GC

b. serial GC

-XX:UseSerialGC

c.parallel GC

-XX:UseParallelGC

-XX:+UseParNewGC

-XX:UseParallelOldGC

-XX:ParallelGCThreads

-XX:MaxGCPauseMillis

-XX:UseAdaptiveSizePolicy

d.CMS GC

-XX:+UseConcMarkSweepGC

XX:+UseCMSCompactAtFullCollection

-XX:CMSFullGCsBeforeCompaction=

-XX:+CMSIncrementalMode

-XX:CMSInitiatingOccupancyFraction=

 

 

(2)监控工具

jps(进程状态)、jstack(线程堆栈)、jmap(堆内存)、jhat(堆分析)、jstat(统计监测,类加载、compiler、gc)   

其他:jinfo(虚拟机配置信息)、hprof(Heap/CPU Profiling Tool)、javap(反编译)、javac(编译)

(3)GC

(4)内存模型

(5)类加载


2、开源框架源码

Spring、Spring Boot 、Spring Cloud、Mybatis


3、数据库设计及调优

mysql、oracle、MongoDB、HBase

行存储、列存储

读写分离、水平拆分、垂直拆分


4、缓存

Memcache/Redis


5、消息队列

kafka、rabbitMQ、rocketMQ、QSP


6、服务器、负载均衡

配置维护Nginx/Apache/Tomcat/Jboss/Jetty等服务器的调优,掌握shell脚本工具


7、CI工具

项目构建工具、持续集成、和版本管理工具
Git/SVN、Junit/TestNg、Maven/Gradle、Jenkins等

 

8、搜索引擎

elasticsearch、solr


9、RPC框架

grpc、brpc、thrift、dubbo、Spring cloud(consul,gateway和feign)
协议
熟悉TCP/IP、HTTP等协议, REST、WebService等技术,分布式应用的各种交互协议Thrift/Hessian/Protocol Buffer等等;
Netty/Mina


10、大数据

熟悉 Hadoop、Spark、等大数据处理框架和平台以及推荐系统

ETL调度

实时数据平台
storm、akka

离线数据平台
hadoop、spark

日志
rsyslog、elk、flume


11、容器

Docker容器及容器化技术,有Kubernetes实战

你可能感兴趣的:(java技能)