欢迎来到天天培训网!全国[切换城市] 登录 注册
首页 发布课程 机构平台 手机浏览

手机扫一扫

咨询热线

400-0808-102

  • 游客
收藏  |   举报 2018-11-09 18:25   关注:47   回答:0

初学者该如何学习JAVA了解一下

已关闭 悬赏分:0

1.Java分类

Java按应用来分,可以分为J2ME(手机版),J2SE(标准版),J2EE(企业版)三部分。 
・J2ME:已经被安卓开发取代。 
・J2SE:Java的核心类,其中包括桌面应用,但一般不用Java开发桌面应用。 
・J2EE:已经被以Spring为代表的开源框架所取代,统称为JavaWeb。 

Java程序的优势是Linux下的大规模集群环境下的代码编写,比如大型网站的后台支撑系统。 
所以,如果不考虑手机应用开发和桌面开发的话,我们应该按照J2SE+JavaWeb+分布式系统的路线来学习Java。 

2.学习路线简介

・J2SE学习阶段:

完成对Java的语法,编程思想,数据结构和算法的学习。

・JavaWeb学习阶段:

完成B/S架构的基础知识(Html,JavaScript,Ajax,Jsp,Servlet,SQL),产品特性(浏览器,服务器,数据库),框架特性(SSM),设计模式的学习。

・分布式系统学习阶段:

完成分布式系统的架构,微服务架构(SpringCloud),消息队列(kafka),缓存(redis),协调中心(zookeeper)等学习。

3.学习路线详细

・J2SE

[推荐书籍]

《Java语言程序设计》大众化的教科书方式,不深不浅,知识点基本上很全,适合初学者。可以按照书中目录了解知识点,不必深究具体概念。
《深入理解Java虚拟机》《深入Java虚拟机》精读(JVM指令和class文件结构部分不需要精度,了解一下即可)
《算法导论》算法证明部分可以不看,但课后题一定要自己做。

[环境]

DOS环境搭建知道为什么要设置path变量

Eclipse环境搭建会搭建环境即可,不要花费时间研究工具的使用

[基础]

程序流程图会画基本流程图,用例图,泳道图即可,不要花时间研究各种图

基本数据类型,表达式,函数

分支,循环

一维数组,二维数组

List,Map

对象,类

继承,封装,多态

抽象类,接口

异常处理

[图形界面]

Swing基本组件能画界面,处理点击事件即可,不要花费时间

事件分发和监听机制

自定义事件重点

[I/O]

文件读写会读写文件即可,其他随用随学

[网络编程]

TCP/IP协议重点,但不要死背,结合实际应用理解基本的请求格式,返回状态码含义

Thread,Runnable结合JMM模型和Concurren包里的东西看

线程池,线程同步结合JMM模型和Concurren包里的东西看

生产者消费者重点

Socket实际用起来

[数据库编程]

SQL(添删改查)重点

JDBC结合实际用起来,不要死背概念

[数据结构与算法]持久战,边学其他知识边在leetcode上刷题

大O表示法

数组,链表,队列,栈。

排序(冒泡排序,插入排序,快速排序,堆排序,桶排序等)

二叉树

Hash散列

动态规划

图的遍历,最短路径

[Java虚拟机]重点,从调优,排查问题,运行时内存分布等角度来学习

Java虚拟机结构

类加载机制

垃圾回收机制

[框架技术]不要死背概念,自己做一套框架

Java反射

动态代理(jdk与cglib)

・JavaWeb

[推荐书籍]

《HeadFirst设计模式》设计模式不是技术,但要了解每一种设计模式,不要把设计模式作为重点
《Java并发编程实战》精读,结合下面列出的《四火的文章》和《聊聊并发系列》来读
《构建高性能Web站点》精读

[推荐文章]

四火的文章

Java 多线程发展简史

java.util.concurrent 并发包诸类概览

聊聊并发系列

聊聊并发(一)深入分析Volatile的实现原理

聊聊并发(二)Java SE1.6中的Synchronized

聊聊并发(三)Java线程池的分析和使用

聊聊并发(四)深入分析ConcurrentHashMap

聊聊并发(五)原子操作的实现原理

聊聊并发(六)ConcurrentLinkedQueue的实现原理

聊聊并发(七)Java中的阻塞队列

聊聊并发(八)Fork/Join框架介绍

聊聊并发(九)Java中的CopyOnWrite容器

聊聊并发(十)生产者消费者模式

深入理解java内存模型系列

深入理解java内存模型(一)——基础

深入理解java内存模型(二)——重排序

深入理解java内存模型(三)——顺序一致性

深入理解java内存模型(四)——volatile

深入理解java内存模型(五)——锁

深入理解java内存模型(六)——final

深入理解java内存模型(七)——总结

[基础知识]

Html,Css,JavaScript,Ajax不要花时间在上面,会做网页即可,随用随学

Jsp,Servlet,Filter,XML

Cookie,Session重点

Http协议重点

Tomcat会用即可

连接池重点

[三层模型]

MVC理解概念即可,不要花时间在上面

Service

Dao

[常用框架]

Bootstrap不要花时间在上面,会做网页即可,随用随学

JQuery不要花时间在上面,会做网页即可,随用随学

SpringMVC了解常用配置即可,不要为了读源码而读源码

Spring了解常用配置即可,不要为了读源码而读源码

MyBatis了解常用配置即可,不要为了读源码而读源码

[版本管理]

SVN,Git会checkout,checkin即可,不要花时间在上面

[集成]

Maven会用即可,不要花时间在上面

SpringBoot了解常用配置即可,不要为了读源码而读源码

Linux基本操作(ssh,ftp,rpm,iptable,tar...)自己会在linux上安装各种服务

[并发]重点,结合前面介绍的文章和书来学习

java.util.concurrent包

Java并发简史

Java并发编程

Java内存模型

[性能]重点

SQL执行计划

缓存技术

消息队列

负载均衡技术

查看系统负荷

查看JVM负荷

[其他]会用即可

WebService

JavaMail

SQL(Join,子查询,Group by)

・分布式系统学习

[框架]动手实践,重点

SpringCloud

[常用组件]动手实践,重点

kafka

redis

zookeeper

[理论]动手实践,重点

CAP理论

分布式存储

分布式事务

0相关评论