从零讲JAVA ,给你一条清晰地学习道路!该学什么就学什么!!

1.计算机基础:

1.1数据结构基础:

主要学习: 1.向量,链表,栈,队列和堆,词典。熟悉 2.树,二叉搜索树。熟悉 3.图,有向图,无向图,基本概念 4.二叉搜索A,B,C类熟练,9大排序熟悉。 5.树的前中后,层次,之字,最短路。 6.KMP等字符串算法。

1.2操作系统:

主要学习: 1.进程,线程,进程线程区别。进程间通信 2.进程调度算法理解 3.存储,虚拟内存,分页分段,内存调度算法 4.文件系统,链式,索引 5.死锁:原因,避免,解除k 6.Linux基本操作命令,会一门脚本编程:shell,Python

1.3计算机网络:

主要学习: 1.网络分层:五层,七层,四层等 2.网络层:IP分类,子网划分,超网。ARP协议,ICMP协议。理解内部网关和外部网关,vpn等 3.运输层:端口,UDP协议理解,TCP协议理解,三次握手,四次断开。 4.应用层:了解常用协议使用的端口和底层协议。 5.更加深入理解:TCP/IP 对拥塞控制,滑动窗口,如何实现可靠等。

1.4基础算法:

主要学习: 1.理解大O等记号 2.动态规划如:几类背包问题最好有现成的代码用于笔试。最长公共子序列 3.贪心算法:理解赫夫曼编码(笔试常考概念) 4.B树B+树用于理解数据库索引 5.常用的图算法:广度优先,深度优先,最短路径算法(最好有现成的代码),最小生成树。

2.JAVA知识基础:

2.1JAVA基础

推荐书籍:编程思想 1.掌握java常用技术,io、多线程、反射、常用集合框架 2.对处理输入输出的IO进行熟悉,用于笔试 3.对Iterator,Iterable和Comparable,Comparator了解,以及常用集合的遍历和排序。 4.对NIO一定要熟悉,以及了解JMS和RPC 5.对JAVA基础概念要熟悉,比如抽象类和接口区别等,这些熟记。

2.2JAVA源码

1.hashmap,hashtable,concurrentHashMap源码以及区别 2.其他集合框架:linkedHashMap,LinkedHashSet,Copy-On-Write等 3.对Lock,Object,String等类的源码了解。

2.3JAVA并发API

推荐书籍:应付笔试面试:JAVA多线程编程与核心技术。真正神书:JAVA并发编程实战。

Synchronize 和 Lock 的区别与用法

2.wait()和await() notify()和signal(),wait()和sleep()区别与用法

3.其他的API用法:yield,join等

4.voliate深入理解,以及CAS理解

5.JAVA锁底层实现:自旋锁,阻塞锁,可重入锁,偏向锁,等。

6.线程池和阻塞队列

7.以及一些常用的并发实现案例如生产者和消费者

2.4理解JVM

推荐书籍:深入理解JAVA虚拟机

1.JAVA内存模型,哪个区域存放哪些内容

2.引用技术法和可达性分析法

3.对象的强、软、弱和虚引用区别与作用

4.jvm垃圾回收机制,以及回收算法

5.常见的OOM和SOF的原因和解决方案,以及通过什么工具进行分析。

6.常见的JVM输入参数熟悉

7.了解GC停顿,逃逸分析,TLAB区,堆外内存等

8.常用垃圾收集器:G1,CMS等

9.了解常用性能监控工具:如visualvm jconsole等

10.必须熟悉虚拟机类加载机制,包括原理步骤,以及双亲委派方式的原理。

3.常规储备知识学习

3.1数据库:

推荐书籍:sql入门:Mysql必知必会。深入理解:高性能Mysql

1.常用关联查询语法,自己所动手写几个

2.数据库索引深入认识和理解

3.JDBC学习

4.常用数据库调优手段:比如通过索引调优

5.InnoDB和MyISAM 区别

6.了解主键,外键,索引,唯一索引

7.了解索引、视图、触发器、游标和存储过程

8.常用关系型数据库和非关系型数据库:关系型了解:Mysql,Oracle 非关系型了解:redis,Hbase,monogodb等

3.2设计模式:

推荐书籍:设计模式之禅

1.单例模式的几种写法一定要会

2.JDK中对应的设计模式:如IO中的装饰模式和设配器模式等

3.框架中常用的设计模式:如Struts中的责任链模式,Spring中的工厂模式,动态代理模式等

4.了解6大设计原则

3.3HTTP协议:

推荐书籍:HTTP权威指南

1.什么是HTTP,协议版本等

