Java零基础学习--前序知识

目录

一.0基础前序知识

1.计算机包括两部分

2.作为程序员要求掌握最基本的windows相关DOS命令

3.什么是计算机<编程>语言?

4.计算机语言发展史

5.Java语言发展史

6.Java语言特性【开源、免费、跨平台、纯面向对象】

7.JDK、JRE、JVM之间的关系(都以c++为底层语言)

8.Java的加载与执行

8.1 编译阶段

8.2 运行阶段:(可以在其他操作系统中,跨平台)

9.JDK目录介绍

9.1 首先需要解决的问题是:javac命令是否可用

9.2 了解windows操作系统是如何搜索硬盘上|搜索某个命令的呢?

9.3 配置环境变量path(计算机操作系统相关的知识点)

10.其他


一.0基础前序知识

1.计算机包括两部分

  • 硬件:鼠标、键盘、显示器、主机箱内部的cPU、内存条、硬盘等.

注意:计算机只有硬件是无法工作的,需要软件驭动硬件才能工作。

  • 软件:

        软件包括:系统软件和应用软件

①系统软件:

        直接和硬件交互的软件,例如:window7、winxp、win8、win10、Linux操作系统

②应用软件:

        应用软件通常运行在系统软件中,例如:QQ运行在windows操作系统上。

示例:

        QQ就是应用软件。

        win7就是操作系统软件。

2.作为程序员要求掌握最基本的windows相关DOS命令

  • DOS命令在哪里编写?

    在DOS命令窗口当中编写DOS命令

  • DOS命令窗口怎么打开呢?

    开始菜单-->运行-->输入cmd--(win+R)->回车【默认打开的是黑色的命令窗口,这就是DOS窗口】

  • 常见的DOS命令?

    (1)exit 退出当前DOS命令窗口

    (2)cls清屏

    (3)DOS窗口中的内容怎么复制:

    在DOS窗口的任意位置,点击鼠标左键,接下来选中要复制的内容,在DOS窗口的任意位置点击鼠标右键,此时被复制的内容已经到剪贴板了。在需要 粘贴的位置粘贴即可。(需要开启DOS窗口的快速编辑模式,右键DOS窗口--属性--选项-->编辑选项--快速编辑模式->确定)

    (4)dir列出当前目录下所有的子文件/子目录

    (5)cd命令

    cd命令表示:change directory 【改变目录】

    cd命令怎么用呢?cd+ 空格+目录的路径

    • 但是是路径包括绝对路径和相对路径

      • △绝对路径:表示该路径从某个磁盘的盘符下作为出发点的路径

      • △相对路径:表示该路径从当前所在的路径下作为出发点的路径

        如:假设当前所在的路径是c:\Users\Administrator,那么在此时输入cd Desktop,那么其中Desktop就是一个相对路径,从当前所在的c:\Users\administrator这个路径作为出发点,开始找Desktop目录。

    (5)cd..回到上级目录。

                    cd\直接回到根目录。

    (6)怎么切换盘符:

            c:回车

            d:回车

            e: 回车

3.什么是计算机<编程>语言?

        提前的人为的制定好的一套交流规则,有的时候,有的语法是需要死记硬背的,不需要问为什么。而只要遵守这套语法规则,那么人和计算机之间就可以很好的沟通、交流。这就是计算机编程语言。计算机编程语言也有很多语种。例如:c语言、c++、Java、PHP....

4.计算机语言发展史

第一代语言:机器语言

         主要编写二进制码,直接编写100101010101这样的二进制。以打孔机为代表。

第二代语言:低级语言

        主要以汇编语言为代表。在低级语言当中已经引入了一些英语单词,例如变量赋值采用mv

第三代语言:高级语言

        几乎和人类的语言完全相同,即使是没有学习过计算机编程,只要看到这段代码就知道该代码主要完成什么功能。 ​ 例如:c语言、c++、Java、.….…….

5.Java语言发展史

  • Java语言诞生于1995年。

  • 其实在1995年之前SUN公司(太阳微电子公司:该公司目前被Oracle(甲骨文:做数据库的)收购了)为了占领智能电子消费产品市场,派James Gosling领导团队开发了一个oak(橡树)语言。

  • 1996年:JDK1.0诞生

目前JDK最高版本是:Java22/JDK22

Java包括三大块:

        - JavaSE(Java标准版)

        - JavaEE(Java企业版)

        - JavaME(Java微型版)

        其中JavaSE是基础,也是我们0基础主要学习的

