引子

本篇文章用技术树的形式来展示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 入门篇

OpenJDK-Hotspot源码包目录结构

Java异常简介、异常捕获还是上抛总结

1.2 java集合

list、set、map集合总览

ConcurrentHashMap原理分析

JDK1.7升级1.8 HashMap原理的变化

Vector集合详解

2.jvm和调优

JDK8-废弃永久代(PermGen)迎来元空间(Metaspace)

Eclipse Memory Analyzer,内存泄漏插件,安装使用一条龙

3.线程

3.1 线程

Thread类源码剖析

从Thread.start()方法看Thread源码,多次start一个线程会怎么样

ThreadLocal终极源码剖析-一篇足矣!

3.2 多线程

3.2.1 锁

《The java.util.concurrent Synchronizer Framework》 JUC同步器框架(AQS框架)原文翻译

AbstractQueuedSynchronizer AQS框架源码剖析

Java的LockSupport.park()实现分析

终极锁实战:单JVM锁+分布式锁

对象内存布局、synchronized终极原理

同步中的四种锁synchronized、ReentrantLock、ReentrantReadWriteLock、StampedLock

锁Synchronized

zookeeper分布式锁

3.2.2 多线程任务

常用线程池和调度类

根据CPU核心数确定线程池并发线程数

多线程并发执行任务,取结果归集。终极总结:Future、FutureTask、CompletionService、CompletableFuture

多线程经常使用的3个关键字:synchronized、ReentrantLock、volatile

4.算法

6种基础排序算法java源码+图文解析

底层算法系列:Paxos算法

Raft算法

5.开源框架

5.1 Spring 框架

异步任务spring @Async注解源码解析

5.2 Spring IOC容器启动详解

Spring IOC(一)概览

Spring IOC(二)容器初始化

Spring IOC(三)依赖注入

Spring IOC(四)总结

5.3 Spring Kafka原理详解

kafka原理和实践(一)原理:10分钟入门

kafka原理和实践(二)spring-kafka简单实践

kafka原理和实践(三)spring-kafka生产者源码

kafka原理和实践(四)spring-kafka消费者源码

kafka原理和实践(五)spring-kafka配置详解

kafka原理和实践(六)总结升华

5.4 Spring Cloud(boot)

spring boot容器启动详解

spring cloud feign不支持@RequestBody+ RequestMethod.GET,报错

@RequestBody对象为空,异常Required request body is missing

5.5 zookeeper

zookeeper(zkCli)命令概览

5.6 dubbo

6.设计模式

观察者模式

设计模式之大成--配真实工作中的案例源码

7.数据库/缓存

7.1 mysql

mysql事务隔离级别和MVCC

PowerDesigner连接mysql逆向生成pdm

mysql按照天统计报表,当天没有数据,填0

日志监控系统中,大批量查询mysql方案

7.2 cache

基于Redis的爬虫平台的实现

google cache源码详解

8.工具

9.linux

 

