595208882@qq.com
260361d434
|
3 years ago | |
---|---|---|
images | 3 years ago | |
support | 3 years ago | |
.gitignore | 3 years ago | |
Algorithm.md | 3 years ago | |
Architecture.md | 3 years ago | |
BigData.md | 3 years ago | |
Database.md | 3 years ago | |
DevOps.md | 3 years ago | |
JAVA.md | 3 years ago | |
LICENSE | 3 years ago | |
Middleware.md | 3 years ago | |
OS.md | 3 years ago | |
Others.md | 3 years ago | |
README.md | 3 years ago | |
Solution.md | 3 years ago |
README.md
lemon-guide
收纳了 操作系统
、JAVA
、算法
、数据库
、中间件
、解决方案
、架构
、DevOps
和 大数据
等技术栈总结!其内容有来源笔者个人总结的内容,也有来源于互联网各种经典场景或案例的总结,目的在于把常用的技术内容进行归纳整理记录。
1 OS
1.1 TCP
收纳了网络模型、TCP三次握手、TCP四次挥手、TCP优化、常见TCP问题、Socket和TCP主要源码等知识点。
1.2 HTTP
收纳了HTTP缓存流程、强制缓存、协商缓存、请求流程、常见请求/响应头参数、状态码、请求方法等知识点。
1.3 OS
收纳了常见处理器介绍、虚拟内存、内存分段、内存分页、内存管理、进程和线程等知识点。
2 JAVA
2.1 J.U.C
收纳整理了Unsafe、LockSupport、CAS机制、AQS框架、Condition、volatile、lambda、Striped64、LongAdder、Semaphore、CyclicBarrier、CountDownLatch、CompletableFuture等知识点。
2.2 集合
收纳整理了ArrayList、LinkedList、Vector、CopyOnWriteArrayList、HashSet、TreeSet、LinkHashSet、ConcurrentSkipListSet、CopyOnWriteArraySet、ConcurrentSkipListSet、HashMap、TreeMap、HashTable、LinkHashMap、ConcurrentHashMap、ConcurrentSkipListMap等知识点。
2.3 Queue
2.4 Thread
2.5 Lock
2.6 I/O
2.7 Classloader
2.8 Throwable
2.9 JVM
2.10 GC
3 Algorithm
提供Algorithm
4 Database
提供Database
5 Middleware
提供Middleware
6 Solution
提供Solution
7 Architecture
提供Architecture
8 DevOps
本章节主要总结并收纳了常用的JDK工具、Linux命令、Shell语法、Git命令、测试工具、Docker等。
8.1 JDK Tools
- jps:用于查看JAVA进程编号
- jstat:用于打印GC回收统计信息,便于分析是否出现FGC等情况
- jstack:用于dump出指定进程中的线程堆栈快照信息,便于排查应用是否有锁、死锁或排查CPU占比高的线程代码
- jmap:用于dump出指定进程中当前内存的快照信息,便于分析内存的内容结构,从而定位内存泄漏等问题
- jhat:用于与jmap搭配使用,用来分析jmap生成的dump
- jconsole:Java GUI监视工具,可以以图表化的形式显示各种数据,并可通过远程连接监视远程的服务器VM
- jvisualvm:一个基于图形化界面的,可以查看本地及远程的JAVA GUI监控工具,可以查看CPU、堆、线程、GC等
- jmc:JDK自带图形界面监控工具。JMC打开性能日志后可查看一般信息、内存、代码、线程、I/O、系统、事件 功能
- EclipseMAT:基于Eclipse内存分析工具,它可以帮助我们查找内存泄漏和减少内存消耗
8.2 Linux Command
- 基本命令:
vi/vim
、scp
、tar
、su
、df
、tail
、grep
、awk
、find
、netstat
、echo
、telnet
、rpm
、yum
等 - 监控命令
- Memory:
free
、vmstat
- CPU:
top
、htop
、sar
- IO:
iostat
、pidsta
、iotop
- Network:
netstat
、iftop
、tcpdump
- Others:
dstat
、saidar
、Glances
- Memory:
- 瓶颈排查:定位线上最耗CPU的线程、定位丢包错包情况、查看网络错误、包的重传率等
8.3 Shell
收纳了Shell脚本的变量、数组、算术运算、字符串、条件判断、流程控制等基本语法,学完后就可自己写Shell脚本。
8.4 Git
收纳了Git相关的常用命令,如:git clone
、git add
、git rm
、git commit
、git branch
、git tag
、git push
、git pull
、git log
、git remote
、git fetch
、git reset
等。
8.5 Test Tools
- AB:ApacheBench (ab)是 Apache 网站服务器软件附带的工具,专门用来做HTTP接口的性能测试
- Jmeter:Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试
8.6 Docker
9 BigData
提供BigData
10 Others
提供Others