• Java运行环境的搭建---Windows系统


    1.Java的运行环境

      • jre:Java运行环境            jre    =     Java虚拟机   +    核心类库
      • jdk:Java开发工具集   jdk   =   jre                 +     开发工具 

    2.安装jdk注意事项

      • 安装路径不要包含中文
      • 安装路径不要包含空格

    3. jdk目录介绍

      • bin目录:存放Java的开发工具
        • Java.exe  启动Java虚拟机解释并执行指定的class文件
        • Javac.exe 启动java编译器对指定的java源文件进行编译 
      • db目录:jdk自带的一个轻量级数据库,名字叫做Derby
      • include目录:存放的是调用系统资源的接口文件
      • jre目录:Java运行环境  
      • lib:核心类库  
      • src.zip:Java的源代码

    4.编写Java程序

      • 新建一个TXT文件,将后缀名改为Java

          

      • 格式

          

      • 编写一个main方法,主方法的写法是固定的,是一个程序的入口,代码从主方法开始执行。 

          

    5.运行Java程序

        1)使用Javac.exe对原码进行编译

        • 如果在图形界面点击该可执行程序,则会弹出黑色窗口,因为这种程序不能单独运行,需要一个控制台来运行它,如下。

            

        • 如果不清楚dos命令行可移步到Dos常见命令

        • 使用格式:javac    java源文件

            

        • 编译后产生字节码文件

            

        2)遇到的问题

          在编译过程中,每次编译的时候都需要写上Java源文件的完整路径,如果在任意路径下都可以找到java的开发工具,那么问题就解决了

        • window系统内有一些软件在任意路径下都可以打开,如notepad.exe

            

        • notepad.exe可以直接在命令行打开的原理
          • 在控制台写一个可执行文件的文件名,那么系统首先会在控制台当前路径下去寻找是否存在该文件,如果可以找到指定的文件,那么就执行该文件,如果找不到该文件,那么系统会根据path的环境变量所保存的路径信息下去搜索是否有指定的文件,如果能找到,那么就执行该文件。
          • 在D盘下打开了notepad.exe

                

          • 但是D盘下却不存在notepad.exe          

                

          • 下一步去系统环境变量中寻找,%SystemRoot%就是系统根目录      

                

          • 于是在系统根目录下发现并打开

                

        • 如果Javac也可以在任意路径下打开,那么在以后编译Java程序的时候,就不用输入程序的路径,直接切换到源代码的目录就能直接编译。
        • 设置步骤如下图

        • 那么现在控制台下就可以在任意路径调用Javac.exe了

     

     

        3)编译并运行Java程序

        • 第一步:编译
          • 使用编译器Javac.exe将源码编译为字节码.class文件

              

          • dir命令列出目录,可以看到目录下生成了字节码文件

              

        • 第二部:运行  
          • 使用解释器java.exe运行该程序,控制台输出HelloWorld

              

          • 源码中System.out.println();是打印输出到控制台

              

                  

  • 相关阅读:
    css js 解除网页无法选择进而复制的限制,bd文库无法复制
    Git命令简记
    DDD基本概念-未完成
    多线程隙-IO模型(BIO、NIO、AIO)
    RabbitMQ笔记-保证消息队列高可用
    关于fiddler手机抓包
    spring控制反转是谁在何时何地反转给谁?依赖注入??
    Cookie、Session、Token的区别
    详解Redis中两种持久化机制RDB和AOF
    Java中线程池的抛出策略、阻塞队列、内存溢出
  • 原文地址:https://www.cnblogs.com/TimeIsChoice/p/8406932.html
Copyright © 2020-2023  润新知