本文目录一览:
java职业路线规划,从基础语法学习开始到能完成一些大型项目
Java介绍
Java分为三个体系:
- JavaSE(Java 2 Platform Standard Edition,Java平台标准版)
- JavaEE(Java 2 Platform, Enterprise Edition,Java平台企业版)
- JavaME(Java 2 Platform Micro Edition,Java平台微型版)
Java SE
Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。
Java EE
Java EE 以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(SOA)和 Web 2.0 应用程序。
Java ME
Java ME 以前称为 J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于 Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。
各版本的应用场景
- J2SE:桌面安装程序,如 QQ、Word 这类应用程序。
- J2EE:基于 Internet 的应用程序,如选课系统、企业网站、银行系统等。
- J2ME:嵌入式系统开发,如手机游戏、Android 操作系统等。 为了让大家能够更快地加入到做项目的队伍,工作室特制定以下培训计划。我们 Java 组现在主要是沿着 J2EE 这条路线走,主要是这方面项目目前比较多。
一、培训阶段的划分
- 学习 Java 基础(包括基本语法,面向对象的思想的一些特性,IO,集合框架,JDBC)
- 学习网页的基础知识(包括 HTML、CSS、JavaScript),这些是做好界面的必备知识。
- 学习 JavaWeb 的基础知识(包括 JSP、Servlet、JavaBean,MVC,JSTL,EL 表达式)
- 学会使用 SSH 框架(Struts、Hibernate、Spring)
二、培训阶段的要求
1. Java 基础
- 大体了解 Java 的运行原理,安装 Java 虚拟机(Java 虚拟编绎与运行)
- 熟练掌握 Java 语言基本语法(这个和 C 语言里面的差不多)
- 熟练掌握面向对象编程的思想及面向对象的一些基本概念(类,对象,接口,继承,重载,覆盖)
- 熟练掌握输入输出流(流的概念,文件的读写,终端输入)
- 熟练掌握集合框架(List, Set, Map)
- 熟练掌握 JDBC 连接数据库(SQL Server 2000, MySQL 数据库的使用及连接)
- 熟练掌握 API 的使用,熟悉常用类库的使用。
- 能够编写简单的图形界面程序 这个阶段是 J2SE 的基础知识,特别是面向对象的知识的掌握,类和对象的概念,接口,继承,重载,覆盖,掌握基本的输入输出,然后就是集合框架,List,Set, Map 的使用,因为这些在以后的数据库操作中经常将查询结果放在里面,最后就是用 JDBC 连接数据库,也许之前学过的一些理论都感觉没兴趣,但学了数据库的连接之后,兴趣就来了,因为这是第一次写程序操作数据库。 这个阶段培养人的最大能力就是要勤查 API 文档,要多去百度,要多向别人请教。
2. 静态网页的制作
- 了解网页的基本知识
- 会写基本的 HTML 语言,能够看懂别人写的 HTML
- 会使用表单
- 使用 JavaScript 进行客户端验证 这个阶段要掌握一些静态网页的基本知识,学会动手做静态网页。学会用 CSS 控制页面,学会用 JavaScript 来进行表单的验证。
3. JavaWeb 基础
- 搭建开发环境
- 安装 Tomcat,并配置虚拟目录
- 安装 Eclipse,并安装 MyEclipse 插件
- 使用 MyEclipse 新建项目,整合 Tomcat 服务器,部署项目
- JSP 的基础语法
- 了解 JSP 基本特点
- 理解 JSP 的运行机制
- 熟练使用 JSP 声明语句
- 熟练使用 JSP Scriptlets
- 熟练使用 JSP 表达式
- JSP 指令元素
- 了解 Page, include, taglib 指令的使用
- 了解 jsp:forward、jsp:include、jsp:param、jsp:params
- JSP 内置对象(9 个)
- 熟练使用 JSP 内置对象保存属性
- 熟练掌握 JSP 属性保存的四个范围(page, request, session, application)
- 熟练使用 request, session 对象取得参数值,了解其他各对象常用的方法
- JavaBean
- 熟练掌握定义 JavaBean,调用 JavaBean,设置并获得 JavaBean 属性,设置 JavaBean 的范围,移除 JavaBean
- EL 表达式
- 熟练掌握使用 EL 运算符
- 熟练掌握 EL 内置对象
- 熟练掌握 EL 存取
- JSTL 标签库
- JSTL 核心标签库,数据库标签库,I18N 格式化标签库,XML 标签库和 JSTL 函数标签库
- 熟练掌握通过 JSTL 核心标签库定义变量,输出变量,移除变量
- 熟练掌握通过数据库标签库完成数据库操作
- 熟练掌握通过 XML 标签库完成 XML 文件操作
- 熟练掌握通过 I18N 标签库完成国际化操作
- 熟练掌握通过 JSTL 函数标签库完成常用函数操作
- Servlet 开发
- 熟练掌握如何定义 Servlet
- 理解 Servlet 的生命周期
- 熟练掌握 HttpServlet 的常用方法
- 熟练掌握使用 Servlet 的接口
- Filter 开发
- 熟练掌握如何定义并配置 Filter
- 理解 Filter 的生命周期
- 熟练掌握如何添加非法文字过滤器,字符编码过滤器,登录验证过滤器
- Listener 开发
- 熟练掌握如何定义并配置 Listener
- 熟练掌握 ServletContextListener, ServletContextAttributeListener, HttpSessionListener, HttpSessionAtrributeListener 接口的实现和作用
- Dao 设计模式
- 了解什么是 Dao 设计模式以及其特点
- 熟练掌握如何定义数据库连接类
- 熟练掌握如何定义 Vo 类
- 熟练掌握如何定义 Dao 接口,Dao 类以及 Dao 工厂类
- 熟练掌握如何使用 Dao 实现数据库操作
- MVC 设计模式
- 了解什么是 MVC 设计模式
- 了解 Model1 和 Model2 的区别以及优缺点
- 熟练掌握如何定义视图,模型,控制器部分,用 MVC 进行开发 这个阶段才是真正的接触了 JavaWeb 的知识,要会用 JavaWeb 进行动态网页的开发。 这个阶段完成后,就能做一些应用系统的开发了,JavaWeb 也基本上学完了,后面基本上都是些别人根据基础知识做好的框架或组件,我们只要拿来用就行。
4. SSH 框架
1. Struts2 基础
- 了解如何下载并安装 Struts2 框架
- 了解 Struts2 运行原理
- 熟练掌握如何新建控制器
- 熟练掌握如何配置控制器
- 了解实现 Action 接口的优点
- 熟练掌握通过 Struts2 标签库简化表单
- 熟练掌握通过继承 ActionSupport 完成输入校验
- 熟练掌握页面国际化以及校验错误信息国际化
2. Struts2 高级开发
- 熟练使用 Struts2 内建的类型转换器
- 理解服务器端校验的重要性
- 熟练使用 addFieldError 来添加校验错误信息
- 熟练使用 Struts2 校验框架完成输入校验
3. Hibernate 持久化
- 了解什么是 ORM 映射以及特点
- 熟练掌握配置 Hibernate 配置文件
- 熟练掌握创建持久化类
- 熟练掌握创建关系映射文件
- 熟练掌握通过 Hibernate 框架进行数据库操作
4. Struts2 整合 Hibernate 开发
- 熟练掌握持久层设计
- 熟练掌握业务逻辑层设计
- 熟练掌握 Struts2 整合 Hibernate 开发
5. Spring 开发
- 熟练掌握 Spring 的依赖注入
- 熟练掌握 Spring 的自动装配
- 熟练掌握 Spring 面向切面编程 框架的发现,提高了软件开发的速度,增强了软件开发的规范性,使人们都按照某一种模式,一种规范去进行开发。这个阶段我们要做的就是学会使用这些框架来进行开发,了解框架的原理,当然有能力的话,根据它的原理,我们可以试着看下它的源码,自己试着写框架。
三、各阶段所要掌握的工具
1. Java 基础
- 会用记事本(或 EditPlus)编写 Java 程序,在 DOS 下进行编译与运行。(初级阶段)
- 会用 JCreator 编写,编译,运行。(中级阶段)
- 会用 Eclipse,JBuilder,NetBeans 其中之一集成开发环境(高级阶段,推荐使用 Eclipse)
- 会安装并使用 Navicat(MySQL 的界面环境),SQL Server 2000。(数据库)
2. 静态网页的制作
- 会用记事本(或 EditPlus)编写 HTML 语言
- 会用 Dreamweaver 进行编写 HTML 语言
- Fireworks 切图
- Photoshop 图片处理
3. JavaWeb 开发
- Tomcat 使用(JavaWeb 服务器)
- MyEclipse(JavaWeb 开发)
- JUnit 单元测试工具
- PowerDesigner 数据库设计工具
- CVS 版本控制工具
- Rose, Visio UML 建模工具
四、各阶段所要掌握的知识点
1. Java 基础
(基本要求)
- 了解 Java 语言的特征,掌握 JDK(Java 开发工具包)的安装、目录层次、环境变量配置,Java 程序的实现过程
- Java 语言基础
- 数据类型:8 种基本类型:byte, char, short, int, long, float, double, boolean;引用类型:数组, 类, 接口
- 结构化语句:if, if--else, if--else if, switch--case, while, do--while, for
- 数组:int num[] = {1, 2, 3, 4, 5}; == int []num = {1, 2, 3, 4, 5};
- 面向对象的基础
- 类:具有相同属性和行为的一组对象的集合
- 对象:客观存在的或可被描述的抽象对象,具有特定属性和行为的实体
- 类是对象的模板(原型),对象是类的具体实例
- 抽象、封装、继承、多态(重载、重写、接口多实现)
- 构造方法(默认构造器/参数化构造器)
- 限制访问修饰符:private, 缺省(默认), protected, public
- 附加修饰符:final, static, abstract
- 接口
- Java 基础包
- java.lang:包装类(Byte, Character, Short, Integer, Long, Float, Double, Boolean);其他类:String, StringBuffer, Math, Class, Object
- java.util:随机类:Random;日期类:Date, Calendar;集合框架体系:Collection, List, Set, ArrayList, LinkedList, Vector, HashMap
- java.io:文件类:File;字节流:FileInputStream, FileOutputStream;字符流:FileReader, FileWriter, BufferedReader, BufferedWriter;二进制流:DataInputStream, DataOutputStream;构造键盘流:BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
- java.swt / javax.swing:了解 Java 图形界面及事件响应机制;容器类组件:JFrame, JPanel, JScrollPane;组件:JLabel, JTextField, JPasswordField, JTextArea, JComboBox, JRadioButton, JCheckBox, JMenuBar, JMenu, JMenuItem
- JDBC 数据库连接
- 数据库的连接步骤:
- 加载数据库驱动类: Class.forName(driver)
- 通过驱动程序管理器获取连接: DriverManager.getConnection(url, user, password)
- 基于连接对象建立处理器对象/预处理器对象
- Statement stmt = conn.createStatement();
- PreparedStatement stmt = conn.prepareStatement("insert into student values(?,?,?,?,?)");
- 处理器执行 SQL 命令 (Select/Insert/Update/Delete)
- executeQuery(Select) 返回查询的结果集 (ResultSet, ResultSet.getXXX(列编号, 从 1 开始))
- executeUpdate(Insert/Update/Delete) 返回执行命令影响的记录行 (int)
- 关闭各个对象
- 数据库的连接步骤:
(高级要求,可以暂时不用掌握)
- Java 内存管理(垃圾收集及对象引用的内存分析)
- 栈和堆的区别(变量比较复制,引用传递和值传递)
- 异常处理机制(异常的原理,异常程序流程)
- 网络通信(TCP 和 UDP 开发)
- Java 多线程开发
- Applet, JavaWebStart, SWT, JavaFX
- 数据库存取(事务存取,SavePoint)
- 分布式计算(RMI,CORBA)
- Java 本地调用(JNI 原理,调用 C 程序,调用 Delphi)
- 反射机制(Annotation,动态代理)
- Java 动态编程(Compiler API,Instrumentation,Javassist,ClassEditor)
- JMX 资源管理容器
- XML 开发(DOM,DOM4J,SAX,JDOM)
- LOG4J 日志开发
- 定时任务,日程工具 Timer,Quartz
- ZIP 工具包
- Excel 文档存取工具 POI
- UML 建模
- 设计模式
2. 静态网页的制作
(基本要求)
- 会写简单的 HTML,并且能看懂一些正规网页(多级标题的运用,列表标记(有序和无序标记),超链接标记,图像标记,表格标记,多媒体标记,表单标记)
- 用 JavaScript 做些简单的表单验证
- 用 CSS 做排版
- 会用 Dreamweaver 做简单的网页
(高级要求)
以后从事界面开发的人,可以多下点工夫:
- 能够熟练用 Dreamweaver 制作网页
- 能够熟练使用 Photoshop 进行图片处理
- 能够熟练用 Fireworks 对图片进行切割
- 能够熟练使用 JavaScript 做一些特效
- 能够熟练使用 DIV+CSS 进行排版
3. JavaWeb 开发
(基本要求)
- Web 的两个发展阶段:静态,动态
- 动态 Web 的主要实现手段及区别
- Tomcat 的主要作用及配置
- 开发一个简单的交互式程序
- MyEclipse 开发工具的使用
- 在 MyEclipse 中使用 Tomcat 服务器
- JSP 中的三种注释
- 三种 Scriptlet 及其区别
- Page 指令,包含指令
- JSP 连接数据库
- 两个 include 以及 forward 语句
- 了解九个内置对象的定义
- 掌握 JavaWeb 中的四种属性范围
- 掌握 pageContext 对象的使用
- 掌握 request, response, session, application 四种内置对象及属性的设置
- JavaBean 的主要作用,定义及使用,四种保存范围
- 掌握 Smartupload 组件的作用,上传文件,为上传文件重命名
- Dao 数据库操作
- MVC 模式
- Servlet
- EL
- JSTL
(高级要求,可以暂时不用掌握)
- Filter
- Listener
- 报表的处理(JFreeChat)
- 邮件收发(JavaMail)
- 分页技术
- Ajax
- JSF
- Freemarker
4. SSH 框架学习
Struts(基本要求)
- 了解 Struts2 框架的思想,MVC 实现
- 在 Eclipse 中开发 Struts2
- Struts2 的基本流程
- Struts2 的基本配置(web.xml, struts.xml, struts.properties, struts.xml)
- Struts2 的 Action(实现 Action 类,Action 访问 Servlet API,配置 Action,动态方法调用,使用通配符,默认 Action)
- Struts2 的处理结果(配置结果,Struts2 支持的处理结果类型,redirect, chain)
- Struts2 的属性驱动与模型驱动
- Struts2 的类型转换器
Struts(高级要求)
- Struts2 的文件上传下载
- Struts2 的拦截器
- Struts2 的输入校验
- Struts2 的国际化
- Struts2 的标签库
- Struts2 的 Ajax
- 整合 JSF
- 整合 JFreeChart
五、各阶段任务
1. Java 基础
- 安装配置 Java 运行环境 JDK,了解 Java 程序的运行机理,用记事本写个 HelloWorld 程序,并在命令行操作。
- 用 Java 写个对数组降序排列程序(数组最好可以自己输入);在后面抄一个有图形的界面的程序(像画图的,有菜单的之类的),自己试着运行下(相信大家看到图形后会有惊喜的)。
- 安装 JCreator,用 JCreator 写个执行单步的计算器(不要求界面)。如输入 3+5 输出 8
- 了解类,面向对象,继承,接口的相关概念,会编写一定的基础程序。
- 定义一个接口,里面有方法 ShowS(), ShowC()
- 编写一个正方形类,实现了上面的接口,其中包含边长 A,面积 S 和周长 C,编写方法 ShowS()和 ShowC()分别输出正方形的面积和周长。(测试数据:A=5)
- 编写一个长方体类继承自正方形类,长为 A 宽为 B,重写方法 ShowS()和 ShowC()分别输出长方形的面积和周长。(测试数据:A=3,B=5)
- 编写测试类来测试以上两个类。
- 学会查 API 文档(这是必备的,因为类库非常多,要记是不可能的,记得常用的就行,另外就是要勤查文档),实现下面的接口。
- 要求:涉及到具体时间的标准格式格式一般为:yyyy-MM-dd HH:mm:ss
- 测试类可以自己写。
public interface TimeInterface {
// 计算当月最后一天, 返回字符串
public String getDefaultDay();
// 获得本周星期日的日期
public String getCurrentWeekday();
// 获取当天时间
public String getNowTime(String dateformat);
// 获得上周星期日的日期
public String getPreviousWeekSunday();
// 获得下个月最后一天的日期
public String getNextMonthEnd();
// 获得明年最后一天的日期
public String getNextYearEnd();
/**
* 是否闰年,参数要求由键盘输入
*
* @param year 年
* @return
*/
public boolean isLeapYear(int year);
}
- 安装 Eclipse,会用 Eclipse 编写程序,编写图形界面程序,能够对事件响应有很好的了解。编写一个记事本,能够对字体大小,字体形状,字体颜色进行控制,能够复制粘贴。(多查 API 文档)
- 编写图形界面的计算器,能够实现简单的加减乘除运算,乘立方法算。
- 安装 SQL Server 2000 数据库,了解数据库基本知识,能够用查询分析器进行简单的增删改查。
- 能够用 JDBC 连接数据库,将登录注册程序连接上数据库。
2. 静态网页的制作
- 学会用 HTML 语言做静态网页。做一个介绍自己的网站(要求:代码手写,有以下标签:多级标题,列表,超链接,图像,表格,多媒体,表单)
- 对介绍自己的网站的布局用 CSS, DIV 控制完成
- 用 JavaScript 对自己的网站进行表单验证。
3. JavaWeb 开发
- 安装 Tomcat 和 MyEclipse,配置环境,了解 JSP 的运行原理。
- 学习 JSP 的基本语法,会用四种内置对象,能够实现表单的提交,页面的跳转,做个登录注册程序,不要求连接数据库。
- 用 JSP 对介绍自己的网站进行更改,要求能够实现表单的提交,页面的参数传递和连接数据库对自己信息进行更改。
- 了解 Servlet 的运行原理,配置 Servlet,利用 Servlet 做一个登录注册程序。
- 学习 JavaBean,对登录注册用 Servlet + JavaBean + JSP 实现
- 用 EL 表达式,对登录注册程序用 EL 表达式实现
- 用 JSTL 表达式,对登录注册程序用 JSTL 表达式实现
4. SSH 框架学习
Java 学习路线
首先给自己定位是为了什么而学?比如说是为了高薪,买车,买房子,要几年之内月薪达到多少多少。或者说本身就是非常喜欢程序,觉得写软件有成就感。反正要知道自己为了什么而学,而不是为了学而学,不然为什么那么人中途放弃了? 其次能不能坚持下去?因为 Java 本身学起来没有融入,是很枯燥,没人喜欢枯燥。
- 了解 Java 的所有要学习的东西,学好基本语法,了解 Java 的特点。
- 选择合适的书籍,比如《Thingking in Java》、《Java 核心技术》、《Java 从入门到精通》
- 选择合适的教学视频辅助书籍进行学习,比如:网页链接
- 或者参加培训班,进行专业辅导,能更好的解决你学习中所遇到的问题 无论你在学习 JavaSE,数据库,JavaWeb,还有框架的知识,你都要切记一点,在学习编程的过程中,聪明人的唯一体现只有是对于知识点的理解上而已,其他的都是一样,你花多少时间去动手实践,就决定了你能走多远,学习这事,任何行业都是题海战术,编程更是如此,你除了多写代码,没有其他捷径可走。整理不易!!! 另附上我们的学习路线图,希望对你能有所帮助!
Java 学习路线是怎样的?
第一阶段,Java SE 基础:
Java 环境搭建、Java 流程控制语句-for 循环、switch 选择判断、循环嵌套、数组拷贝、多维数组、final 关键字、构造函数的调用、类的访问权限和路径、面向对象高级特性、Java 异常处理、Set,Map,List 接口及接口实现类、Java 线程、同步阻塞、Java IO 流、文件的操作,复制,读写,删除等。
第二阶段,JavaWeb:
MySQL 安装、管理、创建数据库、MySQL UPDATE 查询、Mysql 高级操作、JDBC、JDBC 数据库连接操作,JDBC 动态 Sql 处理、Servlet3.0 网页重定向、Servlet3.0 新增的注解支持、AJAX、responseText 属性详解等。
第三阶段,Java 高级框架-SSH:
Struts2 异常处理、Struts2+Log4j 集成、Struts2 和 JSON 实例、Hibernate5、Hibernate 集合映射、Hibernate 组件映射、Spring4.0、Spring AOP+ AspectJ 框架、Spring 与其它 Web 框架集成、Spring Hibernate 支持等。
第四阶段,Java 高级框架-SSM:
SpringMVC、Spring MVC 生成 JSON 数据、MyBatis、MyBatis 环境配置及入门、MyBatis set 标签、MyBatis trim 标签、Shiro、Shiro 快速入门教程、Shiro Web 应用等。
第五阶段,SpringBoot+VUE 全栈框架:
SpringBoot、全局异常处理、过滤器监听器、EHCache 缓存、SpringBoot Quartz 定时任务、Vue、Vue.js 安装、模板语法、计算属性、事件处理器、Vue.js 自定义指令、Vue.js 路由等
第六阶段,特色课程:
ActiveM 环境搭建、生产者和消费者、消息持久化操作、RSA 数字加密算法、Codebar 条形码生成器、zxing 二维码生成器、HighCharts 统计图、Echarts 统计图、网络播放器 ckplayer、嵌入式网络播放器,可以浏览器和移动端随意使用
第七阶段,互联网框架的高级应用 1:
分布式服务框架的理解,Dubbo 架构设计详解及其核心要点,框架运行原理分析、SpringData 数据访问、Lucene 搜索引擎、Lucene 的全文搜索服务器介绍、索引建立方式、Solr 海量数据搜索引擎、Socket 网络通信、实现 RMI 远程对象通讯、使用 JMS 消息服务、Kafka 分布式消息系统、WebService 与 Restful WS 等
第八阶段,互联网框架的高级应用 2:
Spring Security 安全框架、实现 Web 应用安全控制、缓存应用与 EhCache 框架、OSCache 与 JBossCache 框架、MyBatis 与 Hibernate 缓存机制、NoSQL 应用与 SQL 调优、MongoDB NoSQL 数据库、Redis 内存数据库、实现 RedisSession 共享、SQL 语句的优化、实现数据库读写分离、WEB 应用集群及性能优化、Maven 项目管理工具、Web 服务器负载均衡、实现 Nginx 与 Tomcat 集群、使用 LoadRunner 测试工具、性能优化之内存调优、代码优化与重构的方法等。 对 Java 有兴趣的小伙伴们,不妨先从 Java 入门开始!B 站上有很多的 Java 教学视频,从基础到高级的都有,还挺不错的,知识点讲的很细致,还有完整版的学习路线图。也可以自己去看看,下载学习试试。
学习 Java 的最佳路线
首先先搞懂 JavaSE 的部分,Swing 和 swt 部分就可以少看或不看,因为现在用的比较少。重点是看懂 Java 中的面向对象、集合框架、JDBC、异常、IO、线程和网络编程。JavaSE 搞定后再学习 Servlet、JSP,然后才是经典的 Struts2、Hibernate 和 Spring,学习框架时重点理解框架的运行原理,甚至可以尝试自己写个轻量级的框架。理解运行原理的最好方法就是阅读源代码,还是要感谢 Java 中的开源项目。这期间还要多找各种大小的项目去完成,不一定要大,但是要精致,功能要完整,这样可以练习所学知识,并且可以在做项目中发现自己的知识体系中不足的地方。关于看视频,我不推荐,很多同学一天到晚就知道看视频,殊不知,编程真理在于“练习,练习,不停练习”! 推荐看看这个学习路线,规划的很棒: 再补充下:当学习 Java 的期间,会碰到各种各样的异常,请积累这些异常信息,以及如何出现的异常和如何处理的,因为 Java 中常见的异常就那么几种,积累的多了,处理问题的能力就提高,这样水平会提高的很快! SpringMVC 这几年的占有率迅速的提高,可能之后会取代 Struts2,但是无论怎么变化,这些还都是 MVC 模式,理解了这个模式,上手任何的 MVC 框架都应该很快。 企业需要的变化还体现在大数据方面,因为 Hadoop 的流行,Java 的应用场景又多了一个。所以,不喜欢 Web 的可以考虑学习大数据方面的知识。 另一个流行的场景自然就是 Android,学习 Android 依然需要你有 JavaSE 的底子+HTTP 协议的理解,再配合上 Linux 的知识就可以开始了。 再说下找项目的问题,初学者可能会碰到不知道做什么的问题,其实最开始大家都是从模仿开始的,例如你学会了 jsp+Servlet,那就可以模仿一个 v2ex 这样的论坛出来。学会了 SpringMVC,那就试着将论坛的代码重构,提供 restful 接口供客户端访问(Android、IOS、Web 等)。论坛做的没难度了,那就模仿一个团购网站,依然是不一定要做全部的功能,但是做出的功能要稳定,要精致。或者一个微信公众平台的开发都是不错的项目。 初学者看源代码有的人推荐看 Struts2、Spring 的,但是我相信 10 个初学者 9 个看不懂,那就从简单的开始,例如 Apache 的 Commons 库,例如 lang、dbutils、io 等,这些都是非常不错的代码,类的数量不多而且质量也不错,这些看懂之后,你的基础水平增长的不是一点点。 再次提醒初学者,学习编程没有你想的那么简单,必须要多练习,多思考,最主要的是你对这个有兴趣。现在不少网站和媒体都宣传 1 个月学会前端、3 个月入职 BAT 的口号,那也就是口号而已,别太认真。这条路没有捷径,写你的代码就是了!
JAVA 前端开发的学习路线是怎样的?
给你整理了一些 Java 的知识点,一共分为六个阶段,273 个技能点,第一阶段、第二阶段、第三阶段、第四阶段是必须要掌握的,很多机构忽悠人,就只学到第四阶段,第五阶段和第六阶段就是高薪、高职的保障,就说说想高薪必须得把后面两个阶段的给掌握了,老铁你慢慢看。
第一阶段:Java 基本功修炼
- 认识计算机硬件
- 计算机组成原理
- 计算机软件知识
- 计算机网络知识
- 常用网络应用操作
- 认识计算机病毒
- 逻辑训练
- 初识 Java
- 变量和数据类型
- 选择结构
- 循环结构 for
- 循环结构 do-while
- 循环结构 while
- 多重循环及程序调试
- 循环进阶
- 一维数组及经典应用
- 二维数组
- 认识类与对象
- 方法及方法重载
- 封装与继承
- 方法重写与多态
- 项目实战 - 汽车租赁系统
- 抽象类和接口
- 异常
- 项目实战 - QuickHit
- Java 中的集合类型
- List 集合
- Set 集合
- HashMap 集合
- Iterator
- Collections 算法类及常用方法
- enum
- 包装类及装箱拆箱
- String、StringBuffer 类常用方法操作字符串
- Date、Calendar
- Math 类常用方法
- IO/NIO
- 字节输入流 (InputStream、FileInputStream、BufferedInputStream)
- 字节输出流 (OutputStream、FileOutputStream、BufferedOutputStream)
- 字符输入流 (Reader、InputStreamReader、FileReader BufferedReader)
- 字节输出流 (Writer、OutputStreamWriter、FileWriter、BufferedWriter)
- 文件复制
- Serialize、Deserialize
- 职场晋升力:四象限时间管理与精力管理
- 多线程 (Thread、Runnable)
- Thread LifeCycle
- 线程的调度
- 线程的同步和死锁
- Thread Pool
- 职场晋升力:团队合作
- Socket (TCP、UDP)
- XML 概念、优势、规范
- XML 中特殊字符的处理
- 使用 DOM 读取、添加、删除、解析 XML 数据
第二阶段:JavaWeb 开发
- 搭建和配置 MySQL 数据库
- 数据库增、删、查、改语句
- 事务
- 视图
- 数据库备份与恢复
- 数据库用户管理
- 数据库设计
- 项目实战 - 银行 ATM 存取款机系统
- 走进 HTML 和 CSS
- 列表表格及表单美化
- CSS 高级操作
- Bootstrap
- CSS 组件
- JavaScript 面向对象
- JavaScript 判断、循环
- JavaScript 闭包
- JavaScript 语法
- Bootstrap 综合案例
- HTML5、CSS3
- jQuery 基础
- jQuery 基本操作
- jQuery 事件与特效
- jQuery Ajax
- jQuery 插件
- 搭建 Web 环境初识 JSP
- JSP 九大内置对象
- JSP 实现数据传递和保存
- JDBC
- 单例模式、工厂模式
- MVC、三层模式
- Commons-fileupload、CKEditor
- 分页查询
- EL 与 JSTL
- Servlet 与 Filter
- Listener 与 MVC
- Ajax 与 jQuery
- jQuery 的 Ajax 交互扩展
- 项目实战 - 使用 Ajax 技术改进新闻发布系统
- 反射
- Linux 系统的安装
- 在 Linux 中管理目录和文件
- 在 Linux 中管理用户和权限
- 在 Linux 服务器环境下安装软件和部署项目
- 职场晋升力:职场沟通
第三阶段:企业级框架开发
- MyBatis 环境搭建
- SQL 映射文件
- 动态 SQL
- MyBatis 框架原理
- Spring IOC
- 构造注入、依赖注入、注解
- Spring 整合 MyBatis (SqlSessionTemplate、MapperFactoryBean、事务处理)
- Spring 数据源 (属性文件、JNDI)、Bean 作用域
- Spring 框架的运行原理
- SpringMVC 体系概念
- SpringMVC 之数据绑定、数据效验
- SpringMVC 之视图及视图解析
- SpringMVC 之文件上传、本地化解析
- SpringMVC 之静态资源处理、请求拦截器、异常处理
- Oracle 数据库环境搭建、安装
- Oracle 数据库 SQL、分页、备份、还原
- Hibernate 概念、依赖
- HQL 查询语言
- Hibernate 中配置关联映射
- HQL 连接查询与 Hibernate 注解
- Struts 2 概念、依赖
- Struts 2 配置
- OGNL 表达式
- Struts 2 拦截器
- SSH 框架整合
- 使用 Maven 构建项目
- 使用 Struts 2 实现 Ajax
- Jsoup 网络爬虫
- 多线程网络爬虫
- 反爬及反反爬策略
- 通用爬虫设计
- Echart 图表分析
- IKAnalyzer 分词
- 企业框架项目实战 - 代理商管理系统
- 企业框架项目实战 - SL 会员商城
- 企业框架项目实战 - 会员管理系统
- 企业框架项目实战 - 互联网招聘信息采集分析平台
第四阶段:前后端分离开发
- GitHub
- Git 基础 (checkout、pull、commit、push、merge 等)
- Git 进阶 (多分支协作)
- GitLab
- IDEA 的使用
- Maven 介绍 (概念、仓库、构建、命令)
- 使用 Maven 构建 WEB 项目
- 使用 Maven 构建多模块项目
- 使用 Maven 搭建私服仓库
- Scrum 框架介绍 (三个角色、三个工件、四个会议)
- Scrum Team 组建团队
- 产品需求和用户故事
- 每日立会
- 使用敏捷 - Scrum 方式开发管理实战
- 前后端分离、分布式集群架构、垂直架构
- SSM(SpringMVC+Spring+MyBatis)整合实战
- Git、Maven 私服 Nexus
- 第三方接入技术(微信、阿里)
- MySQL 电商实战
- Redis(缓存服务)
- 搜索引擎 - Solr
- 集成 API Doc 工具 - Swagger
- 图片自动化处理:Tengine+LUA+GraphicsMagic
- 手机、邮箱注册
- 单点登录 Token
- OAuth2.0 认证
- Jsoup 网络爬虫 (多线程爬虫/代理 IP 爬虫)
- ExecutorService 线程池
- IK 中文分词
- Postman
- ReactJS
- webpack
- 职场晋升力:简历撰写
- 程序猿面试宝典之项目面试
- 大型互联网旅游电商项目实战 - 爱旅行
第五阶段:分布式微服架构开发
- Spring Boot 环境搭建
- Spring Boot 常用技能
- Spring Boot 整合 Redis
- Spring Boot 整合 MyBatis
- 微服务架构及架构设计
- 消息队列 ActiveMQ\RabbitMQ
- 分布式事务
- 分布式锁 Redis-setnx
- Zookeeper 注册中心
- 基于 ActiveMQ 实现高并发
- Docker 环境搭建
- Docker 镜像加速
- Docker 容器管理
- Docker 镜像管理
- Docker 容器文件备份
- Dockerfile
- Docker 私服仓库
- 真实互联网高并发电商项目实战 - 双十一抢购
- 可视化监控 Portainer
- Docker Compose 容器编排
- Docker Compose 扩容、缩容
- Docker Swarm 集群编排
- Jenkins 安装、插件配置
- Jenkins 配置普通任务
- Jenkins 配置管道任务
- Jenkins 自动发布服务
- Spring Cloud Eureka
- Spring Cloud Feign
- Spring Cloud Ribbon
- Spring Cloud Zuul
- Spring Cloud Config
- Spring Cloud Hystrix
- Spring Cloud Sleuth
- Spring Boot Admin
- Eureka 注册原理探秘
- Spring Cloud 大坑解读
- Zipkin
- Zipkin 整合 RabbitMQ
- Zipkin 整合 MySQL
- ELK 日志收集
- Kafka
- Elasticsearch 映射管理
- Elasticsearch 查询/复合查询
- Elasticsearch 集群/集群规划
- Elasticsearch 聚合
- Elasticsearch 集群监控
- Elasticsearch 插件 (Head/BigDesk)
- Mycat 读写分离
- Mycat 一主多从
- Mycat 多主多从
- Mycat 数据分片
- Redis
- Redis-Redlock
- Elasticsearch 环境搭建
- Elasticsearch 客户端
- Elasticsearch 索引管理
- Elasticsearch 文档管理
- Mycat 集群
- Jmeter 并发测试
- Jmeter 生成测试报告
- 微信登录
- 微信支付
- 支付宝支付
- 百度地图
- Sonar 本地检测
- Sonar + Jenkins 线上检测
- CI/CD
- Spring Boot 改造爱旅行项目实战
- 大型互联网票务类电商项目实战 - 大觅网
- ES6 概念 (let、const)
- ES6 对象和数组
- ES6 函数扩展
- VUE 环境搭建
- VUE.JS 指令
- VUE 交互
- VUE 实例生命周期
- VUE 组件
- VUE 项目环境配置及单文件组件
- VUE 路由
第六阶段:CC 服务
- Spring Cloud Gateway
- Consul
- Nacos
- Eureka、Consul、Nacos、Zookeeper 对比分析
- Prometheus + Grafana
- ES 分布式存储原理
- NoSQL 数据库解决方案 (Redis、MongoDB)
- OAuth2.0 认证 (authorization code 模式)
- OAuth2.0 认证 (implicit 模式)
- OAuth2.0 认证 (resource owner password credentials 模式)
- OAuth2.0 认证 (client credentials 模式)
- NAS/FastDFS 分布式文件存储
- Python 基础
- Python 爬虫
- 大数据及 Hadoop 概述
- 分布式文件系统 HDFS
- 分布式计算框架 MapReduce
- 分布式列式数据库 HBase
- Hadoop 综合应用
- 面试大局观
- 职业规划
- 项目面试
- 具体业务场景化解决方案
- 更多技术专题持续增加中 有不清楚的可以继续问我!