Java-day-01

day01

1、第一天的学习

2、什么是软件工程师?
    是一种职位的名称。
    通常是通过计算机的某种编程语言完成软件的开发。

3、什么是软件呢?
    笔记本电脑就是一台计算机
    计算机包括两部分:
        * 硬件:鼠标、键盘、显示器、主机箱内部的CPU、内存条、硬盘等...
        注意:计算机只有硬件是无法工作的,需要软件驱动硬件才能工作。

        * 软件:软件包括:系统软件和应用软件。
        系统软件:
            直接和硬件交互的软件,例如:window7、winxp、win8、win10、Linux操作系统。
        应用软件:
            应用软件通常运行在系统软件中,例如:qq运行在windows操作系统上。
            qq就是应用软件。
               win10就是操作系统软件。
    我们通常所说的软件开发一般是指使用计算机编程语言完成“应用软件”的开发。

4、开发软件需要计算机编程语言,计算机编程语言很多,例如:C语言、C++、Java、.NET、C#、php

5、Java软件工程师:通过Java语言完成应用软件的开发。
   我们不是搞硬件的,我们是搞软件的。

6、作为程序员,要求掌握windows最基本的相关DOS命令:
   * DOS命令在哪里编写?
      在DOS命令窗口当中编写DOS命令
   * CMD
   * 常见的DOS命令?
     - exit 推出当前DOS命令窗口
     - cls 清屏
     - DOS窗口中的内容怎么复制:、
         在DOS窗口中的任意位置,点击鼠标右键,然后选择标记,
    接下俩选中要复制的内容,在DOS窗口的任意位置点击鼠标右键,
    此时被复制的内容已经到剪贴板了。
    在需要粘贴的位置粘贴即可
     - dir 列出当前目录下所有的子目录
     - cd 命令
         * cd命令表示:change directory【改变路径】
    * cd命令怎么用呢?
       cd目录的路径
    * 但是路径包括绝对路径和相对路径
    * 绝对路径:表示该路径从某个磁盘的盘符下作为出发点的路径
    * 相对路径:表示该路径从当前所在的路径下作为出发点的路径
    * 假设当前所在的路径是:C:\Users\梦,那么在此时输入cd Videos,
        那么其中Videos就是一个相对路径,从当前所在的C:\Users\梦这
        个路径作为出发点,开始找Desktop目录。
    * 假设是这样写的:cd C:\Users\梦\Videos 其中C:\Users\梦\Videos
        路径就是一个绝对路径。
     - cd .. 回到上级目录。
     - cd \ 直接回到根目录。
     - 怎么切换盘符呢:
          c:回车
     d:回车
     f:回车
     e:回车
     
7、计算机语言发展史:
   7.1、什么是计算机编程语言?
       提前的人为的指定好的一套交流规则,有的时候,有点语法是需要死记硬背的,不需要问为什么。
       而只要遵守这套语言规则,那么人和计算机之间就可以很好的沟通、交流。这就是计算机编程语言。
       计算机编程语言也有很多语种,例如:C语言、C++、Java、.NET、C#、php
   7.2、计算机语言发展史:

      第一代语言:机器语言
            主要编写二进制代码,直接编写001010101010这样的二进制。
      以打孔机为代表。

      第二代语言:低级语言
            主要以汇编语言为代表
      在低级语言当中已经引入一些英语单词,例如变量复制采用mv

      第三代语言:高级语言
            几乎和人类语言完全相同,即使是没有学习过计算机编程,只要看到这段代码就可以完全读懂。
      例如:C语言、C++、Java、.NET、C#、php
      
      总之,大家看到了编程语言的发展方向是:向着人类更加容易理解的方向发展。
8、Java语言发展史:
  * Java语言诞生于1995年。
  * 其实在1995年之前SUN公司(太阳徽电子公司:目前已被Oracle收购了)
  为了占领智能电子消费市场,派James Gosling领导团队开发了一个Oak(橡树)语言。
  * 1996年:JDK1.0诞生
    - 什么是JDK? 
       Java开发工具包
       做Java开发必须安装的一个工具包,该工具包需要从官网下载。
  * Java包括三大块:
    - JavaSE(Java标准版)
    - JavaEE(Java企业版)
    - JvaaME(Java微型版)
    其中JavaSE是基础。 

9、Java语言特性【开源、免费、纯面向对象、跨平台】
  * 简单性:
      相对而言的,例如Java中不再支持多继承,C++是支持多继承的,多继承比较复杂
      C++中有指针,Java中屏蔽了指针的概念。
      所以相对来说Java是简单的。
      Java底层是C++实现的,不是C语言。

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

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

      windows操作系统内核和Linux操作系统的内核肯定不同,他们这两个操作系统执行指令的方法也是不一样的。

      结论:显然Java程序不能直接和操作系统打交道,因为Java程序只有一份,操作系统执行原理都不同。

      SUN的团队很聪明,他们想了一个办法,他们让Java程序运行在一台Java虚拟机当中,这个虚拟的计算机叫做Java虚拟机,简称JVM。
      JVM在和虚拟底层的操作系统打交道。
  * 多线程

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

  * 安全性

10、Java的加载与执行
  * Java程序的运行包括两个非常重要的阶段
    - 编译阶段
    - 运行阶段
  * 编译阶段
    - 编译阶段主要的认识是检查Java源程序是否符合Java语法,符合Java语法则能够生成正常的字节码文件(xxx.class)不符合Java语法规则则无法生成字节码文件
    
    - 字节码文件不是纯粹的二进制,这种文件无法在操作系统中直接执行。
    
    - 编码阶段的过程:
       * 程序员需要在硬盘的某个位置<位置随意>新建一个.Java扩展名的文件,该文件被称为Java源文件,源文件当中编写的是Java源代码/源程序。而这个源程序是不能随意编写,必须符合Java语法规则<Java语法规则是需要记忆的>

       * Java程序员需要使用JDK中自带的javac.exe进行Java程序的编译。
          javac怎么用呢?在哪里用?
         - 在DOS命令窗口中使用。
         - javac的使用规则:javac java源文件的路径
      javac是一个java编译器工具/命令
       * 一个java源文件可以编译生成多个.class文件。

       * 字节码文件/class文件是最终要执行的文件,所以说class文件生成之后,Java源文件删除并不会影响程序的执行。但是一般java源程序不要删除,应为class文件最终执行效果可能不是我们想要的,那么这个时候需要回头重新修改java源程序,然后将java源程序重新编译生成新的class文件,然后再运行这个class程序,生成新的效果。
       * 编译结束之后,可以将class文件拷贝到其他操作系统当中运行。【跨平台】
 
  * 运行阶段 【可以在其他操作平台中跨平台】    
    
    - 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字节码解释称二进制101010101这样数据。

       * 然后操作系统执行二进制和底层硬件平台进行交互。
11、JDK、JRE、JVM的关系
   * JDK/bin:该目录下存放了很多命令,例如javac.exe和java.exe
   
   * javac.exe:负责编译

   * java.exe:负责运行
12、window操作系统是如何搜索硬盘上某个命令的呢?

   * 首先会从当前目录下搜索

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

   * 如果搜索不到,就会报错【不是内部或外部命令,也不是可运行的程序
或批处理文件。】
   
    

    

       

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

游荡在雾中的霾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值