本来很早之前就应该总结自己在JavaSE中系统学到的知识了,马上就要出去工作了,想想自己还是非常菜的菜鸟,自己就夜不能寐呀。现在从zero基础开始带大家一起回顾学习的基础知识。

现在已经是凌晨了,但是自己还是头脑很清晰了。

那我们就从最基本的开始吧

一、什么是计算机?什么是硬件?什么是软件?

  1.1计算机的定义

  很多人可能一听到计算机,不就是电脑吗?可是讲清楚还真的是费劲哦。计算机(Computer)全称:电子计算机,俗称电脑。是一种能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。

  由硬件和软件所组成,没有安装任何软件的计算机称为裸机。常见的形式有台式计算机、笔记本计算机、大型计算机等。

  1.2硬件

    定义:计算机硬件(Computer Hardware)是指计算机系统中由电子,机械和光电元件等组成的各种物理装置的总称。这些物理装置按系统结构的要求构成一个有机整体为计算机软件运行提供物质基础。  

        冯.诺依曼体系结构
    计算机的硬件分成5大组成部件:运算器、控制器、存储器、输入设备和输出设备。

    运算器和控制器是计算机的核心,合称中央处理单元(Central Processing Unit,CPU)或处理器。CPU的内部还有一些高速存储单元,被称为寄存器。其中运算器执行所有的算术和逻辑运算;

      控制器负责把指令逐条从存储器中取出,经译码后向计算机发出各种控制命令;而寄存器为处理单元提供操作所需要的数据。
    存储器是计算机的记忆部分,用来存放程序以及程序中涉及的数据。它分为内部存储器和外部存储器。内部存储器用于存放正在执行的程序和使用的数据,其成本高、容量小,但速度快。

      外部存储器可用于长期保存大量程序和数据,其成本低、容量大,但速度较慢。
      输入设备和输出设备统称为外部设备,简称外设或I/O设备,用来实现人机交互和机间通信。微型机中常用的输入设备有键盘、鼠标等,输出设备有显示器、打印机等。

  1.3软件   

    计算机软件(Computer Software)是使用计算机过程中必不可少的东西,计算机软件可以使计算机按照事先预定好的顺序完成特定的功能
      计算机软件按照其功能划分为系统软件与应用软件:
       系统软件: DOS(Disk Operating System), Windows, Linux, Unix, Mac, Android, iOS
       应用软件:office QQ聊天 YY语言 扫雷

二、计算机基础知识

  2.1.什么是软件?

  按照特定顺序组织的计算机数据和指令的集合

  2.2、什么是软件开发?

  借助开发工具与计算机语言制作软件

  2.3、什么是计算机语言及计算机语言的分类?

  人与计算机之间进行信息交流沟通的一种特殊语言 

  计算机语言的分类
   机器语言:
   机器语言是直接用二进制代码指令表达的计算机语言,指令是用0和1组成的一串代码,它们有一定的位数,并分成若干段,各段的编码表示不同的含义。
   汇编语言:
   汇编语言是使用一些特殊的符号来代替机器语言的二进制码,计算机不能直接识别,需要用一种软件将汇编语言翻译成机器语言。
   高级语言:使用普通英语进行编写源代码,通过编译器将源代码翻译成计算机直接识别的机器语言,之后再由计算机执行。高级语言包括C,C++,C#,JAVA等。

  2.4、人机交互的两种方式 

    命令行方式
       需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记录住一些命令。
     图形化界面方式
      这种方式简单直观,使用者易于接受,容易上手操作。

  2.5、如何打开dos命令

      开始--程序--附件--命令提示符

      开始--运行--cmd--回车
      win+r--cmd--回车

  2.6、常用的dos命令

   A:d: 回车 盘符切换
   B:dir(directory):列出当前目录下的文件以及文件夹
   C:cd (change directory)改变指定目录(进入指定目录)
  D:cd.. : 退回到上一级目录
  E:cd\: 退回到根目录
   F:cls : (clear screen)清屏
   G:exit : 退出dos命令行(分割线上的需要掌握,下的了解)
  /=========================================================
   md (make directory) : 创建目录
   rd (remove directory): 删除目录
  del (delete): 删除文件,删除一堆后缀名一样的文件*.txt
   notepad 创建文件
  删除带内容的文件夹
   rd + /s 文件夹名称(询问是否删除)
   rd + /q + /s 文件夹名称(直接删除)

前面学习了一下计算机的基本知识,现在对计算机有了基本的了解了。我们开始进入主题吧!

