当前位置: 首页 > article >正文

Java 基础入门篇(一)—— Java 概述

文章目录

  • 一、Java 概述
  • 二、Java 的产品 JDK
    • 2.1 JDK 安装
    • 2.2 Java与 Javac 介绍
    • 2.3 Java 程序的开发步骤
  • 三、Java 程序的执行原理
  • 四、JDK 的组成
  • 五、Java 的跨平台工作原理


一、Java 概述

  Java 是 sun 公司在 1995 年推出的一门计算机高级编程语言,其语言风格接近人类的自然语言,写程序简单易懂。Java 的流行度很高,商业占用率很高,并且有很重要的特性:可移植性。

  Java的技术体系:JavaSE 标准版JavaEE 企业版、JavaME 小型版。标准版,指 Java 技术的核心和基础。企业版,指大型互联网企业级解决方案。小型版,指移动应用的解决方案。


二、Java 的产品 JDK

Java 的 产品是 JDK,又称 Java 开发者工具包,必须安装 JDK 才能使用 Java 语言。


2.1 JDK 安装

Oracle官网下载:https://www.oracle.com/java/technologies/downloads/

环境变量Path的配置:

  • 目前较新的 JDK 安装时会自动配置 javac、java 程序的路径到 Path 环境变量中去,因此 javac、java可以直接使用。(注:老版本的 JDK 没有配置 Path 环境变量,需要自己手动配置)
  • 在环境变量里面设置 JDK 的 bin 目录的地址,JAVA_HOME 是 JDK 所在目录,如:
    在这里插入图片描述
  • JDK 1.8 版本安装参考:jdk1.8的安装与环境变量配置
  • 同时安装两个版本的JDK参考:同时安装两个jdk

验证 JDK 安装成功的方式:
  查询 JDK 的版本号,在 cmd 命令行窗口中分别输入 javac -versionjava -version 看版本提示,如果版本提示与自己安装的版本号一致,则代表 JDK 环境搭建成功。


2.2 Java与 Javac 介绍

在这里插入图片描述
注:Java 程序是高级语言,计算机底层是硬件不能识别这些语言,必须先通过 javac 编译工具进行翻译,然后再通过 java 执行工具执行才可以驱动机器干活。


2.3 Java 程序的开发步骤

编写代码、编译代码、运行代码

在这里插入图片描述
执行 HelloWorld.java 文件,先输入命令 javac HelloWorld.java,再输入命令 java HelloWorld

在这里插入图片描述
注:jdk11 开始支持 java 直接运行源代码文件。


三、Java 程序的执行原理

Java程序最终会翻译,解释成计算机能识别的机器语言:000111…这样的形式驱动机器干活。

补充:BUG,代表程序出现问题或者漏洞的意思;DEBUG,解决问题的意思。


四、JDK 的组成

JVM:虚拟机真正运行 Java 程序的地方
核心类库:Java自己写好的程序,给程序员自己的程序调用的。
JRE:Java的运行环境。
JDK:Java开发工具包,包括上面所有。

在这里插入图片描述

  运行 HelloWorld.java 程序,首先需要通过 javac 开发工具进行编译,然后通过 java 开发工具会将编译后的 class 文件送入 JVM 中,在 JVM 运行的过程中,会调用一些核心类库。


五、Java 的跨平台工作原理

一次编译,处处可用。
在这里插入图片描述


文章参考:Java入门基础视频教程,java零基础自学就选黑马程序员Java入门教程(含Java项目和Java真题)


http://www.kler.cn/news/16714.html

相关文章:

  • CF1060E Sergey and Subway
  • 并发编程之Atomic原子操作类
  • 【华为OD机试真题】计算网络信号 (javaC++python)100%通过率 超详细代码注释
  • 【计算机视觉】ViT:代码逐行解读
  • linux入门---软硬链接
  • 支持轴体热插拔的平价机械键盘,全尺寸带灯效,雷柏V700DIY上手
  • linux 设置开机启动不同方式
  • Linux系统中查看日志的命令
  • CentOS软件那么老为什么大家还要用它?
  • 为什么在马云成功前就有那么多影像留下来?
  • SpringBoot调取OpenAi接口实现ChatGpt功能
  • rac部署前配置互信
  • CUDA编程(六):代码分析与调试
  • 死信队列
  • Vue3透传Attributes
  • Crowdsoure的简单介绍
  • Android Signal 使用
  • 关于使用Notion的board做工作安排这件事
  • 『Linux』第九讲:Linux多线程详解(一)_ 线程概念 | 线程控制之线程创建 | 虚拟地址到物理地址的转换
  • 云原生技术概谈
  • 医院安全(不良)事件报告系统 PHP语言实现
  • 【华为/华三】PPP
  • springbean 并发安全
  • Vue3中如何实现数字翻牌效果?
  • Redis-哈希
  • 互联网摸鱼日报(2023-04-29)
  • Docker基本管理
  • 少儿编程scratch
  • 7-1 设计一个学生类和它的一个子类——本科生类(interface接口)
  • PyTorch机器学习与深度学习技术方法