引子

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

    JeeSite是一个 开源的企业信息管理系统 基础框架.主要定位于"企业信息管理"领域,可用作企业信息管理类系统.网站后台管理类系统等.JeeSite是非常强调开发的高效性.健壮性 ...

  2. 用尽洪荒之力学习Flask源码

    WSGIapp.run()werkzeug@app.route('/')ContextLocalLocalStackLocalProxyContext CreateStack pushStack po ...

  3. kaggle入门项目:Titanic存亡预测(二)数据处理

    原kaggle比赛地址:https://www.kaggle.com/c/titanic 原kernel地址:A Data Science Framework: To Achieve 99% Accu ...

  4. html5 标签在 IE 下使用

    (function(){if(!/*@cc_on!@*/0)return;var e = "abbr,article,aside,audio,bb,canvas,datagrid,datal ...

  5. System.Drawing.image 与ImageSource 互转

    private BitmapSource bs(Bitmap bt) { IntPtr ip = bt.GetHbitmap(); BitmapSource bitmapSource = System ...

  6. 第6次结对作业--郑锦伟&古维城

    第6次结对作业 在线英语学习平台客户端原型 1.结对成员 郑锦伟 2015034643034 古维城 2015034643033 2.原型设计工具实现-Photoshop 3.需求分析 使用NABCD ...

  7. [ Java面试题 ]基础篇之二

    1.String s = new String("xyz");创建了几个StringObject?是否可以继承String类? 两个或一个都有可能,"xyz"对 ...

  8. win10汇编环境的搭建

    第一步:下载DOSBox0.74-win32-installer 可以去官网:http://www.dosbox.com/ 或者链接:https://pan.baidu.com/s/1UA77qTLO ...

  9. RN 开发常见小问题

    1 定时器每隔多少秒调用一次 直接贴代码  可复制使用 componentWillUnmount() { this.timer && clearInterval(this.timer) ...

  10. Windows驱动开发入门指引

       1.  前言 因工作上项目的需要,笔者需要做驱动相关的开发,之前并没有接触过相关的知识,折腾一段时间下来,功能如需实现了,也积累了一些经验和看法,所以在此做番总结. 对于驱动开发的开发指引,微软 ...