三、Java语言基础

  3.1、Java语言跨平台的原理

  首先什么是平台,平台就是CPU处理器和操作系统的整体。如果计算机是人,那CPU就是人的大脑,它既负责思维运算,又负责身体各部件的命令控制。CPU的种类很多,

  除去我们熟知的Intel与AMD外,还有比如上面说到的SUN的Sparc,比如IBM的PowerPC等等,这些各个公司生产的CPU使用或相同或不同的指令集。指令集就是cpu中用来计算和控制计算机系统的一套指令的集合。

  作系统是充当用户和计算机之间交互的界面软件,不同的操作系统支持不同的CPU,严格意义上说是不同的操作系统支持不同CPU的指令集。现在的windows,liunx,mac,solaris都支持Intel与AMD的CPU指令集。

  知道什么是平台之后我们来理解java怎么跨平台的?

  

  Java是解释执行的,编译为中间码的编译器与平台无关,编译生成的中间码也与平台无关(一次编译,到处运行),中间码再由解释器解释执行,解释器是与平台相关的,也就是不同的平台需要不同的解释器.

  Java先编译后解释

  同一个.class文件在不同的虚拟机会得到不同的机器指令(Windows和Linux的机器指令不同),但是最终执行的结果却是相同的。

  3.2、JRE和JDK概述

  JRE:包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。JRE:JVM+类库。

  JDK:JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。

     其中的开发工具:编译工具(javac.exe)  打包工具(jar.exe)等。JDK:JRE+JAVA的开发工具。

  为什么JDK中包含一个JRE: 开发完的程序,需要运行一下看看效果。

  3.3、JRE、JDK、JVM三者之间的关系?

  3.4、JDK安装路径下的目录解释

     a:bin目录:该目录用于存放一些可执行程序。
       如javac.exe(java编译器)、java.exe(java运行工具),jar.exe(打包工具)和* javadoc.exe(文档生成工具)等。
     b:db目录:db目录是一个小型的数据库。
      从JDK 6.0开始,Java中引用了一个新的成员JavaDB,这是一个纯Java实现、开源的数据库管理系统。这个数据库不仅轻便,而且支持JDBC 4.0所有的规范,在学习JDBC 时,不再需要额外地安装一个数据库软件,选择直接使用JavaDB即可。
     c:jre目录:"jre"是 Java Runtime Environment 的缩写,意为Java程序运行时环境。此目录是Java运行时环境的根目录,它包括Java虚拟机,运行时的类包,Java应用启动器以及一个bin目录,但不包含开发环境中的开发工具。
     d:include目录:由于JDK是通过C和C++实现的,因此在启动时需要引入一些C语言的头文件,该目录就是用于存放这些头文件的。
     e:lib目录:lib是library的缩写,意为 Java 类库或库文件,是开发工具使用的归档包文件。
     f:src.zip文件:src.zip为src文件夹的压缩文件,src中放置的是JDK核心类的源代码,通过该文件可以查看Java基础类的源代码。

四、用控制台编写一个Hello world

  4.1、编写HelloWorld

  很多人可能会,但我相信很多基础不太好的程序员来说,用习惯了开发工具就不会用cmd命令来运行一个java程序了。

  首先你需要先编写一个.java文件,记住你不能直接用记事本编写以为在后面.java就成了java文件,这样是不行的。

  第一步:HelloWorld.java

class HelloWorld {
            public static void main(String[] args) {
                System.out.println("HelloWorld");
            }
        }

  第二步:你需要把这个文件放到安装JDK目录下的bin目录中去,使用dos命令进入到bin目录中去

  

  4.2、path环境变量的配置   

    A:在JDK的bin目录下开发程序容易产生的问题
      a:如果文件过多,不方便管理
         b:删除自己写过的不需要的文件,可能不小心把JDK自带的工具给删除了
    B:如何解决问题呢
      notepad这样的命令为什么在任何路径下都能够执行,配置path环境变量
    C:配置方式
    a:xp系统
    右键点击桌面计算机→选择属性→选择高级选项卡→点击环境变量→下方系统变量中查找path→双击path→将jdk安装目录下的bin目录添加到最左边并添加分号。
    b:win7/win8系统
     右键点击桌面计算机→选择属性→选择高级系统设置→选择高级选项卡→点击环境变量→下方系统变量中查找path→双击path→将jdk安装目录下的bin目录添加到最左边并添加分号。
    path配置的是可执行的文件.exe,配置后可以在不同的盘符下访问path路径下的可执行文件

    还有一种配置方式:先配置JAVA_HOME、在修改path路径

  4.3、classpath环境变量的作用及其配置 

   A:为什么要配置classpath
   B:classpath配置的原理
   C:如何配置classpath  

    path和classpath的区别
      path配置的是可执行的文件.exe,配置后可以在不同的盘符下访问path路径下的可执行文件
      classpath配置的java的类文件,就是.class文件

                                                                    02:16:02