Java入门学习笔记(java概述)——动力节点(一)

Java入门学习笔记(java概述)——动力节点(一)Java 入门学习笔记一 java 概述 Java 概述 Java 语言发展史 Java 语言特性 开源 免费 纯面向对象 跨平台 Java 的加载与执行开始第一个 Java 程序 java 学习过程是在 b 站看的动力节点 java 零基础教程视频 本来看的是郝斌老师的教程 一方面是声音画面稍微有点不同步 还有年代稍微有点长 对我这种需要速成的 学习完可能还要找有差异的地方继续学习 干脆就看新点的视频教程了


java学习过程是在b站看的动力节点java零基础教程视频,本来看的是郝斌老师的教程,一方面是声音画面稍微有点不同步,还有年代稍微有点长,对我这种需要速成的,学习完可能还要找有差异的地方继续学习,干脆就看新点的视频教程了。在这里也是记录自己的学习笔记。

1、Java概述

Java语言发展史

  • Java语言诞生于1995年。
  • 其实在1995年之前SUN公司(太阳微电子公司:该公司目前被Oracle(甲骨文:做数据库的)收购了)为了占领智能电子消费产品市场,派James Gosling领导团队开发了一个Oak(橡树)语言。
  • 1996年:JDK1.0诞生
    • 什么是JDK?
      JDK开发工具包
      做Java开发必须安装的一个工具包,该工具包需要从官网下载。
      目前SUN被Oracle收购了,所以下载需要去Oracle下载。
  • Java包括三大块:
    • JavaSE(Java标准版)
    • JavaEE(Java企业版)
    • JavaME(Java微型版)
      其中JavaSE是基础,以后主攻方向是JavaSE方向。

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

  1. 简单性:
    相对而言的,例如java中不再支持多继承,C++是支持多继承的,多继承比较复杂
    C++中有指针,Java中屏蔽了指针的概念。
    所以相对来说Java是简单的。
    Java语言底层是C++实现的,不是C语言
  2. 面向对象
    Java是纯面向对象的,更符合人的思维模式,更容易理解。
  3. 可移植性/跨平台
    什么是可移植性?
    java程序可以做到一次编译,到处运行。
    也就是说java程序可以在windows操作系统上运行,不做任何修改,同样的java程序可以直接放到Linux操作系统上运行,这个被称为Java程序的可移植性,或者叫做跨平台。
    windows操作系统内核和Linux操作系统的内核不同,两个操作系统执行指令的方式也是不一样的。java程序不直接和操作系统打交道,SUN的团队让java程序运行在一台虚拟的计算机当中,这个虚拟的计算机叫做Java虚拟机,简称JVM。JVM虚拟机再和底层的操作系统打交道,JVM有不同的版本。
  4. 多线程
  5. 健壮性:
    和自动垃圾回收机制有关,自动垃圾回收机制简称GC机制。
    Java语言运行过程中产生的垃圾是自动回收的,不需要程序员关心。
  6. 安全性

Java的加载与执行

  1. Java程序的运行包括两个重要的阶段,分别是:编译阶段和运行阶段
  2. 编译阶段
    编译生成的程序被称为xxxx.class字节码文件
    • 编译阶段主要的任务是检查Java源程序是否符合Java语法,符合Java语法则能够生成正常的字节码文件,不符合Java语法规则则无法生成字节码文件。
    • 字节码文件中不是纯粹的二进制,这种文件无法在操作系统当中直接执行。
    • 编译阶段的过程:
      • 程序员需要在硬盘的某个位置(位置随意)新建一个.java扩展名的文件,该文件被称为Java源文件,源文件当中编写的是Java源代码/源程序。而这个源程序是不能随意编写,必须符合Java语法规则(Java语法规则是需要记忆的)
      • Java程序员需要使用JDK当中自带的javac.exe命令进行Java程序的编译。
        Javac在DOS命令窗口中使用,
        javac的使用规则:javac java源文件的路径。javac是一个java编译器工具/命令。
      • 一个java源文件可以编译生成多个.class文件
      • 字节码文件/class文件是最终要执行的文件,所以说class文件生成之后,java源文件删除并不会影响java程序的执行。但是一般java源程序不要删除,因为class文件最终执行效果可能不是我们想要的,那么这个时候需要回头重新修改java源程序,然后将java源程序重新编译生成新的class文件,然后在运行这个class程序,生成新的效果。
      • 编译结束之后,可以将class文件拷贝到其他操作系统当中运行。【跨平台】
  3. 运行阶段【可以在其他操作系统当中,跨平台】
    • JDK安装之后,除了自带一个javac.exe之外,还有另一个工具/命令,叫做java.exe,java.exe命令主要负责运行阶段。
    • java.exe在DOS窗口中使用,使用方法:java 类名
      例如:
      硬盘上有一个A.class,那么就这样用:java A
      硬盘上有一个B.class,那么就这样用:java B
      硬盘上有一个C.class,那么就这样用:java C
    • 运行阶段的过程是:
      • 打开DOS命令窗口
      • 输入:java A
      • java.exe命令会启动Java虚拟机(JVM),JVM会启动类加载器ClassLoader
      • ClassLoader会去硬盘上搜索A.class文件,找到该文件则将该字节码文件装载到JVM当中。
      • JVM将A.class字节码文件解释成二进制这样数据
      • 然后操作系统执行二进制和底层硬件平台进行交互。

