java技术树+必读书籍
引子
本篇文章用技术树的形式来展示java相关技术栈。所有技术点有博客的都自带链接,没有的后续加上。
必读书籍推荐:
1.java基础:
《effective java》--》四星推荐,工具书,时长翻看一下规避坑。
2.jvm:
《深入理解java虚拟机》--》超五星推荐,建议看上多遍。深入浅出,楼主到现在依然不敢说完全吃透这本书。涵盖:java历史+内存管理+虚拟机执行+程序编译优化+并发。
3.数据库
《Mysql技术内幕-InnoDB存储引擎》--》超五星推荐,建议看多遍。由于讲的比较深且抽象,后端研发可以有选择的看。从现在主流innoDB引擎入手,深入讲解mysql.
4.设计模式
《设计模式的艺术-软件开发人员内功修炼之道》--》四星级推荐。
5.算法
《算法第四版》--》五星推荐,全部java实现算法,讲解透彻。
6.并发
7.区块链
8.开源框架
《Spring Cloud 微服务实战》--》四星推荐,作为spring cloud工具书还是不错。
1.java基础
1.1 入门篇
1.2 java集合
list、set、map集合总览
ConcurrentHashMap原理分析
2.jvm和调优
JDK8-废弃永久代(PermGen)迎来元空间(Metaspace)
Eclipse Memory Analyzer,内存泄漏插件,安装使用一条龙
3.线程
3.1 线程
从Thread.start()方法看Thread源码,多次start一个线程会怎么样
3.2 多线程
3.2.1 锁
《The java.util.concurrent Synchronizer Framework》 JUC同步器框架(AQS框架)原文翻译
AbstractQueuedSynchronizer AQS框架源码剖析
同步中的四种锁synchronized、ReentrantLock、ReentrantReadWriteLock、StampedLock
3.2.2 多线程任务
多线程并发执行任务,取结果归集。终极总结:Future、FutureTask、CompletionService、CompletableFuture
多线程经常使用的3个关键字:synchronized、ReentrantLock、volatile
4.算法
5.开源框架
5.1 Spring 框架
5.2 Spring IOC容器启动详解
5.3 Spring Kafka原理详解
kafka原理和实践(三)spring-kafka生产者源码
kafka原理和实践(四)spring-kafka消费者源码
5.4 Spring Cloud(boot)
spring cloud feign不支持@RequestBody+ RequestMethod.GET,报错
@RequestBody对象为空,异常Required request body is missing
5.5 zookeeper
5.6 dubbo
6.设计模式
7.数据库/缓存
7.1 mysql
7.2 cache
8.工具
9.linux
java技术树+必读书籍的更多相关文章
- 10本Java架构师必读书籍
1.大型网站系统与JAVA中间件实践 本书围绕大型网站和支撑大型网站架构的Java中间件的实践展开介绍. 从分布式系统的知识切入,让读者对分布式系统有基本的了解:然后介绍大型网站随着数据量.访问量增长 ...
- 9本java程序员必读的书(附下载地址)
本文列出的9本书在Java程序员界都是被认为很棒的书.当一个程序员开始初学Java时,他的第一个问题应该是如何选择一本书来作为指导学习Java.这个问题也就表明,相对于其他的教程和博客,Java书籍还 ...
- Java 专业人士必备的书籍和网站列表
对于 Java™ 语言开发人员来说,信息过量是一个真正的问题.每个新入行的程序员都要面临一个令人畏缩的挑战:要进入的行业是一个具有海量知识的行业.要了解的东西简直 太多了.对于有经验的老手来说,情况只 ...
- 9本java程序员必读的书
来源:http://mp.weixin.qq.com/s?__biz=MjM5NzA1MTcyMA==&mid=202904638&idx=2&sn=21dd20438e32a ...
- Java 技术栈
JAVA是一个面向对象的编程语言,由SUN公司的程序员所开发.它不仅吸收了C++的各种优点,而且还撇弃了C++中难以理解的概念,如多继承.指针等:因此JAVA语言具有功能强大且简单易用两个特征, JA ...
- java技术面试之面试题大全
转载自:http://blog.csdn.net/lijizhi19950123/article/details/77679489 Java 面试知识点总结 本篇文章会对面试中常遇到的Java技术点进 ...
- Java程序员必读的9本书
本文列出的9本书在Java程序员界都是被认为很棒的书.当一个程序员开始初学Java时,他的第一个问题应该是如何选择一本书来作为指导学习Java.这个问题也就表明,相对于其他的教程和博客,Java书籍还 ...
- (转)如何学习Java技术?谈Java学习之路
51CTO编者注:这篇文章已经是有数年“网龄”的老文,不过在今天看来仍然经典.如何学习Java?本篇文章可以说也是面对编程初学者的一篇指导文章,其中对于如何学习Java的步骤的介绍,很多也适用于开发领 ...
- web技术人员-推荐书籍
学习是技术人员成长的基础,本次分享20本技术方面的书籍,这些书不是每一本都是经典,但是每一本都有其特点.以下20本大部分本人都看过,因此推荐给大家.(本次推荐的20本只是一个参考,比如像Head Fi ...
随机推荐
- Linux中使用export命令设置环境变量
Linux export 命令 2011-08-31 22:36:39| 分类: 命令总结|举报|字号 订阅 功能说明:设置或显示环境变量. ######################## ...
- flash 视频 死机(转贴)
http://zhidao.baidu.com/question/120464366 打开有关flash的网站就定屏死机 打开flash的网站经常定屏死机,打开酷狗,看土豆网遇到旁边那些广告也一样死机 ...
- PHP内核之旅-2.SAPI中的Cli
PHP 内核之旅系列 PHP内核之旅-1.生命周期 PHP内核之旅-2.SAPI中的Cli 一.SAPI是什么? 1.1 理解SAPI (1)SAPI是PHP框架的接口层.有很多种服务器的SAPI的实 ...
- Chatbot思考录
人工分词产生不一致性的原因主要在于人们对词的颗粒度的认知问题.在汉语里,词是表达意最基本的意思,再小意思就变了.在机器翻译中会有一种颗粒度比另外一种颗粒度更好的情况,颗粒度大的翻译效果好. 为了解决词 ...
- Spark学习笔记
Map-Reduce 我认为上图代表着MapReduce不仅仅包括Map和Reduce两个步骤这么简单,还有两个隐含步骤没有明确,全部步骤包括:切片.转换.聚合.叠加,按照实际的运算场景上述步骤可以简 ...
- 用一张表里的记录更新自己(或另一张表)里的记录(exists使用)
update jqhdzt set shid=(select shid from v_plat_userjqinfo t where jqhdzt.jqbh=t.JQBH and jqhdzt.shi ...
- java面试总结
一.java的集合框架 HashMap.HashTable.CurrentHashMap的底层数据结构与区别? CurrentHashMap与HashTable是如何保证线程安全的? ArrayLis ...
- Ruby类
Ruby类 类定义 #!/usr/bin/ruby class Sample def hello puts "Hello Ruby!" end end # 使用上面的类来创建对象 ...
- 使用SimHash进行海量文本去重[转载]
阅读目录 1. SimHash与传统hash函数的区别 2. SimHash算法思想 3. SimHash流程实现 4. SimHash签名距离计算 5. SimHash存储和索引 6. SimHas ...
- 微机原理基础(四)—— MSC51
一.MCS51基本组成(STC89C52) CPU(8051CPU) + 存储器(4KB ROM/256B RAM)+外设(4组IO口,两个定时器,一个串口) 1.组成结构简图 ...