收纳了 操作系统、JAVA、算法、数据库、中间件、解决方案、架构、DevOps 和 大数据 等技术栈总结!其内容有来源笔者个人总结的内容,也有来源于互联网各种经典场景或案例的总结(感谢对应的笔者),目的在于把常用的技术内容进行归纳整理记录。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
595208882@qq.com 260361d434
init
3 years ago
images init 3 years ago
support init 3 years ago
.gitignore 新增DevOps总结 3 years ago
Algorithm.md init 3 years ago
Architecture.md init 3 years ago
BigData.md init 3 years ago
Database.md init 3 years ago
DevOps.md init 3 years ago
JAVA.md init 3 years ago
LICENSE add LICENSE. 3 years ago
Middleware.md init 3 years ago
OS.md init 3 years ago
Others.md init 3 years ago
README.md init 3 years ago
Solution.md init 3 years ago

README.md

lemon-guide

收纳了 操作系统JAVA算法数据库中间件解决方案架构DevOps大数据 等技术栈总结!其内容有来源笔者个人总结的内容,也有来源于互联网各种经典场景或案例的总结,目的在于把常用的技术内容进行归纳整理记录。

1 OS

1.1 TCP

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

Visual-GC

  • jps用于查看JAVA进程编号
  • jstat用于打印GC回收统计信息便于分析是否出现FGC等情况
  • jstack用于dump出指定进程中的线程堆栈快照信息便于排查应用是否有锁、死锁或排查CPU占比高的线程代码
  • jmap用于dump出指定进程中当前内存的快照信息便于分析内存的内容结构从而定位内存泄漏等问题
  • jhat用于与jmap搭配使用用来分析jmap生成的dump
  • jconsoleJava GUI监视工具可以以图表化的形式显示各种数据并可通过远程连接监视远程的服务器VM
  • jvisualvm一个基于图形化界面的可以查看本地及远程的JAVA GUI监控工具可以查看CPU、堆、线程、GC等
  • jmcJDK自带图形界面监控工具。JMC打开性能日志后可查看一般信息、内存、代码、线程、I/O、系统、事件 功能
  • EclipseMAT基于Eclipse内存分析工具它可以帮助我们查找内存泄漏和减少内存消耗

8.2 Linux Command

htop

  • 基本命令vi/vimscptarsudftailgrepawkfindnetstatechotelnetrpmyum
  • 监控命令
    • Memoryfreevmstat
    • CPUtophtopsar
    • IOiostatpidstaiotop
    • Networknetstatiftoptcpdump
    • OthersdstatsaidarGlances
  • 瓶颈排查定位线上最耗CPU的线程、定位丢包错包情况、查看网络错误、包的重传率等

8.3 Shell

收纳了Shell脚本的变量、数组、算术运算、字符串、条件判断、流程控制等基本语法学完后就可自己写Shell脚本。

8.4 Git

收纳了Git相关的常用命令git clonegit addgit rmgit commitgit branchgit taggit pushgit pullgit loggit remotegit fetchgit reset等。

8.5 Test Tools

Junit-Summary-Report

  • ABApacheBench (ab)是 Apache 网站服务器软件附带的工具专门用来做HTTP接口的性能测试
  • JmeterApache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试

8.6 Docker

9 BigData

提供BigData

10 Others

提供Others