6.Java语言特性【开源、免费、跨平台、纯面向对象】

  • 简单性

    相对而言的,例如java中不再支持多继承,c++是支持多继承的,多继承比较复杂。C++中有指针,Java中屏ờ了指针的概念。所以相对来说Java是简单的。Java语言底层是c++实现的。不是c语言。

  • 面向对象

    Java是纯面向对象的。更符合的人的思维模式。更容易理解。

  • 可移植性

    java程序可以做到一次编译,到处运行。也就是说java程序可以在windows操作系统上运行;不做任何修改,同样的java程序可以直接放到Linux操作系统上运行,这个被称为Java程序的可移植性,或者叫做跨平台。|

        windows操作系统内核和Linux操作系统的内核肯定不同,他们这两个操作系统执行指令的方式也是不一样的。 ​ 结论:显然java程序不能直接和操作系统打交道。因为java程序只有一份。

        操作系统执行原理都不同。sun的团队很聪明,他们想了一个办法,他们让java程序运行在一台虚拟的计算机当中,这个虚拟的计算机叫做Java虚拟机,简称 JVM。Java虚拟机再和底层的操作系统打交道。

  • 多线程

    后面再讲(多线执行)

  • 健壮性

    和自动垃圾回收机制有关,自动垃圾回收机制简称GC机制 Java语言运行过程中产生的垃圾是自动回收的,不需要程序员关心

  • 安全性

7.JDK、JRE、JVM之间的关系(都以c++为底层语言)

  • JDK:英文名称(Java Development Kit),Java 开发工具包。JDK是整个Java开发的核心,它集成了jre和一些好用的小工具,如javac.exe(java编译器,将xxx.java——>xxx.class),java.exe,jar.exe。要想做Java开发,必须安装对应版本JDK。

  • JRE:英文名称(Java Runtime Environment),我们叫它:Java运行时环境。它主要包含两个部分:

    • JVM的标准实现

    • Java的一些基本类库

      JRE相对于jvm来说,多出来的是一部分的Java类库。Java要想运行,必须安装JRE

  • JVM: 英文名称(Java Virtual Machine),就是我们耳熟能详的Java虚拟机。它只认识xxx.class这种类型的文件,它能够将class 文件中的字节码指令进行识别并调用操作

    系统向上的API完成动作。所以说,jvm是Java能够跨平台的核心

8.Java的加载与执行

  • Java程序的运行包括两个非常重要的阶段

    • 编译阶段

    • 运行阶段

8.1 编译阶段

        编译阶段主要的任务是检查Java源程序是否符合Java语法,符合Java语法则能够生成正常的字节码文件(xxx.class),不符合Java语法规则则无法生成字节码文件

        字节码文件中表示的不是纯粹的二进制(叫字节码文件),这种文件无法在操作系统中直接执行

  • 编译阶段的过程:

    程序员需要在硬盘的某个位置(位置随意)新建一个 . java扩展名的文件,该文件被称为Java源文件,源文件当中编写的是Java源代码/源程序。而这个源程序是不能随意编写,必须符合Java语法规则(Java语法规则是需要记忆的)

        Java程序员需要使用JDK当中自带的javac.exe命令进行Java程序的编译。

        javac怎么用呢?在哪用呢?

                javac的使用规则:

                Javac+空格+java源文件的路径 ​ 在DOS命令窗口中使用。

                javac是一个java编译器工具/命令

一个java源文件,可以生成多个.class(字节码)文件class文件(字节码文件)是最终要执行的文件,所以说class文件生成之后,java源文件删除并不会影响java程序的执行(但要修改最终执行效果,需要修改java源程序,然后再重新编译成新的class文件,再运行这个class文件,生成新的效果,所以java源文件一般也不删除。而生成的class文件,可以直接拷贝到其他/电脑操作系统上,进行运行,因为前面提到java可以跨平台,java文件运行在java虚拟机中,而java虚拟机可以说是屏蔽了操作系统间的差异)

(A.class,B.class ,其中,定义了两个类,A、B叫做这些类的类名;就像int a,定义了两个整型变量,a叫这个变量的“变量名”)

8.2 运行阶段:(可以在其他操作系统中,跨平台)

JDK安装之后,除了自带一个javac.exe之外,还有另一个工具/命令,叫做java.exe ,java.exe命令主要负责运行阶段。

  • java.exe在哪里用?

    在DOS窗口中使用。

  • java.exe怎么用呢?

    Java+空格+类名

例如:

        硬盘上有一个A.class,那么就这样用:java A

        硬盘上有一个B.class,那么就这样用:java B

        硬盘上有一个c.class,那么就这样用:java C

        千万要注意:不要写成这样:java a.class【这种方式是错误的】

  • 运行阶段的内部过程

    • 打开DOS命令窗口

    • 输入:java A

    • java.exe命令会启动Java虚拟机(JVM),JVM会启动类加载器ClassLoader

    • ClassLoader会去硬盘上搜索A.class文件(字节码),找到该文件则将该字节码文件装载到 JVM中

    • JVM将A.class字节码文件解释成二进制,如1010101010这样的数据。

    • 然后操作系统执行二进制和底层硬件平台进行交互。

