知识屋:更实用的电脑技术知识网站
所在位置:首页 > 科技  > Android

分享个人的Java学习思路

发表时间:2022-03-24来源:网络

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:我们如何确认学习的东西已经通过一条线索串联起来了呢?

答:就是达到了每一步操作都知道了为什么。

收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