重新开始学Java-1概述
自己用的比较久的就是Java语言了,但因为种种原因已经很久没碰了。以后可能应用到计算机专业相关的内容,所以自学计划的第一件事就是重头把Java捡起来,所以就是自己的电子版自学笔记而已啦~
今天第一节课,概述性的内容~
1-概述
计算机概述
对于一台计算机而言,通常将计算机划分为软件和硬件两部分:硬件是计算机的显示器、机箱等部分,可以理解为是计算机实体触碰到的部分;软件可以理解为是应用计算机进行各种操作的部分。
软件还可细分为操作系统和应用软件。操作系统是管理计算机硬件与软件资源的计算机程序,比如Windows系列操作系统、Linux系列操作系统等。应用软件就是日常使用的部分,如浏览器、QQ、游戏等等。
Dos和cmd
在计算机中除了应用软件外,还会用到命令行窗口。
Dos
Dos是磁盘操作系统,也是一种操作系统,是相对于用二进制直接操作计算机来说进一步发展的操作系统。
Dos是有了存储在操作系统中的命令集,然后用命令集中已有的命令操作计算机。
相对于今天较为常见的以直观可视的方式对计算机进行操作(图形用户界面,Graphical User Interface,GUI),应用命令行对计算机进行操作被称为字符用户界面(Command User Interface,CUI),下图就是CUI界面。
cmd
cmd是windows下的命令行窗口,是模拟dos环境的一个程序,执行的是dos命令,是间接调用的dos程序。
两者的不同之处在于:可以在dos中删除windows操作系统,但不能在cmd中删除windows操作系统(权限不够)。
看到的这个图片说的挺明白的:
常用命令
命令 | 作用 |
---|---|
exit | 退出运行命令行窗口 |
cls | 清屏 |
dir | 列出文件夹下所有子文件和子目录 |
cd | 进入指定文件夹 |
cd… | 回到上级文件夹 |
cd| | 回到根目录 |
c: | 盘符切换,直接输入字母,此以C盘为例 |
md 目录名 | 创建新目录 |
ipconfig | 显示所有当前的 TCP/IP 网络配置值、刷新动态主机配置协议 (DHCP) 和域名系统 (DNS) 设置 |
其他的就需要再查好了~
编程语言
编程语言是事先约定好的、人与计算机间的交流规则。
发展史
- 机器语言(应用二进制作为交流方式,比如:打孔机)
- 低级语言(介于机器语言和高级语言之间,引入了部分英文单词,比如:汇编语言)
- 高级语言(主要以英文单词作为既定的语言规则,提高了可读性,比如:C语言、Java语言等等等)
Java概述
jdk
Java开发工具包,java develop kit,jdk。
编写Java语言的基础工具包。
版本号
Java8=jdk1.8=JDK8
版本号
名称 | 含义 | 备注 |
---|---|---|
Java SE | 标准版 | 基础内容 |
Java EE | 企业版 | - |
Java ME | 微型版 | 应用在电器内芯中 |
特性
- 面向对象
- 可移植性好(跨平台)
- 多线程
- 健壮性好
Java的编译和执行
编译
目的:检查源文件是否符合Java的语法规范
工具:javac.exe
命令:javac+空格+源文件路径
结果:生成与源文件名称一样的.class文件(字节码文件)
备注:字节码文件(.class)不是二进制格式,不能直接运行;一个源文件可能生成多个字节码文件,取决于源文件里有几个类。
执行
工具:java.exe
命令:java+空格+字节码文件文件名
过程:启动JVM;加载类加载器ClassLoarder;搜索字节码文件并加载到JVM中;字节码文件转化为二进制内容;运行。
Java注释
执行
提高代码的可读性
分类
(1)单行注释用//
(2)多行注释用/……/
(3)Java doc注释
/**
* Java doc注释格式,也是可以进行多行注释的
* 用途:可以直接被提取成帮助文件
* 工具:javadoc.exe
*/
其他补充内容
相对路径和绝对路径
相对路径是从当前的文件路径算起的;绝对路径一般是从盘符(C/D/E)算起的。
跨平台
Java跨平台的特性多说一句。
在下载软件的时候都能注意到,软件下载的时候是要选择操作系统的,所以为什么Java能直接跨平台呢?
答案就在Java虚拟机(Java Virtual Machine,JVM)上。
原理是:所有的Java程序运行在JVM上,JVM再和操作系统进行交互,完成程序操作。
而JVM包含在jdk中,jdk是有操作系统的区别的。
本质:通过JVM作为中间层,实现了Java程序的跨平台。
JDK、JRE和JVM
JDK=Java Develop Kit=Java开发工具包(独立安装包)
JRE=Java Runtime Environment=Java运行环境(独立安装包)
JVM=Java Virtual Machine=Java虚拟机(包含再JRE中)
综上所述就是:开发的JDK和JRE都需要;只运行的JRE就够了,都装上也行;理论上JDK中有一个JRE的,不单独再装JRE也行。
代码中的class和.class文件
就以下几点吧:
- 代码中的class前不一定非得加public
- 代码中的class前加上public的话,源文件名和class名必须一致
- 代码中class前没有public的时候,一个源文件里可以写多个,但编译后生成的.class文件是多个的
- 每个定义的class里都可以有主函数,没主函数,直接运行会报错
垃圾回收机制GC
Java的垃圾回收机制也多说一句。
Java有自动的垃圾回收机制(Garbage Collection,GC),就是自动释放不需要的变量占用的空间,避免内存泄漏,不用开发人员完成这个操作。
虽然这个过程可以自动实现了,但其中还包含实现的原理。
可以从这几个问题了解:
- JVM运行内存分配
- 对“垃圾”的判断
- 回收“垃圾”的算法
- 垃圾回收器运行机制
这个说得还挺清楚的:
以上。
第一课结束,下课玩去咯~