java技术树+必读书籍的更多相关文章

  1. 10本Java架构师必读书籍

    1.大型网站系统与JAVA中间件实践 本书围绕大型网站和支撑大型网站架构的Java中间件的实践展开介绍. 从分布式系统的知识切入,让读者对分布式系统有基本的了解:然后介绍大型网站随着数据量.访问量增长 ...

  2. 9本java程序员必读的书(附下载地址)

    本文列出的9本书在Java程序员界都是被认为很棒的书.当一个程序员开始初学Java时,他的第一个问题应该是如何选择一本书来作为指导学习Java.这个问题也就表明,相对于其他的教程和博客,Java书籍还 ...

  3. Java 专业人士必备的书籍和网站列表

    对于 Java™ 语言开发人员来说,信息过量是一个真正的问题.每个新入行的程序员都要面临一个令人畏缩的挑战:要进入的行业是一个具有海量知识的行业.要了解的东西简直 太多了.对于有经验的老手来说,情况只 ...

  4. 9本java程序员必读的书

    来源:http://mp.weixin.qq.com/s?__biz=MjM5NzA1MTcyMA==&mid=202904638&idx=2&sn=21dd20438e32a ...

  5. Java 技术栈

    JAVA是一个面向对象的编程语言,由SUN公司的程序员所开发.它不仅吸收了C++的各种优点,而且还撇弃了C++中难以理解的概念,如多继承.指针等:因此JAVA语言具有功能强大且简单易用两个特征, JA ...

  6. java技术面试之面试题大全

    转载自:http://blog.csdn.net/lijizhi19950123/article/details/77679489 Java 面试知识点总结 本篇文章会对面试中常遇到的Java技术点进 ...

  7. Java程序员必读的9本书

    本文列出的9本书在Java程序员界都是被认为很棒的书.当一个程序员开始初学Java时,他的第一个问题应该是如何选择一本书来作为指导学习Java.这个问题也就表明,相对于其他的教程和博客,Java书籍还 ...

  8. (转)如何学习Java技术?谈Java学习之路

    51CTO编者注:这篇文章已经是有数年“网龄”的老文,不过在今天看来仍然经典.如何学习Java?本篇文章可以说也是面对编程初学者的一篇指导文章,其中对于如何学习Java的步骤的介绍,很多也适用于开发领 ...

  9. web技术人员-推荐书籍

    学习是技术人员成长的基础,本次分享20本技术方面的书籍,这些书不是每一本都是经典,但是每一本都有其特点.以下20本大部分本人都看过,因此推荐给大家.(本次推荐的20本只是一个参考,比如像Head Fi ...

随机推荐

  1. java中Scanner类nextLine()和next()的区别和使用方法

    转载:http://blog.csdn.net/zhiyuan_ma/article/details/51592730 在实现字符窗口的输入时,很多人更喜欢选择使用扫描器Scanner,它操作起来比较 ...

  2. AS3中的mouseEnabled与mouseChild

    InteractiveObject类的一个属性,InteractiveObject类是用户可以使用鼠标和键盘与之交互的所有显示对象的抽象基类.我们不能直接实例化InteractiveObject类.m ...

  3. python 之路,200行Python代码写了个打飞机游戏!

    早就知道pygame模块,就是没怎么深入研究过,恰逢这周未没约到妹子,只能自己在家玩自己啦,一时兴起,花了几个小时写了个打飞机程序. 很有意思,跟大家分享下. 先看一下项目结构 "" ...

  4. 对于程序员在boss直聘求职的建议

    最近为一个岗位的招聘,在直聘伤刷了三百份简历 0.上传简历最好是PDF,word简历在不同的系统和软件下排版可能会出问题. 1.新职位投得要快,后面投的,有可能看不到. 为了投的命中率,投之前最好看一 ...

  5. Java虚拟机-垃圾收集器

    垃圾收集器(Garbage Collection, GC)的诞生引导出了三个问题: 哪些内存需要回收? 什么时候回收? 如何回收? 对于线程独占的三个区域(程序计数器.虚拟机栈.本地方法栈)不用过多的 ...

  6. python爬虫错误总结

    这几天突然想到学习爬虫,于是就从python开始,python教程瞄了两眼,就去网上找别人写的爬虫(爬音乐网站的歌曲) 磕磕绊绊中渐渐地熟悉了python中常用的库和模块. 1.python 2.x( ...

  7. MyBatis打印SQL执行时间

    1.plugins MyBatis官网对于plugins的描述是这样的: MyBatis allows you to intercept calls to at certain points with ...

  8. 学习CountDownLatch

    对比 使用CyclicBarrier 上次用Barrier方式实现了线程等待一组完成,这次用CountDownLatch来实现 我的理解CountDownLatch 采用的方式是计数器方式,每执行完一 ...

  9. c# 多线程编程中AutoResetEvent和ManualResetEvent

    作为等同于Java的wait,notify,notifyAll的存在,AutoResetEvent和ManualResetEvent分别实现了notify和notifyAll的功能,下面的代码简单讲解 ...

  10. 重温《STL源码剖析》笔记 第六、七、八章 next_permutation (字典序)

    源码之前,了无秘密  ——侯杰 第六章算法 next_permutation 比如:01342 -> 01423 -> 01432 方法:从尾端开始往前寻找两个相邻的元素,令第一个元素为* ...