学习路线:
这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就会越来越多以下是网络渗透需要学习的内容:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
- [Navicat](#Navicat_338)
+ [并发编程](#_342)
+ - [基础知识](#_344)
- [并发理论](#_355)
- [并发关键字](#_366)
- [Lock体系](#Lock_376)
- [并发容器](#_401)
- [线程池](#_415)
- [原子操作类](#_426)
- [并发工具](#_434)
- [并发实践](#_443)
+ [数据结构与算法](#_453)
+ - [数据结构](#_455)
- [算法](#_482)
- * [排序算法](#_505)
- [LeetCode](#LeetCode_523)
+ [数据库](#_542)
+ - [Oracle](#Oracle_544)
- [MySQL](#MySQL_548)
- * [数据库基础知识](#_550)
* [数据类型](#_562)
* [引擎](#_564)
* [索引](#_566)
* [三大范式](#_568)
* [常用SQL语句](#SQL_570)
* [存储过程与函数](#_572)
* [视图](#_574)
* [MySQL优化](#MySQL_576)
* [事务](#_578)
* [数据备份与还原](#_580)
- [Redis](#Redis_584)
+ [Java虚拟机](#Java_605)
+ - [深入理解Java虚拟机](#Java_607)
+ [架构设计](#_620)
+ - [设计模式](#_632)
- * [创建型模式](#_653)
* [结构型模式](#_665)
* [行为型模式](#_680)
* [J2EE模式](#J2EE_699)
* [实践应用](#_714)
+ [应用框架](#_724)
+ - [Spring](#Spring_797)
- * [《Spring实战》读书笔记](#Spring_808)
- [Spring MVC](#Spring_MVC_822)
- [MyBatis](#MyBatis_826)
- * [MyBatis 源码分析](#MyBatis__848)
- [Quartz](#Quartz_862)
- [Hibernate](#Hibernate_871)
- [Shiro](#Shiro_875)
- [Spring Security](#Spring_Security_877)
- [Netty](#Netty_881)
- [搜索引擎](#_885)
- * [Lucene/Solr](#LuceneSolr_887)
* [Elasticsearch](#Elasticsearch_889)
* [ELK](#ELK_891)
+ [中间件](#_895)
+ - [消息中间件](#_897)
- * [RabbitMQ](#RabbitMQ_899)
* [RocketMQ](#RocketMQ_901)
* [ActiveMQ](#ActiveMQ_903)
* [Kafka](#Kafka_905)
- [远程过程调用中间件](#_909)
- * [Dubbo](#Dubbo_911)
- [数据访问中间件](#_915)
- [Web应用服务器](#Web_923)
- * [Tomcat](#Tomcat_925)
* [Nginx](#Nginx_941)
- [缓存](#_945)
- [其他](#_957)
- * [Zookeeper](#Zookeeper_959)
+ [微服务与分布式](#_963)
+ - [Spring Boot](#Spring_Boot_965)
- [Spring Cloud](#Spring_Cloud_974)
- [服务注册发现](#_1001)
- [服务配置](#_1003)
- [负载均衡](#_1005)
- [服务调用](#_1007)
- [服务限流](#_1009)
- [熔断降级](#_1011)
- [网关路由](#_1013)
- [服务权限](#_1015)
- [链路追踪](#_1017)
- [分布式事务](#_1019)
- [分布式缓存](#_1021)
- [分布式会话](#_1023)
- [日志收集](#_1025)
- [服务监控](#_1027)
- [消息驱动](#_1029)
- [数据处理流](#_1031)
- [自动化测试与部署](#_1033)
- [第三方支持](#_1035)
- [分布式协调服务Zookeeper](#Zookeeper_1037)
+ [程序员的一些思考](#_1041)
+ [团队与项目管理](#_1051)
+ - [需求调研](#_1053)
- [项目管理](#_1057)
- [代码管理](#_1065)
- [文档管理](#_1069)
- [测试](#_1078)
+ [Python](#Python_1082)
+ [运维](#_1093)
+ [操作系统](#_1115)
+ - [CentOS8](#CentOS8_1127)
+ [推荐书籍](#_1139)
+ [读书笔记](#_1148)
+ [云计算](#_1166)
+ [搜索引擎](#_1172)
+ [权限管理](#_1178)
+ [区块链](#_1184)
Java面试总结
Java面试总结汇总,整理了包括Java基础知识,集合容器,并发编程,JVM,常用开源框架Spring,MyBatis,数据库,中间件等,包含了作为一个Java工程师在面试中需要用到或者可能用到的绝大部分知识。欢迎大家阅读,本人见识有限,写的博客难免有错误或者疏忽的地方,还望各位大佬指点,在此表示感激不尽。文章持续更新中…
基础知识
Java概述
基础语法
大部分已完成
待整理:
Java开发必会的反编译知识(附支持对Lambda进行反编译的工具)
一文读懂什么是Java中的自动拆装箱
Java的枚举类型用法介绍
类、枚举、接口、数组、可变参数
泛型、序列化
面向对象
待整理:
抽象
继承、封装、多态
接口、抽象类、内部类
序号 | 内容 | 链接地址 |
---|---|---|
1 | 什么是面向对象 | https://thinkwon.blog.csdn.net/article/details/100667386 |
集合框架
迭代器、增强for、泛型
序号 | 内容 | 链接地址 |
---|---|---|
1 | Java集合框架总结 | https://thinkwon.blog.csdn.net/article/details/98844796 |
2 | ArrayList(JDK1.8)源码解析 | https://thinkwon.blog.csdn.net/article/details/98845119 |
3 | HashMap(JDK1.8)源码解析 | https://thinkwon.blog.csdn.net/article/details/98845487 |
4 | LinkedHashMap(JDK1.8)源码解析 | https://thinkwon.blog.csdn.net/article/details/102574293 |
5 | LinkedList(JDK1.8)源码解析 | https://thinkwon.blog.csdn.net/article/details/102573923 |
6 | TreeMap(JDK1.8)源码解析 | https://thinkwon.blog.csdn.net/article/details/102571883 |
IO流
待整理:
File、递归
字节流、字节缓冲流
编码表、编码方式、转换流、序列化、序列化流、打印流、commons-io
网络编程
网络概述、网络模型
Socket原理机制
UDP
TCP/IP
协议、OSI 七层协议、HTTP、HTTP2.0、HTTPS
网络安全
XSS、CSRF、SQL注入、Hash Dos、脚本注入、漏洞扫描工具、验证码
DDoS防范、用户隐私信息保护、序列化漏洞
加密解密、对称加密、哈希算法、非对称加密
服务安全、数据安全、数据备份
网络隔离、登录跳板机、非外网分离
认证、授权
常用API
String、StringBuffer、StringBuilder、正则表达式
Number、Radom、Math、System、包装类
Arrays、Collections
日期时间API
序号 | 内容 | 链接地址 |
---|---|---|
1 | Java7日期时间API | https://thinkwon.blog.csdn.net/article/details/110777654 |
2 | 史上最全Java7日期时间工具类 | https://thinkwon.blog.csdn.net/article/details/110779441 |
3 | Java8日期时间API | https://thinkwon.blog.csdn.net/article/details/111087199 |
4 | 史上最全Java8日期时间工具类 | https://thinkwon.blog.csdn.net/article/details/111116600 |
常用工具类库
待整理:OkHttp、commons-lang3
序号 | 内容 | 链接地址 |
---|---|---|
1 | HttpClient工具类 | https://thinkwon.blog.csdn.net/article/details/101391489 |
2 | WGS84地球坐标系,GCJ02火星坐标系,BD09百度坐标系简介与转换 | https://thinkwon.blog.csdn.net/article/details/101392187 |
3 | Lombok简介、使用、工作原理、优缺点 | https://thinkwon.blog.csdn.net/article/details/101392808 |
4 | Java几种常用JSON库性能比较 | https://thinkwon.blog.csdn.net/article/details/94354358 |
单元测试
JUnit
异常
日志
序号 | 内容 | 链接地址 |
---|---|---|
1 | 常用日志框架Log4j,Logback,Log4j2性能比较与日志门面SLF4J简介 | https://thinkwon.blog.csdn.net/article/details/101621135 |
2 | 日志作用 | https://thinkwon.blog.csdn.net/article/details/101619725 |
3 | Apache Log4j2详解 | https://thinkwon.blog.csdn.net/article/details/95043111 |
4 | Log4j2同步日志,混合日志和异步日志配置详解 | https://thinkwon.blog.csdn.net/article/details/101625124 |
5 | Log4j2配置文件详解 | https://thinkwon.blog.csdn.net/article/details/101629302 |
6 | Log4j2的Appenders配置详解 | https://thinkwon.blog.csdn.net/article/details/101625820 |
7 | Log4j2的Filters配置详解 | https://thinkwon.blog.csdn.net/article/details/101627162 |
8 | Log4j2的Policy触发策略与Strategy滚动策略配置详解 | https://thinkwon.blog.csdn.net/article/details/101628222 |
9 | Log4j2的Loggers配置详解 | https://thinkwon.blog.csdn.net/article/details/101628736 |
Java8新特性
序号 | 内容 | 链接地址 |
---|---|---|
1 | Java8新特性-Lambda表达式 | https://thinkwon.blog.csdn.net/article/details/113764085 |
2 | Java8新特性-Optional | https://thinkwon.blog.csdn.net/article/details/113791796 |
3 | Java8新特性-Stream | https://thinkwon.blog.csdn.net/article/details/113798096 |
4 | Java8新特性-Base64 | https://thinkwon.blog.csdn.net/article/details/113798575 |
5 | Java8新特性-日期时间API | https://thinkwon.blog.csdn.net/article/details/111087199 |
工具
IDEA
序号 | 内容 | 链接地址 |
---|---|---|
1 | IDEA常用配置和常用插件 | https://thinkwon.blog.csdn.net/article/details/101020481 |
2 | IDEA中Maven依赖下载失败解决方案 | https://thinkwon.blog.csdn.net/article/details/101312918 |
3 | 在IDEA中使用Linux命令 | https://thinkwon.blog.csdn.net/article/details/106320360 |
Eclipse & STS
序号 | 内容 | 链接地址 |
---|---|---|
1 | Eclipse & Spring Tool Suite常用配置 | https://thinkwon.blog.csdn.net/article/details/101025543 |
Maven
序号 | 内容 | 链接地址 |
---|---|---|
1 | Maven简介 | https://thinkwon.blog.csdn.net/article/details/94346090 |
2 | Maven安装与配置 | https://thinkwon.blog.csdn.net/article/details/94346569 |
3 | Maven依赖冲突 | https://thinkwon.blog.csdn.net/article/details/101483020 |
4 | 手动安装Maven依赖 | https://thinkwon.blog.csdn.net/article/details/101483478 |
5 | Maven部署jar包到远程仓库 | https://thinkwon.blog.csdn.net/article/details/101483769 |
6 | Maven私服Nexus安装与使用 | https://thinkwon.blog.csdn.net/article/details/94346681 |
Docker
序号 | 内容 | 链接地址 |
---|---|---|
1 | 使用Docker安装GitLab | https://thinkwon.blog.csdn.net/article/details/95042797 |
2 | 虚拟机和容器有什么不同 | https://thinkwon.blog.csdn.net/article/details/107476886 |
3 | Docker 从入门到实践系列一 - 什么是Docker | https://thinkwon.blog.csdn.net/article/details/107477065 |
4 | Docker 从入门到实践系列二 - Docker 安装 | https://thinkwon.blog.csdn.net/article/details/117638107 |
5 | Docker 从入门到实践系列三 - Docker 常用命令 | https://thinkwon.blog.csdn.net/article/details/117638128 |
6 | Docker 从入门到实践系列四 - Docker 容器编排利器 Docker Compose | https://thinkwon.blog.csdn.net/article/details/119511551 |
Git
GitLab
GitKraken
Navicat
并发编程
基础知识
并发理论
序号 | 内容 | 链接地址 |
---|---|---|
1 | Java内存模型 | https://thinkwon.blog.csdn.net/article/details/102073578 |
2 | 重排序与数据依赖性 | https://thinkwon.blog.csdn.net/article/details/102073858 |
3 | as-if-serial规则和happens-before规则的区别 | https://thinkwon.blog.csdn.net/article/details/102074107 |
4 | Java并发理论总结 | https://thinkwon.blog.csdn.net/article/details/102074440 |
并发关键字
序号 | 内容 | 链接地址 |
---|---|---|
1 | Java并发关键字-synchronized | https://thinkwon.blog.csdn.net/article/details/102243189 |
2 | Java并发关键字-volatile | https://thinkwon.blog.csdn.net/article/details/102243670 |
3 | Java并发关键字-final | https://thinkwon.blog.csdn.net/article/details/102244477 |
Lock体系
待整理:
公平锁 & 非公平锁
乐观锁 & 悲观锁
可重入锁 & 不可重入锁
互斥锁 & 共享锁
死锁
序号 | 内容 | 链接地址 |
---|---|---|
1 | Lock简介与初识AQS | https://thinkwon.blog.csdn.net/article/details/102468837 |
2 | AQS(AbstractQueuedSynchronizer)详解与源码分析 | https://thinkwon.blog.csdn.net/article/details/102469112 |
3 | ReentrantLock(重入锁)实现原理与公平锁非公平锁区别 | https://thinkwon.blog.csdn.net/article/details/102469388 |
4 | 读写锁ReentrantReadWriteLock源码分析 | https://thinkwon.blog.csdn.net/article/details/102469598 |
5 | Condition源码分析与等待通知机制 | https://thinkwon.blog.csdn.net/article/details/102469889 |
6 | LockSupport详解 | https://thinkwon.blog.csdn.net/article/details/102469993 |
并发容器
序号 | 内容 | 链接地址 |
---|---|---|
1 | 并发容器之ConcurrentHashMap详解(JDK1.8版本)与源码分析 | https://thinkwon.blog.csdn.net/article/details/102506447 |
2 | 并发容器之ConcurrentLinkedQueue详解与源码分析 | https://thinkwon.blog.csdn.net/article/details/102508089 |
3 | 并发容器之CopyOnWriteArrayList详解 | https://thinkwon.blog.csdn.net/article/details/102508258 |
4 | 并发容器之ThreadLocal详解 | https://thinkwon.blog.csdn.net/article/details/102508381 |
5 | ThreadLocal内存泄漏分析与解决方案 | https://thinkwon.blog.csdn.net/article/details/102508721 |
6 | 并发容器之BlockingQueue详解 | https://thinkwon.blog.csdn.net/article/details/102508901 |
7 | 并发容器之ArrayBlockingQueue与LinkedBlockingQueue详解 | https://thinkwon.blog.csdn.net/article/details/102508971 |
线程池
序号 | 内容 | 链接地址 |
---|---|---|
1 | 线程池ThreadPoolExecutor详解 | https://thinkwon.blog.csdn.net/article/details/102541900 |
2 | Executors类创建四种常见线程池 | https://thinkwon.blog.csdn.net/article/details/102541990 |
3 | 线程池之ScheduledThreadPoolExecutor详解 | https://thinkwon.blog.csdn.net/article/details/102542299 |
4 | FutureTask详解 | https://thinkwon.blog.csdn.net/article/details/102542404 |
原子操作类
序号 | 内容 | 链接地址 |
---|---|---|
1 | 原子操作类总结 | https://thinkwon.blog.csdn.net/article/details/102556910 |
并发工具
序号 | 内容 | 链接地址 |
---|---|---|
1 | 并发工具之CountDownLatch与CyclicBarrier | https://thinkwon.blog.csdn.net/article/details/102556958 |
2 | 并发工具之Semaphore与Exchanger | https://thinkwon.blog.csdn.net/article/details/102557034 |
并发实践
序号 | 内容 | 链接地址 |
---|---|---|
1 | 实现生产者消费者的三种方式 | https://thinkwon.blog.csdn.net/article/details/102557126 |
数据结构与算法
数据结构
序号 | 内容 | 链接地址 |
---|---|---|
1 | 红黑树详细分析(图文详解),看了都说好 | https://thinkwon.blog.csdn.net/article/details/102571535 |
1、数组
2、栈
3、队列
4、链表
5、树
二叉树
完全二叉树
平衡二叉树
二叉查找树(BST)
红黑树
B,B+,B*树
LSM 树
字段是不是数据结构
算法
语言只是编程工具,算法才是编程之魂!
1、排序算法:快速排序、归并排序、计数排序
2、搜索算法:回溯、递归、剪枝
3、图论:最短路径、最小生成树、网络流建模
4、动态规划:背包问题、最长子序列、计数问题
5、基础技巧:分治、倍增、二分法、贪心算法
宽度优先搜索
深度优先搜索
广度优先
双指针
扫描线
朴素贝叶斯
推荐算法
排序算法
序号 | 内容 | 链接地址 |
---|---|---|
1 | 史上最全经典排序算法总结(Java实现) | https://thinkwon.blog.csdn.net/article/details/95616819 |
2 | 冒泡排序(Bubble Sort) | https://thinkwon.blog.csdn.net/article/details/101534473 |
3 | 选择排序(Selection Sort) | https://thinkwon.blog.csdn.net/article/details/101534721 |
4 | 插入排序(Insertion Sort) | https://thinkwon.blog.csdn.net/article/details/101537804 |
5 | 希尔排序(Shell Sort) | https://thinkwon.blog.csdn.net/article/details/101538166 |
6 | 归并排序(Merge Sort) | https://thinkwon.blog.csdn.net/article/details/101538756 |
7 | 快速排序(Quick Sort) | https://thinkwon.blog.csdn.net/article/details/101543580 |
8 | 堆排序(Heap Sort) | https://thinkwon.blog.csdn.net/article/details/101543941 |
9 | 计数排序(Counting Sort) | https://thinkwon.blog.csdn.net/article/details/101544159 |
10 | 桶排序(Bucket Sort) | https://thinkwon.blog.csdn.net/article/details/101544356 |
11 | 基数排序(Radix Sort) | https://thinkwon.blog.csdn.net/article/details/101545529 |
LeetCode
序号 | 内容 | 链接地址 |
---|---|---|
1 | LeetCode第1题 两数之和(Two Sum) | https://thinkwon.blog.csdn.net/article/details/103113049 |
2 | LeetCode第3题 无重复字符的最长子串(Longest Substring Without Repeating Characters) | https://thinkwon.blog.csdn.net/article/details/103113969 |
3 | LeetCode第7题 整数反转(Reverse Integer) | https://thinkwon.blog.csdn.net/article/details/103113167 |
4 | LeetCode第9题 回文数(Palindrome Number) | https://thinkwon.blog.csdn.net/article/details/103113151 |
5 | LeetCode第13题 罗马数字转整数(Roman to Integer) | https://thinkwon.blog.csdn.net/article/details/103113519 |
6 | LeetCode第14题 最长公共前缀(Longest Common Prefix) | https://thinkwon.blog.csdn.net/article/details/103113700 |
7 | LeetCode第20题 有效的括号(Valid Parentheses) | https://thinkwon.blog.csdn.net/article/details/103113848 |
8 | LeetCode第26题 删除排序数组中的重复项(Remove Duplicates from Sorted Array) | https://thinkwon.blog.csdn.net/article/details/103113097 |
数据库
Oracle
MySQL
数据库基础知识
序号 | 内容 | 链接地址 |
---|---|---|
1 | MySQL语句分类 | https://thinkwon.blog.csdn.net/article/details/106610851 |
2 | MySQL插入语句insert into,insert ignore into,insert into … on duplicate key update,replace into-解决唯一键约束 | https://thinkwon.blog.csdn.net/article/details/106610789 |
3 | MySQL复制表的三种方式 | https://thinkwon.blog.csdn.net/article/details/106610810 |
4 | MySQL删除表的三种方式 | https://thinkwon.blog.csdn.net/article/details/106610831 |
5 | MySQL中count(字段) ,count(主键 id) ,count(1)和count(*)的区别 | https://thinkwon.blog.csdn.net/article/details/106610859 |
数据类型
引擎
索引
三大范式
常用SQL语句
存储过程与函数
视图
MySQL优化
事务
数据备份与还原
Redis
序号 | 内容 | 链接地址 |
---|---|---|
1 | Redis总结 | https://thinkwon.blog.csdn.net/article/details/99999584 |
2 | Redis使用场景 | https://thinkwon.blog.csdn.net/article/details/101521497 |
3 | Redis数据类型 | https://thinkwon.blog.csdn.net/article/details/101521724 |
4 | Redis持久化 | https://thinkwon.blog.csdn.net/article/details/101522209 |
5 | Redis过期键的删除策略 | https://thinkwon.blog.csdn.net/article/details/101522970 |
6 | Redis数据淘汰策略 | https://thinkwon.blog.csdn.net/article/details/101530624 |
7 | Redis与Memcached的区别 | https://thinkwon.blog.csdn.net/article/details/101530406 |
8 | Redis常见面试题(精简版) | https://thinkwon.blog.csdn.net/article/details/103522351 |
9 | Redis中缓存雪崩、缓存穿透等问题的解决方案 | https://thinkwon.blog.csdn.net/article/details/103402008 |
10 | 阿里云Redis开发规范学习总结 | https://thinkwon.blog.csdn.net/article/details/103400250 |
11 | Redis开发常用规范 | https://thinkwon.blog.csdn.net/article/details/103401781 |
12 | 这可能是最中肯的Redis规范了 | https://thinkwon.blog.csdn.net/article/details/103401978 |
Java虚拟机
深入理解Java虚拟机
序号 | 内容 | 链接地址 |
---|---|---|
1 | 深入理解Java虚拟机-走近Java | https://thinkwon.blog.csdn.net/article/details/103804387 |
2 | 深入理解Java虚拟机-Java内存区域与内存溢出异常 | https://thinkwon.blog.csdn.net/article/details/103827387 |
3 | 深入理解Java虚拟机-垃圾回收器与内存分配策略 | https://thinkwon.blog.csdn.net/article/details/103831676 |
4 | 深入理解Java虚拟机-虚拟机执行子系统 | https://thinkwon.blog.csdn.net/article/details/103835168 |
5 | 深入理解Java虚拟机-程序编译与代码优化 | https://thinkwon.blog.csdn.net/article/details/103835883 |
6 | 深入理解Java虚拟机-高效并发 | https://thinkwon.blog.csdn.net/article/details/103836167 |
架构设计
高可用架构
高并发架构
可伸缩架构
集群
设计模式
常用设计模式
创建型:
单例模式、工厂模式、抽象工厂模式
结构型:
适配器模式、外观模式、代理模式、装饰器模式
行为型:
观察者模式、策略模式、模板模式
序号 | 内容 | 链接地址 |
---|---|---|
1 | 设计模式 | https://thinkwon.blog.csdn.net/article/details/96829572 |
创建型模式
结构型模式
行为型模式
J2EE模式
| 序号 | 内容 | 链接地址 |
给大家的福利
零基础入门
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
同时每个成长路线对应的板块都有配套的视频提供:
因篇幅有限,仅展示部分资料
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!