从零开始学Java,清华计算机教授给你一条完美的学习导图(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几个常用作用如做注册中心,放配置信息等。
最后,小编为大家准备了一些适合于1-5年以上开发经验的java程序员面试涉及到的绝大部分面试题及答案做成了文档和学习笔记文件以及架构视频资料免费分享给大家(包括Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术资料),希望可以帮助到大家。
领取方式:转发 并 转发本文,私信小编“ 学习 ”就可以免费领取啦!
用300集视频教学,手把手教你入门Java,带你亲密接触高深的底层知识、神经网络底层实现的知识,彻底激发你对Java技术的兴趣!
从基础篇到高手篇,涵盖Java知识的方方面面。不仅带领零基础同学轻松入门,还能持续提升你的技术水平,成为真正的技术专家。
第一阶段 :Java基础
1.认知基础课程
2. java入门阶段
3. 面向对象编程
4. 飞机小项目
5. 面向对象和数组
6. 常用类
7. 异常机制
8. 容器和数据结构
9. IO流技术
10. 多线程
11. 网络编程
12. 手写服务器
13. 注解和反射
14. GOF23种设计模式
15. 正则表达式
16. JDBC数据库操作
17. 手写SORM框架
18. JAVA10新特性
19.数据结构和算法
20. JVM虚拟机讲解
21. XML技术解析
第二阶段:数据库开发全套课程
1.Oracle和SQL语言
2.Mysql快速使用
3.PowerDesigner使用
4.JDBC数据库
5.Mysql优化
6.oracle深度讲解
第三阶段:网页开发和设计
1.HTML基础
2.CSS基础
3.JavaScript编程
4.jQuery
5.easyUI
第四阶段:Servlet和JSP实战深入课程
1.Servlet入门和Tomcat
2.request和response对象
3.转发和重定向_Cookie
4.session_Context对象
5.JSP
6.用户管理系统
7.Ajax技术
8.EL和JSTL标签库
9.过滤器
10.监听器
第五阶段:高级框架阶段
1.Mybatis
2.Spring
3.Spring MVC
4.SSM框架整合
5.RBAC权限控制项目
6.Hibernate3
7.Hibernate4
8.jFinal
9.Shiro安全框架
10.Solr搜索框架
11.Struts2
12.Nginx服务器
13.Redis缓存技术
14.JVM虚拟机优化
15.Zookeeper
第六阶段:微服务架构阶段
1.Spring Boot
2.Spring Data
3.Spring Cloud
第七阶段:互联网架构阶段
1.Linux系统
2.Maven技术
3.Git
4.SVN
5.高并发编程
6.系统和虚拟机调优
7.JAVA编程规范
8.高级网络编程
9.Netty框架
10.ActiveMQ消息中间件
11.单点登录SSO
12.数据库和SQL优化
13.数据库集群和高并发
14.Dubbo
15.Redis
16.VSFTPD NGINX
第八阶段:分布式亿级高并发电商项目
1.基于SOA架构介绍
2.VSFTPD和Nginx和商品新增
3.商品规格参数管理
4.Jsonp
5.CMS模块
6.广告位数据缓存
7.SolrJ和SolrCloud
8.商品搜索
9.商品详情
10.单点登录
11.购物车
12.订单系统
13.分库和分表
14.分布式部署
第九阶段:毕设项目第一季
1. 电子政务网
2. 企业合同管理系统
3. 健康管理系统
4. 商品供应管理系统
5. 土地档案管理系统
6. 聊天室设计和实现
7. 码头配套和货柜管理系统
8. 百货中心供应链系统
9. 病历管理系统
10. 超市积分管理系统
11. 动漫论坛
12. 俄罗斯方块
13. 个人博客系统
14. 固定资产管理系统
15. 影视创作论坛
16. 屏幕截图工具
17. 超级玛丽游戏
18. 飞机大战游戏
19. 雷电
第十阶段:毕设项目第二季
1. 微博系统
2. 写字板
3. 坦克大战
4. 推箱子
5. 电脑彩票系统
6. 记账管理系统
7. 新闻发布系统
8. 医院挂号系统
9. 仓库管理系统
10. 停车场管理系统
11. 网络爬虫
12. 酒店管理系统
13. 企业财务管理系统
14. 车辆管理系统
15. 员工信息管理系统
16. 旅游网站
17. 搜索引擎
18. 进销存管理系统
19. 在线考试系统
20. 物流信息网
21. 住院管理系统
22. 银行柜员业务绩效系统