└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # Java学习资料整理 2 | [![博客园](https://img.shields.io/badge/%E5%8D%9A%E5%AE%A2%E5%9B%AD-%E5%86%AC%E7%9C%A0%E7%9A%84%E5%B1%B1%E8%B0%B7-brightgreen.svg)](https://www.cnblogs.com/lgjlife/) 3 | 4 | ## 框架 5 | * [Arthas:Alibaba开源的Java诊断工具,在线问题排查](https://github.com/alibaba/arthas/blob/master/README_CN.md) 6 | * [Dubbo:阿里分布式框架](https://github.com/apache/incubator-dubbo)/[官网](http://dubbo.apache.org/zh-cn/) 7 | * [Dubbo-admin:dubbo运维监控平台](https://github.com/apache/incubator-dubbo-admin/blob/develop/README_ZH.md)dubbo监控 8 | * [Elasticsearch-head:el监控平台](https://github.com/mobz/elasticsearch-head)/[官网](https://www.elastic.co/) 9 | * [Elasticsearch:实时搜索](https://github.com/elastic/elasticsearch)/[官网](https://www.elastic.co/) 10 | * [FastDFS:分布式文件系统](https://github.com/happyfish100) 11 | * [Fescar:阿里开源分布式解决方案](https://github.com/seata) 12 | * [haproxy高可用性、负载均衡的代理](https://github.com/haproxy/haproxy)/[官网](https://www.haproxy.com/products/haproxy-enterprise-edition/) 13 | * [Jedis:redis JAVA客户端](https://github.com/xetorthio/jedis) 14 | * [Kafka:消息中间件](https://github.com/apache/kafka)/[官网](http://kafka.apache.org/) 15 | * [Mybatis:数据层ORM框架](https://github.com/mybatis/mybatis-3)/[官网](https://blog.mybatis.org/) 16 | * [Mybatis Plus:对Mybatis进一步封装](https://github.com/baomidou/mybatis-plus)/[官网](https://mp.baomidou.com/) 17 | * [Mycat:数据库中间件](https://github.com/MyCATApache)/[官网](http://www.mycat.io/) 18 | * [Netty:NIO通信框架](https://github.com/netty/netty)/[官网](https://netty.io/) 19 | * [Nginx:高性能分布式缓存](https://github.com/nginx/nginx/tree/release-1.15.12)/[官网](http://nginx.org/) 20 | * [Quartz分布式定时任务](https://github.com/quartz-scheduler/quartz)/[官网](http://www.quartz-scheduler.org/) 21 | * [Rabbitmq:消息中间件](https://github.com/rabbitmq)/[官网](https://www.rabbitmq.com/) 22 | * [Rocketmq:消息中间件](https://github.com/apache/rocketmq)/[官网](http://rocketmq.apache.org/) 23 | * [Redis:高性能缓存](https://github.com/antirez/redis)/[官网](https://redis.io/) 24 | * [Redisson:Redis客户端,集成分布式锁](https://github.com/redisson/redisson)/[官网](https://redisson.org/) 25 | * [Redis布隆过滤器](https://github.com/RedisBloom/RedisBloom) 26 | * [Springboot:Spring项目快速开发框架](https://github.com/spring-projects/spring-boot)/[官网](https://spring.io/projects/spring-boot/) 27 | * [SpringCloud](https://github.com/spring-cloud) 28 | * [spring-framework](https://github.com/spring-projects/spring-framework)/[官网](https://spring.io/projects/spring-boot/) 29 | * [Spring-data-elaticsearch:el Spring客户端](https://github.com/spring-projects/spring-data-elasticsearch)/[官网](https://spring.io/projects/spring-data-elasticsearch) 30 | * [Shiro:认证登录框架](https://github.com/apache/shiro)/[官网](http://shiro.apache.org/) 31 | * [tx-lcn:分布式事务解决](https://github.com/codingapi/tx-lcn)/[官网](https://www.txlcn.org/zh-cn/) 32 | * [Zookeeper:分布式协调系统](https://github.com/apache/zookeeper)/[官网](http://zookeeper.apache.org/) 33 | 34 | ## 收藏 35 | * [《MyBatis 从入门到精通》配套仓库](https://github.com/mybatis-book/book) 36 | * [Dockerfile Maven](https://github.com/spotify/dockerfile-maven) 37 | * [FastDFS_Client:fastdfs Java客户端](https://github.com/tobato/FastDFS_Client) 38 | * [美团Leaf分布式ID生成方案](https://github.com/Meituan-Dianping/Leaf)/[介绍](https://tech.meituan.com/2019/03/07/open-source-project-leaf.html) 39 | * [zipkin-server](https://github.com/openzipkin/zipkin/tree/master/zipkin-server) 40 | # 技术社区 41 | * [博客园](https://www.cnblogs.com/) 42 | * [开源中国](https://www.oschina.net/) 43 | * [stackoverflow](https://stackoverflow.com/) 44 | * [CSDN](https://www.csdn.net/) 45 | * [掘金](https://juejin.im/) 46 | * [技术文档下载](http://www.java1234.com/) 47 | * [leetcode](https://leetcode.com/) 48 | * [牛客网](https://www.nowcoder.com/) 49 | * [思否](https://segmentfault.com/) 50 | 51 | # 书籍推荐 52 | ## 计算机基础 53 | * 计算机科学导论 --(如果不是计算机科班的,应先看看计算机基础,了解一些基本概念,有助于之后的学习) 54 | * 计算机操作系统 55 | * 操作系统原理及应用(Linux) 56 | 57 | ## LINUX 58 | * Linux命令行与shell脚本编程大全 --(常用命令的介绍和脚本编写) 59 | * Unix环境高级编程 --(这三本书主要还是看看Linux下的IO模型,select 和epoll的区别,后面有的框架会涉及到这些内容,比如netty) 60 | * Unix网络编程 61 | * Linux 系统编程手册 62 | 63 | ## Java 基础和进阶 64 | * 疯狂Java讲义 65 | * Java 核心基础卷1/2 66 | * Java编程思想 67 | * Java 8实战 68 | * jls11 69 | * Effective Java --(编写代码过程中的一些最佳实践,注意事项。现在已经出第二版了,增加了lambada的内容) 70 | * JAVA网络编程 第4版 --(BIO socket编程,现在基本不用了) 71 | 72 | ## 性能优化 73 | * Java性能优化权威指南 74 | * Java性能权威指南 75 | * Java性能调优指南 76 | * Java程序性能优化 77 | 78 | ## Java 并发编程 79 | * Java多线程编程核心技术 80 | * Java多线程编程实战指南 81 | * 实战Java高并发程序设计 82 | * Java 并发编程实战   83 | * Java并发编程的艺术 84 | 85 | ## 设计模式 86 | * 设计模式之禅 --(个人觉得把设计模式讲的比较明白的书籍) 87 | 88 | ## 虚拟机 89 | * 深入理解Java虚拟机(第二版)--(理解JVM的经典书籍,基于1.7,因此有些概念不适用最新版本,比如永久代已经替换为元空间) 90 | * jvms11 91 | * hotspot 92 | * 虚拟机参数 93 | 94 | ## Redis 95 | * Redis 入门指南 96 | * Redis实战中文版 97 | * Redis设计与实现 98 | * 深入分布式缓存 从原理到实践 99 | * Redis深度历险:核心原理和应用实践 100 | * redis设计与实现(第二版) 101 | 102 | ## MySQL 103 | * MySQL数据库应用从入门到精通 104 | * sql学习指南 105 | * 数据库索引设计与优化 106 | * 高性能mysql 107 | * MySQL技术内幕---Innodb存储引擎 108 | * 分布式数据库架构及企业实践_基于Mycat中间件 109 | * MySQL官网 110 | 111 | ## Maven 112 | * Maven实战 113 | 114 | ## Shiro 115 | * 跟我学Shiro教程 116 | 117 | ## MongoDB 118 | * MongoDB权威指南(第2版) 119 | 120 | ## Elasticsearch 121 | * Elasticsearch大数据搜索引擎 -- (这本书不太好,概念不讲清楚,罗列代码,没有说明为什么要这么写) 122 | * Elasticsearch服务器开发(第2版) --(这两本全面讲解ela的基本概念和使用,适合初学者) 123 | * Elasticsearch权威指南(中文版) 124 | * 深入理解ElasticSearch 原书第2版 --(深入讲解实现原理) 125 | 126 | ## 消息中间件 127 | * 分布式消息中间件实践 128 | 129 | ## RabbitMQ 130 | * RabbitMQ实战指南 131 | * RabbitMQ实战 高效部署分布式消息队列 132 | * RabbitMQ官网 133 | 134 | ## RocketMQ 135 | * RocketMQ技术内幕 136 | * RocketMQ实战与原理解析 137 | 138 | ## KAFKA 139 | * Kafka入门与实践 140 | 141 | ## Zookeeper 142 | * Zookeeper 分布式过程协同技术详解 143 | 144 | ## Netty 145 | * Netty权威指南 146 | 147 | ## Nginx 148 | * Nginx高性能Web服务器详解 149 | * Nginx高性能Web服务器实战教程 150 | * 深入理解Nginx模块开发与架构解析第2版LinuxUnix技术丛书 151 | 152 | ## Spring 153 | * 精通Spring+4.x++企业应用开发实战 154 | * Spring源码深度解析 155 | * Spring 揭秘 156 | * Spring Boot 157 | * Spring Boot 2精髓 从构建小系统到架构分布式大系统 158 | * 深入实践Spring+Boot 159 | * Spring Boot实战 160 | * Spring Cloud 161 | * Spring Cloud与Docker微服务架构实战(仅讲解如何使用,没有原理说明) 162 | * Spring Cloud微服务实战 163 | * 深入理解Spring+Cloud与微服务构建 164 | * Spring Cloud微服务架构进阶 165 | 166 | ## Mybatis 167 | * MyBatis从入门到精通 168 | * 深入浅出MyBatis技术原理与实战 169 | 170 | ## Dubbo 171 | * 官方文档 172 | 173 | ## docker 174 | * 第一本DOCKER书 175 | * 没什么难的Docker入门与开发实战 176 | * Docker开发指南 177 | * Docker开发实践(推荐这本书) 178 | 179 | ## Jenkins 180 | * Jenkins权威指南 :white_check_mark: 181 | 182 | ## Tomcat 183 | * Tomcat与Java Web开发技术详解 184 | * Tomcat架构解析 185 | * Tomcat内核设计剖析 186 | 187 | ## 数据结构和算法 188 | * 算法图解 189 | * 程序员代码面试指南 IT名企算法与数据结构题目最优解 190 | * 大话数据结构 191 | * 算法 192 | * Java数据结构和算法 193 | * 数据结构与算法分析 Java语言描述 194 | * 算法导论 195 | 196 | ## Java编程规范 197 | * 阿里巴巴Java开发手册 198 | * 重构,改善既有代码的设计 199 | * 敏捷软件开发 200 | * 单元测试之道Java版 --(对单测的基本概念讲解,没接触过单测的可以看看) 201 | 202 | ## 网络 203 | * 图解HTTP --(这两本书是对HTTP/TCP总概括,先看这两本了解基本概念,再通过下面两本深入了解) 204 | * 图解TCP/IP 205 | * TCP/IP详解 --(如果不从事协议开发,看卷一即可) 206 | * HTTP权威指南 --(对HTTP相对完整的描述) 207 | 208 | ## 网络安全 209 | * 白帽子讲Web安全纪念版 210 | * Web安全深度剖析 211 | 212 | ## 架构 213 | * 亿级流量网站架构核心技术 跟开涛学搭建高可用高并发系统 214 | * 分布式JAVA应用 基础与实践 215 | * 大型分布式网站架构设计与实践 216 | * 大型网站系统与Java中间件实践 217 | * 大规模分布式存储系统:原理解析与架构实战 218 | * 实战Java高并发程序设计 219 | * 大型网站技术架构:核心原理与案例分析 220 | * 高扩展性网站的50条原则 221 | * 架构及未来:现代企业可扩展的web架构,流程,组织 222 | * 系统架构:复杂系统的产品设计和开发 223 | * 大型分布式存储系统:原理解析和架构实战 224 | * 阿里巴巴技术演与超越 225 | * 架构探险:从零开始写分布式服务框架 226 | * 软件架构师的12项修炼 227 | * 分布式服务框架原理与实践 228 | * Designing Data-Intensive Applications 目前只有英文版的 229 | 230 | ## 其他 231 | * 颈椎病的防治与治疗 --(关注自身健康,拒绝ICU) 232 | 233 | # 常用工具 234 | ## 编译器 235 | * IDEA (个人觉得IDEA比较好用) 236 | * Eclipse 237 | * MyEclipse 238 | 239 | ## IDEA插件 240 | * Lombok: 使用注解,免去实体类中get /set/构造器等代码 ,需要引入lombok包 241 | * Alibaba Java Coding Guidelines :《阿里巴巴Java开发规约》扫描插件,安装后右键单击选择扫描,会提示哪些地方不符合规范 242 | * MyBatis plugin : 可以从mybatis mappe接口的方法直接跳转到mapper.xml配置文件 243 | * jclasslib: JClassLib不但是一个字节码阅读器而且还包含一个类库允许开发者读取,修改,写入Java Class文件与字节码 244 | 245 | ## 数据库管理 246 | * mysql workbench 247 | 248 | ## UML绘制 249 | * https://www.draw.io/ :在线UML绘制工具,可以保存到本地或者Github 250 | 251 | ## HTTP请求 252 | * POSTMAN(https://www.getpostman.com/):一款功能强大的网页调试与发送网页HTTP请求的工具 253 | * curl指令 254 | 255 | ## 前端开发编辑 256 | * [vscode](https://code.visualstudio.com/Download) 257 | * IDEA 258 | * Brackets 代码提示,颜色区分 259 | * sublime_text_3 这个Linux下安装后,不支持中文输入,网上有解决办法。 260 | 261 | ## 思维导图软件 262 | * MindMaster 多平台,免费,可以导出为图片。 263 | ## 编辑器 264 | * VIM 265 | * GEDIT  266 | 267 | ## 调优工具 268 | * visualVm(https://visualvm.github.io/):是一款免费的,集成了多个 JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优. 269 | 270 | ## 压测工具 271 | * Jmeter 可以开多个线程对接口进行压测,并分析压测结果。 272 | 273 | ## 版本管理 274 | * git 275 | * svn 276 | * 码云 277 | * Git在线练习 [try git](https://try.github.io/)/[git real](https://www.pluralsight.com/courses/code-school-git-real)/[Learn Git Branching](https://learngitbranching.js.org/) 278 | 279 | ## 其他 280 | * SpringBoot Banner 字符生成 [根据图片生成](https://www.degraeve.com/img2txt.php)/[根据文字生成](http://patorjk.com/software/taag/#p=display&f=3D-ASCII&t=MicroBlog%0A) 281 | --------------------------------------------------------------------------------