Java进阶学习路线
1、JVM
(1)啟動參數
1)heap
-Xms<size>
-Xmx<size>
a.young and old generation
-Xmn<size>
-XX:NewSize=<size>
-XX:MaxNewSize=<size>
-XX:NewRatio=<rate>
-XX:SurvivorRatio=<rate>
-XX:MaxTenuringThreshold=<size>
b.permgen space
-XX:PermSize=<size>
-XX:MaxPermSize=<size>
2)stack
-Xss<size>
-XX:ThreadStackSize=<size>
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=<szie>
-XX:+CMSIncrementalMode
-XX:CMSInitiatingOccupancyFraction=<rate>
?
?
(2)監(jiān)控工具
jps(進程狀態(tài))、jstack(線程堆棧)、jmap(堆內存)、jhat(堆分析)、jstat(統(tǒng)計監(jiān)測,類加載、compiler、gc)? ?
其他:jinfo(虛擬機配置信息)、hprof(Heap/CPU Profiling Tool)、javap(反編譯)、javac(編譯)
(3)GC
(4)內存模型
(5)類加載
2、開源框架源碼
Spring、Spring Boot 、Spring Cloud、Mybatis
3、數據庫設計及調優(yōu)
mysql、oracle、MongoDB、HBase
行存儲、列存儲
讀寫分離、水平拆分、垂直拆分
4、緩存
Memcache/Redis
5、消息隊列
kafka、rabbitMQ、rocketMQ、QSP
6、服務器、負載均衡
配置維護Nginx/Apache/Tomcat/Jboss/Jetty等服務器的調優(yōu),掌握shell腳本工具
7、CI工具
項目構建工具、持續(xù)集成、和版本管理工具
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、等大數據處理框架和平臺以及推薦系統(tǒng)
ETL調度
實時數據平臺
storm、akka
離線數據平臺
hadoop、spark
日志
rsyslog、elk、flume
11、容器
Docker容器及容器化技術,有Kubernetes實戰(zhàn)
總結
以上是生活随笔為你收集整理的Java进阶学习路线的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里达摩院发布业内首个遥感AI大模型 可
- 下一篇: 深入探索 Java 热部署