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. LeetCode207. Course Schedule

    Description There are a total of n courses you have to take, labeled from 0 to n - 1. Some courses m ...

  2. 受限玻尔兹曼机(RBM, Restricted Boltzmann machines)和深度信念网络(DBN, Deep Belief Networks)

    受限玻尔兹曼机对于当今的非监督学习有一定的启发意义. 深度信念网络(DBN, Deep Belief Networks)于2006年由Geoffery Hinton提出.

  3. python XML基础

    什么是XML XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据 XML 的标签需要 ...

  4. 安装onlyoffice document server

    1. 安装docker apt install docker.io 2. 安装和启动onlyoffice sudo docker run -i -t -d -p 80:80 onlyoffice/do ...

  5. android中文字斜着显示

    /** * 自定义一个Textview * * @author Administrator * */ public class MyTextView extends TextView { public ...

  6. 百度网盘不能绑定QQ

    一定要等!!!进度条!! 等全部加载完再点就可以了. 不然的话点关联账号的话会直接跳回个人信息页面. over. 百度账号(百度网盘)绑定QQ账号的页面为什么打不开 总会跳转到个人信息界面,和没点一样 ...

  7. 一些常用的html css整理--文本长度截取

    div+css设置列表div超出部分显示...(单行文本) width:200px; //指定宽度: overflow:hidden; //将超出内容隐藏 text-overflow:ellipsis ...

  8. iOS - 逆向 - Objective-C代码混淆 -confuse.sh文件写法

    class-dump可以很方便的导出程序头文件,不仅让攻击者了解了程序结构方便逆向,还让着急赶进度时写出的欠完善的程序给同行留下笑柄. 所以,我们迫切的希望混淆自己的代码. 混淆的常规思路 混淆分许多 ...

  9. vue高级路由

    1.html <script src="https://unpkg.com/vue/dist/vue.js"></script><script src ...

  10. 【BZOJ2799】[Poi2012]Salaries 乱搞

    [BZOJ2799][Poi2012]Salaries Description 给出一棵n个结点的有根树,结点用正整数1~n编号.每个结点有一个1~n的正整数权值,不同结点的权值不相同,并且一个结点的 ...