开始第一个Java程序

  1. 保证计算机当中已经安装了文本编辑器EditPlus
  2. 安装JDK【JDK一般需要从oracle的官网下载】
  3. JDK、JRE、JVM的关系搞清楚
  4. JDK目录的介绍:
    JDK/bin:该目录下存放了很多命令,例如javac.exe和java.exe
    javac.exe负责编译
    java.exe负责运行
  5. 开发HelloWorld.java源程序
  6. 将HelloWorld.java源程序通过javac工具进行编译:
    • javac 源文件路径
    • 配置环境变量path
      path环境变量和java语言没有关系,path环境变量是属于windows操作系统的一个知识点,path环境变量是专门给windows操作系统指路的。
      将javac所在的目录配置到环境变量path中,就能在DOS窗口中随意使用javac
  7. 运行java程序
    • 必须将路径切换到“D:\course\JavaProjects\02-JavaSE\day01”目录下
    • 执行:java HelloWorld
    • java 类名

Java程序运行原理

  1. 打开DOS命令窗口,执行java HelloWorld,执行原理?
    • java.exe命令会启动JVM
    • JVM启动之后会启动类加载器ClassLoader
    • ClassLoader会在硬盘上的某个位置搜索HelloWorld.class字节码文件
    • 找到该文件则执行
    • 找不到该文件则报错

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

    • 默认情况下,ClassLoader从当前路径下加载xxx.class字节码文件
    • 当然,也可以让ClassLoader去某个指定的路径下加载字节码文件,这时需要配置环境变量classpath
    • classpath环境变量属于java语言中的环境变量,不属于windows操作系统【PATH环境变量属于操作系统】
    • classpath是给ClassLoader类加载器指路的。
    • 设置这样的环境变量:classpath=D:\course\JavaProjects\02-JavaSE\day02
      打开dos命令窗口在任意位置,都可以执行:java HelloWorld
    • classpath环境变量没有配置的话,类加载器默认从当前路径下找字节码文件,
      当classpath环境变量配置为某个指定的路径之后,类加载器只去指定的路径当中加载字节码文件。
    • 综上所述,环境变量classpath不再配置,这样类加载器会自动从当前路径下加载class字节码文件。
      所以,每一次执行.class程序的时候,需要在DOS命令窗口中先切换到.class字节码文件所在的路径下。
      然后运行。
    • 当然,classpath也可以这样配置:classpath=.

    注意:
    路径中“. .”表示上级目录
    路径中“.”表示当前目录

关于java源程序当中的注释

  1. 什么是注释?注释的作用是什么?
    • 出现在java的源程序当中,对java源代码的解释说明
    • 注释不会被编译到.class字节码文件当中
    • 一个好的开发习惯应该是多编写注释,这样程序的可读性比较强。
  2. java中的注释怎么写呢?
    • 单行注释
      //单行注释,只注释当前行
    • 多行注释
      /*
      多行注释
      多行注释
      多行注释
      多行注释
      多行注释

      */
    • javadoc注释
      /
      * javadoc注释
      * javadoc注释
      * javadoc注释
      * javadoc注释
      * javadoc注释
      * javadoc注释
      */
      注意:这种注释是比较专业的注释,该注释信息会被javadoc.exe工具解析提取并生成帮助文档。

对HelloWorld程序进行解释:

需要记忆:
* public
* class
* static
* void
* System.out.println(""); 向控制台输出消息
* 类体
* 方法体
* 类体中不能直接编写java语句【除声明变量之外】
* 一个java语句必须以“;”结束
* 方法体中可以编写多条java语句
* 主方法是程序的入口,固定写法,SUN规定的。

public class和class的区别:

  1. 一个java源文件当中可以定义多个class
  2. 一个java源文件当中public的class不是必须的
  3. 一个class会对应生成一个xxx.class字节码文件
  4. 一个java源文件当中定义公开的类的话,只能有一个,并且该类名称必须和java源文件名称一致。
  5. 每一个class当中都可以编写main方法,都可以设定程序的入口,想执行B.class中的main方法:java B,
    想执行X.class当中的main方法:java X
  6. 注意:当在命令窗口中执行java Hello,那么要求Hello.class当中必须有主方法。没有主方法会出现运行
    阶段的错误:
    D:\course\JavaProjects\02-JavaSE\day02>java Hello
    错误: 在类 B 中找不到主方法, 请将主方法定义为:
    public static void main(String[] args)

总结第一章需要掌握的内容

  • 理解java的加载与执行
  • 能够自己搭建java的开发环境
  • 能够独立编写HelloWorld程序,编译并运行
  • 掌握环境变量path的原理以及如何配置
  • 掌握环境变量classpath的原理以及如何配置
  • java中的注释
  • public class 和 class 的区别
编程小号
上一篇 2024-12-06 13:39
下一篇 2024-12-06 13:37

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/4736.html