Java 笔记 01:Java 概述,MarkDown 常用语法整理

一、前言

记录时间 [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 删除,后面的序号会自动修正。

  1. 步骤一
  2. 步骤二
  3. 步骤三

无序列表示例如下:

  • 步骤一
  • 步骤二
  • 步骤三

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 的方式

  1. 在开始菜单搜索命令提示符
  2. Win + R 输入 cmd 并回车(推荐使用)
  3. 在任意文件夹下面,按 Shift + 鼠标右击,选择在此处打开命令行窗口
  4. 在资源管理器的地址栏,删掉文件路径,然后输入 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/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/355.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVS低代码平台表单引擎:字符串拼接与逻辑函数的完美结合

字符串拼接使用逻辑函数配置 示例场景&#xff1a;通过按钮触发逻辑使用函数将两个日期字段组合为范围时间类型。 选择开始日期和结束日期后&#xff0c;点击【合并】按钮自动处理回显至起止日期字段。在【合并】按钮上设置逻辑。 注意&#xff1a;这里【起止日期】组件是数组…

【web开发02】后端开发Maven

后端开发Maven 1 Maven是什么&#xff1f;1.1 Maven基础概念1.1.2 仓库1.1.3 坐标 2 配置maven环境3 创建maven项目4 导入maven项目4 依赖管理4.1 依赖配置4.2 依赖传递4.2.1 排除依赖 4.3 依赖范围4.4 生命周期4.4.1 运行生命周期 1 Maven是什么&#xff1f; Maven本质是项目…

二次元AI绘画生成器免费:教你生成精美图片

二次元AI绘画生成器&#xff0c;无疑是现代技术与艺术完美结合的典范。这些工具不仅将复杂的绘画过程简化&#xff0c;更让每一个艺术爱好者的创意得以充分展现。这些生成器能够精准捕捉大家的创意精髓&#xff0c;将其转化为细腻、独特的二次元画作。无论是角色设计、场景描绘…

SpringMVC(五)【拦截器】

前言 今天来把 SpringMVC 最后一部分学完&#xff0c;虽然课时很短&#xff0c;但是学起来还是很慢的&#xff0c;不过确收获很大。不得不感慨学大数据确实有必要把 SSM、SpringBoot 等各种 JavaEE 技术好好学一学&#xff0c;收获很大&#xff0c;尽管我们到现在 Java 代码写了…

Redis几种常见的应用方式

1.登录认证 redis最常见的应用就是&#xff0c;登录认证把。再首次登录返回给前端token&#xff0c;把用户名和登录状态缓存到redis一段时间&#xff0c;每次其他请求进来过滤器那这token解析出来的用户名或其他关键的key值&#xff0c;再redis里面查询缓存&#xff0c;有则直…

【算法】二分查找

快乐的流畅&#xff1a;个人主页 个人专栏&#xff1a;《算法神殿》《数据结构世界》《进击的C》 远方有一堆篝火&#xff0c;在为久候之人燃烧&#xff01; 文章目录 引言一、二分查找二、查找元素的第一个和最后一个位置三、x的平方根四、搜索插入位置五、山脉数组的峰顶索引…

【Leetcode每日一题】 分治 - 排序数组(难度⭐⭐)(60)

1. 题目解析 题目链接&#xff1a;912. 排序数组 这个问题的理解其实相当简单&#xff0c;只需看一下示例&#xff0c;基本就能明白其含义了。 2.算法原理 算法思路&#xff1a; 快速排序作为一种经典的排序算法&#xff0c;其核心思想在于通过“分而治之”的策略&#xff…

eCongnition 根据栅格类别图分类分割结果

目录 1、导入标签文件 2、根据栅格类别计算对象类别 3、导出栅格计算的类别 1、导入标签文件 导入栅格类别文件Label.tif 参考&#xff1a;eCongnition 对图像进行多尺度分割-CSDN博客 2、根据栅格类别计算对象类别 对类别栅格创建 mode[Maximum] 特征&#xff0c;该特征…

SQL Serve---嵌套查询

定义 嵌套查询&#xff1a;主要用于复杂的查询中。在SQL语言中&#xff0c;一个Select From Where语句称为一个查询块&#xff0c;将一个查询块嵌套在另一个查询的Where子句或Having短语中的查询称为嵌套查询。 子查询的类型 使用别名的子查询 使用IN和NOT IN的子查询 使用比较…

基于SSM的列车订票管理系统(含源码+sql+视频导入教程+文档+PPT)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于SSM的列车订票管理系统3拥有两种角色&#xff1b;管理员、用户 管理员&#xff1a;用户管理、车票管理、购票指南管理、系统管理等 用户&#xff1a;发布帖子、登录注册、购票等 1.…

数据结构速成--串

由于是速成专题&#xff0c;因此内容不会十分全面&#xff0c;只会涵盖考试重点&#xff0c;各学校课程要求不同 &#xff0c;大家可以按照考纲复习&#xff0c;不全面的内容&#xff0c;可以看一下小编主页数据结构初阶的内容&#xff0c;找到对应专题详细学习一下。 目录 …

【Linux冯诺依曼体系结构】

目录 1.冯诺依曼体系结构原理 1.冯诺依曼体系结构 我们常见的计算机&#xff0c;如笔记本。我们不常见的计算机&#xff0c;如服务器&#xff0c;大部分都遵守冯诺依曼体系。 截至目前&#xff0c;我们所认识的计算机&#xff0c;都是有一个个的硬件组件组成 输入单元&#…

最新SpringBoot项目财务管理系统

采用技术 最新SpringBoot项目财务管理系统的设计与实现~ 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBootMyBatis 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 页面展示效果 系统登录页面 管理员功能 管理员功能页面 员工管理页面 部…

SpringBoot多数据源(五)

SpringBoot多数据源-集成多个mybatis框架 1.基本框架2.使用2.1项目结构2.2 依赖导入2.3 application.yml配置2.4 创建读与写的SqlSessionFactoryBean 3.总结 1.基本框架 通过启动多个SqlSessionFactoryBean&#xff0c;每个SqlSessionFactoryBean对应一个datasource和指定位置的…

STM32G431RBT6移植FreeRTOS

引言&#xff1a; 本文专门为参加了蓝桥杯嵌入式赛道的同学准备&#xff0c; 大家可能会有这样一个问题&#xff0c; 比完赛之后&#xff0c; 对于像继续使用STM32G431RBT6学习FreeRTOS的&#xff0c; 发现网上的教程使用的板子基本上都是F1和F4的&#xff0c; 其实呢&#xff…

二叉树的最大深度 - LeetCode 热题 37

大家好&#xff01;我是曾续缘&#x1f61b; 今天是《LeetCode 热题 100》系列 发车第 37 天 二叉树第 2 题 ❤️点赞 &#x1f44d; 收藏 ⭐再看&#xff0c;养成习惯 二叉树的最大深度 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最…

JAVA面向对象(下 )(一、继承和方法重写)

一、继承 1.1 什么是继承 生活中继承是指&#xff1a; 继承财产>延续财产 继承/遗传 父母的长相&#xff0c;基因 > 延续上一代的基因 继承技能、专业、职位 >延续 继承中华民族的传统文化 > 延续 青出于蓝而胜于蓝 或 长江后浪推前浪&#xff0c;前浪被拍在…

【图像分割】光流生成标签(matlab)

文章目录 1. 框架2. opticalFlow_label3. 光流 1. 框架 2. opticalFlow_label close all; clear; clc; % 使用光流进行标签的生成 %% 视频帧的读取 npy_data readNPY(train.npy);%% 提取标签的坐标 first_label squeeze(npy_data(2,1,:,:)); h fspecial("gaussian&quo…

PgSQL之WITH Queries/Statement

PostgreSQL WITH 子句 在 PostgreSQL 中&#xff0c;WITH 子句提供了一种编写辅助语句的方法&#xff0c;以便在更大的查询中使用。 WITH 子句有助于将复杂的大型查询分解为更简单的表单&#xff0c;便于阅读。这些语句通常称为通用表表达式&#xff08;Common Table Express…

快速了解开发过程中VO、DTO、BO、 DO、PO、POJO、Entity的概念、区别、作用

​ 目录 ​前言 VO&#xff08;Value Object&#xff0c;值对象&#xff09; DTO&#xff08;Data Transfer Object&#xff0c;数据传输对象&#xff09; BO&#xff08;Business Object&#xff0c;业务对象&#xff09; DO&#xff08;Data Object&#xff0c;数据对象…