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)监控工具
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实战