过程大致如下:

9.JDK目录介绍

接下来,将Helloworld.java源程序通过javac工具进行编译

9.1 首先需要解决的问题是:javac命令是否可用

        打开DoS命令窗口,直接输入javac,然后回车,出现以下报错:javac!不是内部或外部命令,也不是可运行的程序或批处理文件。

        出现以上问题是因为:windows操作系统无法找到javac命令文件-怎么解决以上javac不可用的问题?(需要在JDK—bin目录(javac.exe所在目录)下运行)

9.2 了解windows操作系统是如何搜索硬盘上|搜索某个命令的呢?
  • 首先会从当前目录下搜索

  • 当前目录搜索不到的话,会从环境变量path指定的路径当中搜索某个命令

  • 如果都搜索不到,则报错

9.3 配置环境变量path(计算机操作系统相关的知识点)

        所以需要在path指定的路径下添加javac所在目录的路径

步骤:

        我的电脑--右键属性--高级系统设置--环境变量--系统变量(所有用户)--path内添加路径(放javac.exe文件的目录路径)

  • 即:javac要想在DOS命令中随意使用,需要配置环境变量path

运行:

  1. 直接javac+空格+把文件拖入DOS命令中(会生成绝对路径)或 在java源文件上目录上路径清空,输入cmd,即进入当前目录,直接javac+文件名即可(相对路 径)

  2. 随后会在目录下生成class文件

  3. 接着,运行java.exe—需要将DOS在进入(目标文件目录)当前目录下运行(相对路径下运行)(因为还没配置环境变量classpath)

    java+空格+类名

打开DOS命令窗口,执行java HelloWorld,执行原理?

  1. java.exe命令会启动JVM

  1. JVM启动之后会启动类加载器classLoader

  1. classLoader会在硬盘上的某个位置搜索Helloworld.class字节码文件

  1. 找到该文件则执行

  1. 找不到该文件则报错

疑问:ClassLoader是在哪个位置上搜索Helloworld.class字节码文件的?

-默认情况下,classLoader从当前路径下加载xxx.class字节码文件
-当然,也可以让classLoader去某个指定的路径下加载字节码文件,这时需要配置环 境变量classpath
-classpath环境变量属于java语言中的环境变量,不属于windows操作系统【PATH 环境变量属于操作系统】
-classpath是给classLoader类加载器指路的。
-设置这样的环境变量:classpath=D:\course\JavaProjects\02-JavaSE\dayo2
-打开dos命令窗口在任意位置,都可以执行:java Helloworld
-classpath环境变量没有配置的话,类加载器默认从当前路径下找字节码文件,
-当classpath环境变量配置为某个指定的路径之后,类加载器只去指定的路径当中加 载字节码文件。

    综上所述,环境变量classpath不再配置,这样类加载器会自动从当前路径下加载class字节码文件。

  所以,每一次执行.class程序的时候,需要在DOS命令窗口中先切换到.class字节码文件所在的路径下。然后运行。

注意:

        路径中“.."表示上级目录 路径中“."表示当前目录

设置步骤:

        环境变量-----个人用户里新建 变量classpath 变量值为“.”(表文件所在路径,则Dos运行java时,要进入目标class文件所在文件目录下运行)或文件所在路径(直接运行java+类名即可)

10.其他

  • 怎么查看本机的IP地址?

    • 什么是IP地址?有什么用呢?

      A计算机在网络当中要想定位到(连接到)B计算机,那么必须要先知道B计算机的IP地址,IP地址也可以看做计算机在同一个网络当中的身份证号(唯一标识)。

      IP地址就相当于电话号码是一个意思。

  在DOS命令中,输入“ipconfig”(ip地址的配置信息。)即可

  • “ipconfig/all”可以查看更详细的内容

每个网卡(笔记本上有两个网卡,手机上1个等等)只有一个物理地址,全球唯一的,也称为MAC地址

应用: 终极防蹭网:将要上网的MAC地址绑定到路由器上,则仅绑定的MAC地址可上网,但很麻烦

  • 怎么查看两台计算机是否可以正常通信

        DOS命令: ping+IP地址/域名

 在后面加上“ 空格+‘-t’ ”则会一直发送,可以一直看丢包与时间情况,看网络是否真的很稳定(ctrl+c结束,其实一直运行DOS命令也可用)

  另外,域名就是ip的引用(域名底层还是会被解析成ip地址的形式),可以之间域名访问

  • 文本编辑器常见快捷键

    重做是恢复撤销的内容

    当光标在行尾,通过“shift+home“选中一行

    当光标在行首,通过“shift+end“选中一行

    鼠标左键点击三次,可选中一行

    鼠标左键点击2次,可选中一个单词

    Shift+箭头(如→等),选中一个内容

    Ctrl+Shift+箭头,选中一个单词

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值