|
1. 概要
--个人观点1:形成不了解决方案的知识是多余。
--个人观点2:不管学习任何的知识,我们首先必须要知道它是什么(定义)。然后通过分析它是什么,得出它的作用以及行为,通过行为圈定学习的范围。我们将这个过程,称为形成学习思路(学习线索),通过一条线索将所学的东西串联起来。
--引申出三个学习步骤:
[1] 需要通过定义知道它是什么
[2] 需要通过它是什么圈定学习范围
[3] 需要通过学习范围建立学习线索
每个步骤相辅相成,缺一不可。
2. Java编程语言如何学习
2.1. Java是什么
答:Java是一门跨平台的编程语言。
2.2. 跨平台是什么
所谓的跨平台就是java编写的程序可以在不同的操作系统运行。
我们必须具备的前提知识:基于操作系统的底层接口不同,通常软件是不可以跨平台,如:安卓的软件不可以在IOS上面运行。
--问题1:为什么Java编写的软件可以跨平台呢?
答:因为Java编写的软件并不是在操作系统层运行,而是在一个Java虚拟机(JVM)里面运行的。因此只要在任何一个安装了Java 虚拟机的操作系统上都可以运行java程序。
--问题2:我们找不到Java虚拟机(JVM)这个软件,只有JDK以及JRE。它们的关系是什么?
答:JRE(Java Runtime environment)= JVM + 基础支持类库(jar包)
JDK = JRE + bin(开发辅助工具,java 、javac ....)
根据以上的关系说明,我们知道只要安装JDK或者JRE我们就可以运行Java程序了。

跨平台的特性:要求我们需要配置JDK环境才可以开发Java程序。
2.3. 编程语言是什么
--问题1:编程语言是什么?
答:编程语言的本质就是一门语言。学习任何的语言我们学习的都是语法。
任何高级的编程语言的语法只有三个元素:关键字、运算符、基础库。
2.3.1. 语法
关键字 + 运算符组成了基础语法:
1. 类的声明语法(标识符)
2. 主方法声明语法
3. 注释的语法
4. 变量的声明语法
5. 常量的声明语法
6. 基础运算语法(算术运算、逻辑运算、比较运算、赋值运算)
7. 数组的声明语法
8. 控制流-判断语法
9. 控制流-循环语法
10. 类的创建语法(包括内部类)
11. 方法的调用语法
12. 类的继承语法
13. 抽象类的声明语法
14. 接口的声明语法
15. 接口的实现语法
16. 方法的重写与重载语法
17. 静态变量与静态方法的语法
18. 异常的声明语法
19. 注解语法
2.3.2. 基础库
基础库就是类似于一个图书馆(library),程序员是不可能全部看完的,那么我们学习基础库的方法是:将Java基础库的分包记住。
1. http://java.io:输入输出流
【输入输出相对于内存来说(输入:文件--->内存、输出:内存--->文件】
2. http://java.net:网络包(TCP\UDP协议)
3. java.lang:语法支撑包、包装类、数学、字符串、多线程、注解、反射、系统属性操作
4. java.util:工具类包、实现了复杂的数据类型,数据结构
5. java.sql:JDBC规范包,操作数据库
6. java.security:基础加密算法(MD5)
7. java.text:文本格式化,时间格式化,数字格式化
2.4. 学习线索
1、根据理解跨平台的概念,来理解JVM、JRE、JDK的关系,配置JDK环境变量
2、根据编程语言的特性,来记忆以及圈定Java的语法访为:关键字、运算符、基础库
3、通过一些Demo巩固语法基础:
(1)奇偶数输出【判断、循环】
(2)冒泡排序 【判断、嵌套循环、数组】
(3)乘法表【嵌套循环】
(4)网络编程【基础库:多线程、输入输出流、网络编程】
等等...
3. JavaWeb学习
3.1. JavaWeb是什么
答:JavaWeb是一门动态网站技术。
--问题1:动态是什么
答:在计算机领域里面,动态就是人机交互。
Java语言是通过ServletAPI/JSP技术来实现动态的。
--问题2:网站技术是什么
答:就是排版网页的技术,(HTML负责结构、CSS负责样式、JavaScript行为),所谓的动态网站技术就是:支持人机交互的网站技术。
根据以上的概述:我们要理解网站人机交互的过程、以及页面显示的效果的实现。

3.2. 学习线索
1. 学习JavaWeb就是学会动态(网站人机交互的技术),Servlet以及网页排版的技术。
2. 我们实现动态网站后,需要保存数据,所以还需要学习数据存储的技术,数据库+JDBC。
4. 框架的学习
任何框架就是一组功能组件。任何框架处理提供功能实现以外,我们更需要理解作者的想法【理念】。
4.1. Spring框架
作者的理念:实现一个轻量级的一站式的JavaEE开发框架。
--问题1:如何理解轻量级呢?
答:轻量级,并不是Spring框架功能少,而是启动的模块少,其他模块自由选择。
--问题2:Spring如何实现模块的自由选择(模块可插拔)。
答:是通过IOC的理念实现的。
IOC是什么,控制反转。就是代码的控制器(调用权)从调用方转移到被调用方(服务方)。
--结论:要实现IOC的前提,就是要实现对象不使用new就可以创建对象。
4.2. Mybatis的理念
作者的理念:使用最少的代码完成数据库的操作,持久层的零实现。所谓的持久层的零实现,就是持久层不需要写实现代码,使用接口就可以了。
--问题1:那么SQL语句在哪里写呢?
答:写在注解或者XM映射文件里面。
5. 总结
学习任何知识,我们需要知道它是什么、在分析它的作用、行为、应用场景。通过分析圈定学习的范围。形成学习的思路,通过一条线索将学习的东西串联起来。
--问题1:我们如何确认学习的东西已经通过一条线索串联起来了呢?
答:就是达到了每一步操作都知道了为什么。 |
|