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几个常用作用如做注册中心,放配置信息等。

Java技术路线的更多相关文章

  1. JAVA技术路线2

    https://www.zhihu.com/question/56110328 1.JavaSE学习视频 http://pan.baidu.com/s/1bp3g6rd2.javaweb的学习视频 h ...

  2. 【JAVA】基于MVC架构Java技术荟萃案例演练

    基于JAVA-MVC技术的顾客管理项目案例总结 作者 白宁超 2016年6月9日22:47:08 阅读前瞻:本文源于对javaweb相关技术和资料汇总,涉及大量javaweb基础技术诸如:Servle ...

  3. JAVA技术体系发展路线

    JAVA技术体系 1.1 Java程序员 ·高级特性 反射.泛型.注释符.自动装箱和拆箱.枚举类.可变参数.可变返回类型.增强循环.静态导入 ·核心编程 IO.多线程.实体类.集合类.正则表达式.XM ...

  4. Java技术学习路线

    转载 作者:David 链接:https://www.zhihu.com/question/25255189/answer/86898400来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商 ...

  5. 向Java技术进军

    前两天有个朋友要我帮忙写个打印机服务,要求能应用在.net .Dephi.和java程序上面.看了下需求不难也就串口操作,所以就在周未写了个Win32的动态库,对于一个曾经写MFC程序的.net程序员 ...

  6. C#工业物联网和集成系统解决方案的技术路线(数据源、数据采集、数据上传与接收、ActiveMQ、Mongodb、WebApi、手机App)

    目       录 工业物联网和集成系统解决方案的技术路线... 1 前言... 1 第一章           系统架构... 3 1.1           硬件构架图... 3 1.2      ...

  7. 创业型互联网公司应该选择PHP, JavaEE还是.NET技术路线?

    通常JavaEE和.NET被定义为构建大型在线系统,因为其支持面向对象设计,异步通讯,MVC等都相对比较完善,而PHP通常用于构建比较轻量的业务,例如SNS服务. 因为实施速度快,工程师社区规模大,开 ...

  8. java学习路线(好资源大家分享)

    对于入门java将近两年的时间,曾经迷惘过,一直想知道java的具体学习路线,看过了许许多多的java经验分享的帖子,评论,以及其他各种培训机构所谓的学习路线,发现没有一个符合我个人需求的学习路线,根 ...

  9. 最新java学习路线:含阶段性java视频教程完整版

    最新java学习路线:带阶段性java视频教程版本 第一阶段:Java基础 学习目标: 掌握基本语法.面向对象.常用类.正则.集合.Io流.多线程.Nio.网络编程.JDK新特性.函数式编程 知识点细 ...

随机推荐

  1. ubi实际使用

    ubifs号称性能比yaffs2 好,同时压缩可读写,文件系统image体较小同时可写.1. uboot使能对UBIFS的支持#define CONFIG_CMD_NAND#define CONFIG ...

  2. sqlite3 PC安装及使用

    sqlite3使用 1. 安装sqlite3 sudo apt-get install sqlite3 sudo apt-get install libsqlite3-dev 2. sqlite常用命 ...

  3. gstreamer 10.5版本发布啦

  4. Servlet 服务器 HTTP 响应

    状态行包括 HTTP 版本(在本例中为 HTTP/1.1).一个状态码(在本例中为 200)和一个对应于状态码的短消息(在本例中为 OK). 下表总结了从 Web 服务器端返回到浏览器的最有用的 HT ...

  5. ubuntu 16.04.3配置MinDoc的PDF导出功能

    1. 安装 wkhtmltopdf,然后reboot sudo apt-get install wkhtmltopdf 2. 进入cd /usr/bin 测试一下,看目录下有没有pdf生成 wkhtm ...

  6. orm查询基本操作

    orm  ----关系对象模型 orm 的查询两种操作 1.基于对象的查询 oneTo one 一对多 和多对多 对象.关联字段 对象.表名(_set)) 2.基于QUERYset的查询 双下划线即为 ...

  7. Android开发者必知的5个开源库

    摘要:过去的时间里,Android开发逐步走向成熟.而无论出现多少Android相关的开发工具,我们每天使用的大量开源库却始终是不可或缺的.这里,向大家介绍的是,这个任劳任怨的大家庭中,最受开发者喜爱 ...

  8. 第一篇:尽量多的以 const/enum/inline 替代 #define

    前言 在面向过程语言,如 C 语言中,#define 非常常见,也确实好用,值得提倡.但在如今面向对象的语言,如 C++ 语言中,#define 就要尽量少用了. 为何在 C++ 中就要少用了呢? 这 ...

  9. PDP2

    1. 程序入口 配置文件config.xml中: 2. index.html中显示,引入的cordova.js 就说明了 cordova apps 3. 看 main.ts

  10. Kotlin——初级篇(四):控制语句详解

    在前面 的章节中讲解了Kotlin语言中的数据类型.变量与常量的定义.不了解请参见前面的内容: Kotlin--初级篇(三):数据类型详解. Kotlin--初级篇(二)常量.变量.注释. 下面详细为 ...