2.学会使用浏览器查看HTTP请求与响应

3.熟悉HTTP请求头和请求体

4.熟悉HTTP响应头和响应体

5.了解Rest风格

3.4神一般的Spring:

推荐书籍:Spring实战和Spring技术内幕

1.了解IOC原理和作用

2.了解AOP原理和作用

3.常用的XML配置

4.Spring事务原理和使用

5.SpringMVC

6.了解Spring的webflow,远程服务,rest,消息,安全等

7.新功能:Spring boot和cloud

4.后端学习之路

4.1WEB后端学习之路

推荐书籍:可以选择一些SSH整合开发之类的

1.JSP和Servlet学习

2.XML和JSON解析学习

3.前端知识:HTML、css,js

4.JDBC学习,文件上传\下载,JAVAMail等

5.可以利用jsp和Servlet开发简单项目

6.接着框架学习:Struts2,Hibernate,Spring以及相互整合开发

7.接着可以了解:SpringMvc,Mybatis,Lucene,shiro等

8.利用框架实现简单项目比如CMS。

4.2服务架构学习之路(此部分笔试面试不一定学习)

推荐书籍:分布式服务框架原理与实践和微服务设计

1.了解SOA和微服务

2.负载均衡:LVS,NGINX等

3.RPC框架学习:RMI,Thrift等

4.消息框架学习:ActiveMq等

5.Netty通信框架学习

6.服务框架:dubbo

4.3Hadoop学习之路(此部分笔试面试不一定学习)

推荐书籍:Hadoop权威指南

1.熟悉mapReduce和HDfS

2.Hadoop集群搭建

3.了解:zk,hive,hbase,pig,mahout等

4.zk几个常用作用如做注册中心,放配置信息等。

作者:nbalive2001 cnblogs.com/nbalive2001/p/6418069.html

原文发布于微信公众号 - java思维导图(java-mindmap)

原文发表时间:2018-04-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CDA数据分析师

SAS | 如何网络爬虫抓取网页数据

本人刚刚完成SAS正则表达式的学习,初学SAS网络爬虫,看到过一些前辈大牛们爬虫程序,感觉很有趣。现在结合实际例子,浅谈一下怎么做一些最基本的网页数据抓取。第一...

37280
来自专栏美团技术团队

日志级别动态调整——小工具解决大问题

背景 随着外卖业务的快速发展,业务复杂度不断增加,线上系统环境有任何细小波动,对整个外卖业务都可能产生巨大的影响,甚至形成灾难性的雪崩效应,造成巨大的经济损失。...

89450
来自专栏牛客网

蚂蚁金服面经(3+4)

【每日一语】我和这个世界不熟。这并非是我撕裂的原因。我依旧有很多完整,至少我要成全我自己。──北岛《我和这个世界不熟》

23920
来自专栏杨建荣的学习笔记

system表空间不足的问题分析(r6笔记第66天)

很多事情见多了也就有了麻木的感觉,报警短信就是如此,每天总能收到不少的报警短信,可能很多时候就扫一眼,如果没有严重的问题自己是不会情愿打开电脑处理的。 对于此,...

28240
来自专栏GopherCoder

『Go 语言学习专栏』-- 第十一期

15530
来自专栏Aloys的开发之路

Python第三方常用工具、库、框架等

       Python ImagingLibrary(PIL):它提供强大的图形处理的能力,并提供广泛的图形文件格式支持,该库能进行图形格式的转换、打印和显...

502100
来自专栏微信公众号:Java团长

从零讲Java,给你一条清晰地学习道路!该学什么就学什么!

主要学习: 1.向量,链表,栈,队列和堆,词典。熟悉 2.树,二叉搜索树。熟悉 3.图,有向图,无向图,基本概念 4.二叉搜索A,B,C类熟练,9大排序熟悉。 ...

23910
来自专栏铭毅天下

干货 |《从Lucene到Elasticsearch全文检索实战》拆解实践

1、题记 2018年3月初,萌生了一个想法:对Elasticsearch相关的技术书籍做拆解阅读,该想法源自非计算机领域红火已久的【樊登读书会】、得到的每天听本...

2.1K60
来自专栏武培轩的专栏

2018年Java实习春招总结

因为女票在北京,打算去北京实习,所以从去年12月开始复习Java,做项目,视频是看的黑马的视频,还可以吧,把Java基础和SSM框架看了下,做了个小项目,然后看...

33360
来自专栏Spark学习技巧

从零讲Java,给你一条清晰地学习道路!该学什么就学什么!

12950

扫码关注云+社区

领取腾讯云代金券