java基础知识(一)

一:java概述:

  1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器;

  1994年将Oak语言更名为Java;

  Java的三种技术架构:

  JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发;

  JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础;

  JAVAME:Java Platform Micro Edition,开发电子消费产品和嵌入式设备,如手机中的程序;

  1,JDK:Java Development Kit:java的开发和运行环境,java的开发工具和jre。

  2,JRE:Java Runtime Environment:java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。

  3,配置环境变量:让java jdk\bin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。

    环境变量的配置:

    ①:永久配置方式:JAVA_HOME=%安装路径%\Java\jdk

      path=%JAVA_HOME%\bin

    ②:临时配置方式:set path=%path%;C:\Program Files\Java\jdk\bin

      特点:系统默认先去当前路径下找要执行的程序,如果没有,再去path中设置的路径下找。

    classpath的配置:

    ①:永久配置方式:classpath=.;c:;e:\

    ②:临时配置方式:set classpath=.;c:;e:\

    注意:在定义classpath环境变量时,需要注意的情况

      如果没有定义环境变量classpath,java启动jvm后,会在当前目录下查找要运行的类文件;

      如果指定了classpath,那么会在指定的目录下查找要运行的类文件。

    还会在当前目录找吗?两种情况:

      ①:如果classpath的值结尾处有分号,在具体路径中没有找到运行的类,会默认在当前目录再找一次。

      ②:如果classpath的值结果出没有分号,在具体的路径中没有找到运行的类,不会再当前目录找。

      一般不指定分号,如果没有在指定目录下找到要运行的类文件,就报错,这样可以调试程序。

  4,javac命令和java命令做什么事情呢?

    要知道java是分两部分的:一个是编译,一个是运行。

  javac:负责的是编译的部分,当执行javac时,会启动java的编译器程序。对指定扩展名的.java文件进行编译。 生成了jvm可以识别的字节码文件。也就是class文件,也就是java的运行程序。

  java:负责运行的部分.会启动jvm.加载运行时所需的类库,并对class文件进行执行.一个文件要被执行,必须要有一个执行的起始点,这个起始点就是main函数.

5.Java跨平台原理

 由源文件(.java)--->字节码文件(.class)(二进制文件)-----> 解释---->Unix,Win,Linux等机器。

 1.一次编译,到处运行

 2.编译器的作用:将源文件编译成class文件

 3.虚拟机的作用:将字节码文件解释成对应平台机器码并执行。

 4.java可以实现跨所有的平台?只有提供并且安装了相对应的虚拟机就可以跨该平台。

 5.虚拟机和解释器的关系:解释器是虚拟机的一个重要的组成部分。

 6.Java语言的执行要经过编译和解释两个阶段。


6.Java的安全性

 1.取消了指针
 2.垃圾回收机制-------不需要程序员直接控制内存回收,避免了程序员忘记及时回收,导致内存泄漏,避免程序错误回收程序核心类库对1内存,导致系统崩溃。
 3.异常处理机制-----try,catch,finally,throw,throws五个关键字。
 4.强制类型转换:只有满足强制类型转换规则的情况下才能强制转成功。
 5.保证了底层安全性:Java在字节码的传输过程中使用了公开密匙加密机制(PKC)
 6.在运行环境提供了四级安全保障机制:字节码校验器---类装载器---运行时内存布局--文件访问限制。

posted on 2021-08-20 21:13  程序猿的小虫子  阅读(53)  评论(0)    收藏  举报

导航