zoukankan      html  css  js  c++  java
  • Java学习笔记——第1篇

    Java程序运行机制

    Java程序要经过先编译,后解释两个步骤

    编译型:高级语言源码 -->机器码(一次性)    生成可执行程序,脱离开发环境,在指定平台上运行。(C/C++/Objective-C/Swift/Kotlin

    解释型:每执行一次,都需要编译一次,效率低,可移植性高(JavaScript/Ruby/Python

    伪编译型:

    Java编译后生成的是与平台无关的字节码(*.class文件),该字节码文件面向JVM,用Java解释器可以来解释执行这个字节码文件。 

     

    JVM(Java Virtual Machine)负责解释字节码文件,任意平台的JVM向编译器提供相同的编程接口(任意平台JVM内部不同),而编译器只需要面向JVM,生成JVM能理解的代码,然后由JVM来解释执行。在一些JVM的实现中,还会将JVM代码转换成特定系统的机器码实现,从而提高执行效率。

    JVM是Java跨平台的关键部分。

      

    开发Java的准备

    下载安装JDK(包括Java编译器、Java运行时环境(JRE)、常用Java类库),即Java标准版开发包

    JRE包含JVM,JVM是核心虚拟机,JRE还包含运行Java程序的其他环境支持。

    ps:如果只是运行Java程序,可以只安装JRE。如果要开发,下载JDK即可,JDK包含JRE。

    Java分为:Java SE(JDK)  、Java  EE (Java EE SDK->包含最新版JDK) 、Java  ME 。

    开发工具:JDK核心,包含了JRE

    源代码:Java核心类库的源代码

    公共JRE:一个独立的JRE系统,会向IE等浏览器和系统注册Java运行时环境,这样系统中任何应用程序都可以使用公共JRE。但是JDK里有JRE,没必要安装公共JRE

    ps:安装路径最好没有空格。

    JDK 9 引入新的JMOD格式,近似JAR格式,但JMOD可以包含本地代码和配置文件。

    设置PATH环境变量

    windows操作系统在Path的一系列路径中依次查找命令

    Linux设置PATH环境变量:

    ①进入当前用户的home路径,然后输入:ls -a

    ②使用无格式编辑器打开 .base_profile 文件

    ③在该文件的PATH变量后添加JDK安装路径

     ④在.base_profile 文件最后添加导出PATH变量的语句

     ⑤重新登录Linux平台,或者执行如下命令,为了运行该文件,让文件设置中PATH变量值生效

     第一个Java程序

    Java源代码可以使用任何无格式的文本编辑器(Windows->记事本/Editplus  |  Linux->VI)

    在记事本中新建一个文本文件,并输入如下代码:

      

    Java严格区分大小写

    将上述文件保存为HelloWorld.java,该文件就是Java程序的源程序了。

    接下来就是编译该Java源文件来生成字节码。

    编译命令:javac

    javac -d destdir srcFile

    通常将字节码文件放在当前路劲下

    javac -d . HelloWorld.java

    运行后在指定路径下会生成一个HelloWorld.class文件

    javac以类为单位生成相应的字节码文件,并且编译命令中省略 -d ,则默认为当前路径。

    ps:还可以使用Editplus 

     

     

    运行Java程序

    运行命令:java

    java Java类名

    ps:java命令后面的参数是Java类名,不是字节码的文件名,也不是源文件名。

    先通过命令行进入HelloWorld.class所在的路径

    输入:

    java HelloWorld

    可以看到输出

     

    ps:同样可以使用Editplus

     

    CLASSPATH环境变量:

    1.4以前版本的JDK中没有设计在运行Java程序时到当前路径下搜索Java类。也就意味着,即使当前路径已经包含了HelloWorld.class ,并在当前路径下执行java命令,系统一样提示找不到HelloWorld 类。

    JDK 1.5以上的版本也可以设置CLASSPATH环境变量(通常用于加载第三方类库)

    如果想在运行Java程序时临时指定JRE搜索Java类的路径,则可以使用-classpath选项(或用-cp选项,-cp是简写,作用完全相同)

    java -classpath dir1;dir2;dir3...;dirN Java

    多个路径在windows平台上以分号隔开,在Linux上以冒号隔开。

  • 相关阅读:
    经典面试题之——如何自由转换两个没有继承关系的字段及类型相同的实体模型,AutoMapper?
    MySQL高效分页-mybatis插件PageHelper改进
    bat/cmd批处理程序设计教程
    除法与模运算的识别-大量除法推导过程
    进程 线程 协程的相关理解
    音素音标
    如何免费的让网站启用HTTPS
    破解笔记
    Linux的.a、.so和.o文件 对比 window下的dll,lib,exe文件
    注册表启动的位置
  • 原文地址:https://www.cnblogs.com/luomei/p/11431093.html
Copyright © 2011-2022 走看看