java语言学习路线目录,从入门到资深工程师要掌握的技术

简介: 1.JAVA知识基础 1.1JAVA基础 推荐书籍:编程思想 1.掌握java常用技术,io、多线程、反射、常用集合框架 2.对处理输入输出的IO进行熟悉,用于笔试

1.JAVA知识基础

1.1JAVA基础

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

1.2JAVA源码

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

1.3JAVA并发API

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

Synchronize 和 Lock 的区别与用法

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

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

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

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

6.线程池和阻塞队列

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

1.4理解JVM

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

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

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

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

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

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

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

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

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

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

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

2.常规储备知识学习

2.1数据库

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

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

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

3.JDBC学习

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

5.InnoDB和MyISAM 区别

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

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

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

2.2设计模式

推荐书籍:设计模式之禅

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

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

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

4.了解6大设计原则

2.3HTTP协议

推荐书籍:HTTP权威指南

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

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

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

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

5.了解Rest风格

2.4神一般的Spring

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

1.了解IOC原理和作用

2.了解AOP原理和作用

3.常用的XML配置

4.Spring事务原理和使用

5.SpringMVC

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

7.新功能:Spring boot和Spring cloud

3.后端学习之路

3.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。

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

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

1.了解SOA和微服务

2.负载均衡:LVS,NGINX等

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

4.消息框架学习:ActiveMq等

5.Netty通信框架学习

6.服务框架:dubbo

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

推荐书籍:Hadoop权威指南

1.熟悉mapReduce和HDfS

2.Hadoop集群搭建

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

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

目录
相关文章
|
3天前
|
SQL Java 关系型数据库
零基础轻松入门Java数据库连接(JDBC)
零基础轻松入门Java数据库连接(JDBC)
8 0
|
3天前
|
存储 安全 算法
Java一分钟之-Java集合框架入门:List接口与ArrayList
【5月更文挑战第10天】本文介绍了Java集合框架中的`List`接口和`ArrayList`实现类。`List`是有序集合,支持元素重复并能按索引访问。核心方法包括添加、删除、获取和设置元素。`ArrayList`基于动态数组,提供高效随机访问和自动扩容,但非线程安全。文章讨论了三个常见问题:索引越界、遍历时修改集合和并发修改,并给出避免策略。通过示例代码展示了基本操作和安全遍历删除。理解并正确使用`List`和`ArrayList`能提升程序效率和稳定性。
7 0
|
5天前
|
Kubernetes Java 调度
Java容器技术:Docker与Kubernetes
Java容器技术:Docker与Kubernetes
16 0
|
5天前
|
存储 安全 Java
深入理解Java字节码与反编译技术
深入理解Java字节码与反编译技术
13 0
|
5天前
|
Java API 开发工具
java与Android开发入门指南
java与Android开发入门指南
11 0
|
5天前
|
Java
Java一分钟之-类与对象:面向对象编程入门
【5月更文挑战第8天】本文为Java面向对象编程的入门指南,介绍了类与对象的基础概念、常见问题及规避策略。文章通过代码示例展示了如何定义类,包括访问修饰符的适当使用、构造器的设计以及方法的封装。同时,讨论了对象创建与使用时可能遇到的内存泄漏、空指针异常和数据不一致等问题,并提供了相应的解决建议。学习OOP需注重理论与实践相结合,不断编写和优化代码。
26 1
|
5天前
|
监控 Java Maven
揭秘Java Agent技术:解锁Java工具开发的新境界
作为JDK提供的关键机制,Java Agent技术不仅为Java工具的开发者提供了一个强大的框架,还为性能监控、故障诊断和动态代码修改等领域带来了革命性的变革。本文旨在全面解析Java Agent技术的应用场景以及实现方式,特别是静态加载模式和动态加载模式这两种关键模式。
26 0
|
6天前
|
Java 编译器 对象存储
java一分钟之Java入门:认识JDK与JVM
【5月更文挑战第7天】本文介绍了Java编程的基础——JDK和JVM。JDK是包含编译器、运行时环境、类库等的开发工具包,而JVM是Java平台的核心,负责执行字节码并实现跨平台运行。常见问题包括版本不匹配、环境变量配置错误、内存溢出和线程死锁。解决办法包括选择合适JDK版本、正确配置环境变量、调整JVM内存参数和避免线程死锁。通过代码示例展示了JVM内存管理和基本Java程序结构,帮助初学者更好地理解JDK和JVM在Java编程中的作用。
19 0
|
6天前
|
传感器 人工智能 前端开发
JAVA语言VUE2+Spring boot+MySQL开发的智慧校园系统源码(电子班牌可人脸识别)Saas 模式
智慧校园电子班牌,坐落于班级的门口,适合于各类型学校的场景应用,班级学校日常内容更新可由班级自行管理,也可由学校统一管理。让我们一起看看,电子班牌有哪些功能呢?
47 4
JAVA语言VUE2+Spring boot+MySQL开发的智慧校园系统源码(电子班牌可人脸识别)Saas 模式
|
6天前
|
网络协议 Java 数据库连接
Java语言的特点
【5月更文挑战第7天】Java是一种面向对象的编程语言,强调数据和操作的封装,具备平台独立性,能“一次编写,到处运行”。它有自动垃圾收集机制,消除手动内存管理。Java是强类型语言,注重安全性,并支持多线程编程。其丰富的API库和对网络编程的良好支持增强了功能。此外,Java的可扩展性使其能轻松适应新需求和扩展。
21 4