IE盒子

搜索
查看: 187|回复: 7

分享个人的Java学习思路

[复制链接]

3

主题

11

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2023-1-16 09:43: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:我们如何确认学习的东西已经通过一条线索串联起来了呢?
答:就是达到了每一步操作都知道了为什么。
回复

使用道具 举报

4

主题

9

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2023-1-16 09:43:46 | 显示全部楼层
学习了
回复

使用道具 举报

2

主题

7

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2023-1-16 09:43:52 | 显示全部楼层
大佬,看了你很多的文章,受益匪浅,大佬我爱你(人生第一次表白)
回复

使用道具 举报

4

主题

15

帖子

25

积分

新手上路

Rank: 1

积分
25
发表于 2023-1-16 09:44:32 | 显示全部楼层
厉害了 不出书可惜了
回复

使用道具 举报

3

主题

10

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2023-1-16 09:44:37 | 显示全部楼层
帮助很大谢谢大佬
回复

使用道具 举报

3

主题

11

帖子

20

积分

新手上路

Rank: 1

积分
20
发表于 2023-1-16 09:45:19 | 显示全部楼层
绝对大佬,说的很详细,很适合小白!
回复

使用道具 举报

4

主题

13

帖子

23

积分

新手上路

Rank: 1

积分
23
发表于 2025-2-26 15:35:38 | 显示全部楼层
秀起来~
回复

使用道具 举报

3

主题

9

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2025-3-23 21:22:09 | 显示全部楼层
为毛老子总也抢不到沙发?!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表