一、前言
记录时间 [2024-04-18]
昨天整理完 Docker 基础后略微思索了一下,还是决定把 Java 捡起来,系统地学习一遍,参考的学习课程是狂神说 Java 零基础,真诚感激此系列视频对笔者的帮助。
零基础可以学 Java 吗?只要清楚自己在干什么,想学,就学。
本文介绍了计算机和 Java 相关知识,整理了 MarkDown 笔记的常用语法,从零基础开始,走进 Java 的世界。
编程语言各有千秋,没有绝对的优势和劣势。Java 语言的特点:后端 / 全栈工程师必备,薪资高,岗位多,生态成熟,广泛运用于大数据、云计算、微服务、app、管理后台、电商平台、SaaS云等领域。
从 TIOBE:编程语言走势中可以发现,近 20 年来,Java 的热度依旧很高。
二、Java 学习方式
从零基础开始,逐步搭建对 Java 的认识:
JavaSE ==> 数据库 ==> 前端 ==> JavaWeb ==> SSM 框架 ==> Linux ==> SpringBoot ==> SpringCloud ==> Hadoop
如何做到高效学习?
- 多写代码、多写笔记、多写文章
- 多练交流、多练思维、多练技能
- 多分享知识、多提问(怎么了)、多思考(为什么)
- 坚持!!! 不要怕出错
写博客的重要性:为什么要写博客?
-
学习需要总结和思考
-
提升文笔组织能力
-
提升学习总结能力
-
提升逻辑思维能力
-
帮助他人,结交朋友
-
一些写博客地方:CSDN;博客园;简书;知乎;Wordpress;Typecho …
三、MarkDown 语法
写技术类文章推荐使用 MarkDown 语法,几乎所有的博客网站都支持 MarkDown 语法。
MarkDown 是一种纯文本格式的标记语言,通过使用不同的标记表示文章结构(如标题、字体、超链接等),可以使得文章思路清晰,风格多样,美观又整洁。同时,HTML 语言也可在 MarkDown 中嵌套使用。
这里推荐一个本地的 MarkDown 文本编辑器——Typora,Typora 的笔记文件以 .md
后缀结尾,每篇笔记都有详细的大纲。
1. 标题设置
在 MarkDown 中最多支持 6 个级别的标题,通过标题会自动生成大纲。
使用方式:# + 空格 + 标题;也可以用:Ctrl + 1/2/3
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
2. 字体设置
在 MarkDown 中支持多种风格的字体:
# 加粗,快捷键 Ctrl + B
**hello,world**
# 斜体
*hello,world*
# 斜体加粗
***hello,world***
# 删除线
~~hello,world~~
# 修改颜色,这里嵌套了 HTML 风格
<span style="color:red">hello,world</span>
# 高亮提示
<mark style="background-color: colorName/hexOfColor">hello,world</mark>
3. 引用设置
在 MarkDown 中可以对笔记的引用部分进行设置。
使用方式:> + 空格 + 引用内容
# 引用方式
> 这里写引用的内容
4. 分割线设置
在 MarkDown 中可以使用分割线,对文章内容进行分割。
有两种方式:三个杠或三个星
# 分割线
---
***
# 空一行
<br>
5. 图片设置
在 MarkDown 中,我们可以插入图片。图片类型有两种:本地图片 + 网络截图,MarkDown 中写入图片的路径就可以添加。
网络截图通过 URL 访问即可,很多情况下,本地图片会使用比较多。
为了方便对本地图片进行管理,我们一般把它们存放到同一个文件夹,在文件 ==> 偏好设置中可以设置图片存放的位置,推荐使用相对路径,否则你在电脑上移动了文件夹,笔记里的图片绝对路径就会失灵。
MarkDown 中添加图片的方式:! + [] + (URL)
# 网络截图 URL 是图片的路径
![网络截图](URL)
# 本地图片
# 只要复制图片 粘贴到笔记里,图片会自动保存进文件夹 非常方便
![本地图片](./assets/image-20240418125221686.png)
6. 超链接设置
在 MarkDown 中可以设置超链接,点击超链接可以访问对应的网址。
使用方式:[] + (URL)
# 超链接设置
[欢迎访问笔者的博客](https://blog.csdn.net/Sareur_1879?type=blog)
7. 列表设置
在 MarkDown 中可以设置列表来记录一些有规律的东西,罗列一些结论或者操作步骤。
列表有两种:有序列表 + 无序列表。
# 有序列表 1. + 空格 + 内容
1. 步骤一
2. 步骤二
# 无序列表 - + 空格 + 内容
- 步骤一
- 步骤二
有序列表示例如下:列表前面的 123 是灵活的,比如把 2 删除,后面的序号会自动修正。
- 步骤一
- 步骤二
- 步骤三
无序列表示例如下:
- 步骤一
- 步骤二
- 步骤三
8. 表格设置
在 MarkDown 中可以设置表格来进行总结。
在 Typora 中,可以通过右键来新建表格,设置行列即可生成。
正规的语法如下:
# 手写版本
# 注意要把每一行中间的空格删掉
# 删除方式:启用源代码模式
| 名字 | 性别 | 生日 |
| ---- | ---- | -------- |
| 张三 | 男 | 1997.1.1 |
效果查看:
名字 | 性别 | 生日 |
---|---|---|
张三 | 男 | 1997.1.1 |
9. 代码设置
在 MarkDown 中可以插入代码块:```+ 语言 + 回车
# 单行代码
`hello`
# 代码块 以 java 语言示例
```java
public
```
四、计算机相关知识
计算机(Computer),全称电子计算机,俗称电脑,是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。
计算机由硬件和软件组成,常见的形式有台式、笔记本、大型 / 超级计算机等,广泛应用在科学计算、数据处理、自动控制、计算机辅助设计、人工智能、网络等领域。
1. 计算机硬件
计算机硬件是指一些物理装置按系统结构的要求构成的一个有机整体,主要包含:CPU、内存 Memory、主板 MotherBoard、电源、主机箱、硬盘、显卡,以及一些 IO 设备如键盘、鼠标、显示器等等。
计算机硬件为计算机软件的运行提供了物质基础。
冯 · 诺依曼体系结构
摘自百科的冯 · 诺依曼简介:
约翰 · 冯 · 诺依曼是二十世纪最重要的数学家之一,在纯粹数学和应用数学方面都有杰出的贡献。
约翰 · 冯 · 诺依曼是现代计算机、博弈论、核武器和生化武器等领域内的科学全才之一,在数学的诸多领域都进行了开创性工作,并作出了重大贡献。鉴于他在发明电子计算机中所起到关键性作用,他被西方人誉为 “计算机之父”。而在经济学方面,他也有突破性成就,被誉为 “博弈论之父”。
约翰 · 冯 · 诺依曼在第二次世界大战期间曾参与曼哈顿计划,为第一颗原子弹的研制作出了贡献。
图灵奖:1966年,美国计算机协会(ACM)设立图灵奖,用以奖励那些对计算机事业作出重要贡献的个人,是美国计算机协会在计算机技术方面所授予的最高奖项,被喻为计算机界的诺贝尔奖。
冯 · 诺依曼体系结构,也称普林斯顿结构,是一种经典的计算机体系结构,由数学家约翰 · 冯 · 诺依曼于 1945 年提出。如图所示,由存储器、运算器、控制器,以及输入 / 输出设备组成。
2. 计算机软件
计算机软件可以使计算机按照事先预定好的顺序完成特定的功能。计算机软件按照其功能划分为系统软件和应用软件。
- 系统软件:DOS(Disk Operation System)、Windows、Linux、Unix、Mac、Android、iOS;
- 应用软件:WPS、QQ、绝地求生等等,就是我们平时下载的那些。
我们可以使用 IDEA 来进行软件开发,使用命令行 / 图形化界面等方式实现人机交互。
3. Windows 常用快捷键
观察计算机键盘,可以发现一些功能键:Tab、Shift、Ctrl、空格、Enter、Win,以及上 / 下 / 左 / 右等等。通过组合这些功能键,可以实现如下操作:
- Ctrl 系列:
- 全选
Ctrl + A
、复制Ctrl + C
、粘贴Ctrl + V
、剪切Ctrl + X
、撤销Ctrl + Z
、保存Ctrl + S
- 全选
- 关闭窗口:
Alt + F4
- 永久删除:
Shift + Delete
- 打开 CMD 命令窗口:
Win + R
- 打开我的电脑:
win + E
- 打开用户常用设置:
Ctrl + Alt + Delete
- 打开任务管理器:
Ctrl + Shift + Esc
- 放大镜:
Win and +
4. DOS 命令
使用 DOS 命令在 CMD 命令行中完成一些操作。
打开 CMD 的方式
- 在开始菜单搜索命令提示符
Win + R
输入 cmd 并回车(推荐使用)- 在任意文件夹下面,按 Shift + 鼠标右击,选择在此处打开命令行窗口
- 在资源管理器的地址栏,删掉文件路径,然后输入 cmd 并回车
管理员方式运行:选择以管理员方式运行,可以获得最高权限。
常用Dos命令
Windows 中常用的 Dos 命令如下:
D: # 切换盘符
dir # 查看当前目录下所有文件
cd 文件夹路径 # 切换目录 change directory
cd /d d:\IDE # 跨盘符切换到文件夹 从其他盘切换到了 D 盘的 IDE 文件夹
cd .. # 返回上一级
cls # 清理屏幕 clean screen
exit # 退出终端
ipconfig # 查看电脑 ip
ping www.baidu.com # ping 命令 测试网络是否正常
# 打开应用
calc # 打开计算器
mspaint # 打开画图工具
notepad # 打开记事本
# 文件操作
md 目录名 # 创建 目录 / 文件夹
cd 目录名 # 进入 目录 / 文件夹
rd 目录名 # 删除 目录 / 文件夹
cd> 文件名 # 创建文件
del 文件名 # 删除文件
5. 计算机语言发展
第一代语言
机器语言,使用二进制 0 和 1 编写,这种代码可以直接输入计算机使用,不需要任何转换。
因为二进制是计算机的基本计算方式。
第二代语言
汇编语言,使用指令代替二进制,解决人类无法读懂机器语言的问题。
汇编语言应用于逆向工程、机器人,以及病毒等领域。
第三代语言
摩尔定律:当价格不变时,集成电路上可容纳的晶体管数目,约每隔 18 个月便会增加一倍,性能也将提升一倍。换言之,每一美元所能买到的电脑性能,将每隔 18 个月翻两倍以上。
高级语言,大体上分为面向过程和面向对象两大类,例如,C 语言面向过程,C++ 和 Java 语言面向对象。
高级语言主要有:C 语言、C++、Java、C#、Python、PHP、JavaScript 等。其中,Java 多用于系统开发,Python 多用于人工智能和大数据分析,PHP 多用于网站搭建。
五、Java 的诞生与发展
1. Java 帝国的诞生
源于 C & C++
1972 年 C 语言诞生,C 语言具备贴近硬件、运行极快、效率极高的优势,被广泛应用于操作系统、编译器、数据库、网络系统等领域。
然而,C 语言虽然提供了指针和内存管理,却没有提供越界检查的工具,且内存空间需要手动定义和释放。这些问题在程序编译期间往往难以被发现,到了运行之时才会突然暴露,需要花费大量精力去调试程序。
C 语言需要尽可能标准地使用函数库,针对每个平台都要写一份脚本,C 语言效率固然高,但对于新手来说却并不友好。
1982 年 C++ 诞生,兼容了 C 语言,并添加了面向对象的功能,以及静态类型的检查,应用于游戏、图形等领域。但是,C++ 语言相对来说很复杂。
程序员想要拥有这样一款语言:它的语法有点像 C,但没有指针和内存管理;具备可移植性,能实现编写一次,到处运行;且面向对象、类型安全,具备高质量的类库。
Java 初生与发展
时间来到 1995 年,当时的网页简单粗糙,缺乏互动性。Java 开发者在浏览器中布置了一个小插件,在插件中放入 Java 的运行环境,并开发了一个图形界面的程序 Applet,吸引了一大批程序员的注意。
1998 年,Java 开发了三个版本,开始向桌面、手机、服务器三个领域进军,想要通过 Java 2 标准版(J2SE)占领桌面端,通过 Java 2 移动版(J2ME)占领手机端,通过 Java 2 企业版(J2EE)占领服务器端。
Java 的成功离不开互联网的发展。后来,虽然 Java 很快在桌面和手机端败下阵来,却在服务器端站稳了脚跟,强大、健壮、简单、安全、跨平台都是它的优势,适合团队开发复杂的大型项目。
Java 逐渐展示了其高可用,高性能,高并发的特性。基于 Java 开发的平台、系统、工具越来越多:
- 构建工具:Ant,Maven,Jekins
- 应用服务器:Tomcat,Jetty,Jboss,Websphere,WebLogic
- Web 开发:Struts,Spring,Hibernate,MyBatis
- 开发工具:Eclipse,Netbean,Intellij IDEA,Jbuilder
2006 年,Java 通过 Hadoop 占据了大数据领域;2008 年,Java 借助 Android 活跃在手机端。
于是乎,一个伟大的帝国诞生了!
2. Java 特性和优势
- 简单性:没有头文件,没有指针运算,不用分配内存,语法基于 C;
- 面向对象:重点放在对象与对象之间的接口,模拟人的思维写程序;
- 可移植性:Java 重要特性,代码可跨平台移植,做到一次编写,到处运行;
- 高性能:编译效率高;
- 分布式:Java 为网络分布式环境所设计,可处理 TCP/IP 协议相关内容,通过 URL 访问资源,支持通过网络远程调用一些方法;
- 动态性:Java 通过反射机制具备动态性,此特性 C++ 不具备;
- 多线程:同时运行多个软件,如一边看视频,一边听音乐;
- 安全性和健壮性:Java 具备异常机制。
3. Java 三大版本
- JavaSE:标准版,Java 的基础和核心,用于桌面程序、控制台开发;
JavaME:用于嵌入式开发,如手机、小家电,但用得比较少;- JavaEE:企业级开发,如 Web 端、企业应用系统、服务器开发。
4. JDK、JRE、JVM
- JDK:Java 开发者工具,包含 JRE 和 JVM,扩充了开发工具;
- JRE:Java 运行时环境,用于运行 Java 程序;
- JVM:Java 虚拟机,模拟一个小巧的 CPU 处理 Java 相关的东西,是实现跨平台的核心。
六、总结
本文介绍了计算机和 Java 相关知识,整理了 MarkDown 笔记的常用语法,从零基础开始,走进 Java 的世界。
一些参考资料
狂神说 Java 零基础:https://www.bilibili.com/video/BV12J41137hu/
TIOBE 编程语言走势: https://www.tiobe.com/tiobe-index/
Typora 官网:https://www.typoraio.cn/
Oracle 官网:https://www.oracle.com/