您的位置 首页 java

Java知识体系学习

1.书籍推荐

1.1 Java概述

书籍

作者

备注

《深入分析java Web技术内幕》

许令波

写的一般,可以通过这本书大体了解下Java技术体系结构,泛读

1.2 Java基础

书籍

作者

备注

《Java编程思想》

Bruce Eckel

精度-至少3遍

⏰ 知识点:

collections,I/O,反射,序列化,注解、java锁机制等

1.3 JVM

书籍

作者

备注

《深入理解Java虚拟机》

周志明

精度

⏰ 知识点:

垃圾回收算法、jvm内存结构、Jvm调优方法、双亲委派机制等

1.4 数据库及缓存

书籍

作者

备注

《高性能MySQL第3版(中文)》

施瓦茨 (Baron Schwartz)

精度

《MySQL技术内幕(第4版)》

姜承尧

精度

《redis设计与实现》

黄健宏

精度

⏰ 知识点:

1. 各存储引擎间区别、慢sql、索引机制、最左原则、事务原理及实现原理(日志文件redo/undo log、锁技术、 MVCC )、B+ tree、事务隔离机制、脏读幻读等;

2. redis 数据类型(bitmap、HyperLogLogs等)、对象、底层结构(SDS、双端链表、跳表等)、pipline、 lua 、事务、持久化RDB/AOF、集群部署(复制、sentinal、 cluster )、分布式锁、red lock

1.5 设计模式

书籍

作者

备注

《大话设计模式》

程杰

精度-熟练掌握常用经典设计模式

《设计模式之禅》

秦晓波

精度

⏰ 知识点:

几种常用设计模式-工厂模式、单例模式、外观模式、代理模式、适配器模式、策略模式等

1.6 Spring

书籍

作者

备注

《Spring实战》

程杰

精度-几个版本都可以看看

《Spring技术内幕》

秦晓波

泛读

⏰ 知识点:

DI、AOP、 io C原理、事务传播机制等

1.7 高并发

书籍

作者

备注

《Java并发编程实战》

Brian Goetz

精度-结合jdk中JUC包阅读

⏰ 知识点:

原子类、cas、volatile、信号量、threadlocal、同步协助类、 线程池 、锁、JMM、AQS等

1.8 网络编程

书籍

作者

备注

《Java NIO》

Ran Hitchens(裴小星 译)

精度

⏰ 知识点:

BIO、NIO(buffer、Channel、selector)、AIO机制和原理、zero copy (mmap、sendfile)、 多路复用 原理(select、 poll 、epoll)

1.9 分布式架构

书籍

作者

备注

《大型分布式网站架构设计与实践》

陈康贤

精度一本,其余泛读

《大型网站技术架构:核心原理与案例分析》

李智慧

《大型网站系统与JAVA中间件实践》

曾宪杰

《分布式Java应用基础与实践》

林昊

⏰ 知识点:

了解CAP与BASE,熟悉常用分布式产品原理-分布式消息队列、 分布式缓存 分布式数据库 ,分布式注册中心

1.10 分布式存储

书籍

作者

备注

大规模分布式存储系统

杨传辉

泛读

《NoSQL精粹》

爱飞翔 译

泛读

⏰ 知识点:

键值数据库、列簇数据库、图数据库等,LSM/ Hash /B tree存储、顺序写等

1.11 数据仓库(知识延伸)

书籍

作者

备注

数据仓库工具箱(第3版)

Ralph Kimball / Margy Ross

精读-业界神书

⏰ 知识点:

数仓维度建模理论基础

1.12 大数据(知识延伸)

书籍

作者

备注

Hadoop权威指南

Tom White

泛读

《大数据之路》

阿里巴巴数据技术及产品部

泛读-产品系书籍,深度不够,可通过了解大局

spark 快速大数据分析》

Holden Karau

精读

⏰ 知识点:

  1. 了解下 Hadoop 各子项目原理及用处
  2. 了解大数据产品体系
  3. spark原理、内存模型、 scala 基本编程

1.13 算法(知识延伸)

书籍

作者

备注

线性代数 /概率论

大学教材

泛读

《统计学习方法(第2版)》

李航

精度

《机器学习实战》

Aurélien Géron

精度

⏰ 知识点

了解常用统计算法SVM、 感知机 、k近邻法、朴素贝叶斯法、决策树、最大熵模型、支持向量机、 神经网络

深度学习常用框架: Caffe, PyTorch , TensorFlow

1.14 项目构建

书籍

作者

备注

《Maven实战》

许晓斌

精度-几小时即可读完上手

⏰ 知识点

了解项目构建背后的核心思想,对其他构建工具也可大概了解一下ant、gradle

2.知识体系结构概述:

2.1 Java基础

jdk常用类库,io库、collection库、 lang 库、JUC、垃圾回收机制,jvm调优,spi、四种引用、动态代理、 字节码 技术。

2.2 j2ee 基础

servlet jsp JTA jdbc (HikariCP、Druid、c3p0、dbcp等)

2.3 设计模式

常用java设计模式(工厂、单例、外观、代理、 适配器 、策略)。

企业级架构模式(future,reactor,proactor、Master-Worker、生产者-消费者设计模式)等。

2.4 事务

隔离机制、事物传播机制、 分布式事务 (base原理、 2PC 、3PC、TCC)、 Paxos 、悲观锁、乐观锁等

2.5 开发框架

spring mvc,spring boot,spring cloud,mybatis、jpa等

2.6 网络通信

I/O机制:BIO/NIO(mina, netty )/AIO等

序列化:rmi/hession/webservice/ Google protocol buffer/ facebook thrift等

协议:TCP/UDP(粘包、拆包问题),http 1.0/1.1/2.0,https

2.7 中间件

消息中间件(JMS/metaQ/activeMQ/rabbitMQ/rocketMQ/kafka等)

数据中间件:mysql-proxy、tddl、mycat、 sharding -jdbc、 zebra

RPC 服务中间件(dubbo/hsf/tars/thrift/gRPC等)

消息总线: ESB

注册中心:zk、disconf、diamond

2.8 大数据

基础:hadoop( HDFS MapReduce Yarn

计算框架:mapreduce/spark/storm/flink

搜索引擎:lucence(Elasticsearch, solr ,nutch)

大数据存储 hive 、redis、es、 mongoDB hbase 、clickhouse、druid、kudu、doris、 Cassandra

查询引擎:hive/spark/presto/kylin/impala

机器学习库: mahout / Spark MLLib

2.9 数仓

数据分层、数仓模型(Kimball/Inmon)、ETL开发、离线数仓、实时数仓、hive/spark内存调优、数据倾斜、 OLAP /OLTP、表类型(全量、快照、增量、拉链表等)、数据质量

2.10 算法

特征工程

常用算法:神经网络(CNN、DNN、 RNN )、GBDT、分词算法、句法分析、相似度算法、聚类算法等

2.11 其他

SSO、oAuth、HA、开放平台、服务治理(日志跟踪、监控、熔断、降级等)、安全体系、云原生技术体系(微服务、持续交付、 DevOps 、容器化技术 docker 及k8s)、爬虫技术

文章来源:智云一二三科技

文章标题:Java知识体系学习

文章地址:https://www.zhihuclub.com/193382.shtml

关于作者: 智云科技

热门文章

网站地图