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

P10—P11:Java程序的编译和运行

编译阶段(P10)

  • Java程序的运行包括两个阶段:编译阶段、运行阶段
  • 编译阶段主要任务:对Java源程序(以.java为后缀的文件),进行检查其是否符合Java的语法规则。如果符合,则生成字节码文件(以.class为后缀的文件)
  • 注意:字节码文件并不是二进制文件,无法直接在操作系统直接运行。
  • 编译过程:
    1. 程序员需要在硬盘的某个位置上,新建一个以.java为后缀的源文件,用于保存Java源代码或者源程序。
    2. 在DOS命令行窗口中,使用JDK自带的javac.exe命令( javac java源文件的路径),对Java源程序的进行编译,生成生成字节码文件。
  • 一个Java源文件可以编译生成多个字节码文件,并且源文件的删除不会影响字节码文件的运行。
  • 编译结束后,可以将class文件拷贝到其他操作系统中运行,实现跨平台。
    在这里插入图片描述

Java的运行阶段(P11)

  • JDK安装之后,除了自带的编译器javac.exe之外,还有一个工具java.exe
  • 可以在DOS命令窗口中,输入java 类名。例如在硬盘上有一个A.class文件,可以在DOS命令窗口中输入java A运行该文件。
  • 运行过程(以A.class为例):
    1. 打开DOS窗口,切换到A.class的目录下,输入java A
    2. java.exe命令就会启动Java虚拟机(JVM),JVM会启动类加载器ClassLoader。
    3. ClassLoader会去硬盘上搜索A.class文件,将该文件装载到JVM中。
    4. JVM将A.class字节码文件解释成二进制文件
    5. 最后,操作系统执行二进制和底层硬件平台进行交互

在这里插入图片描述

相关文章:

P10—P11:Java程序的编译和运行

编译阶段(P10) Java程序的运行包括两个阶段:编译阶段、运行阶段编译阶段主要任务:对Java源程序(以.java为后缀的文件),进行检查其是否符合Java的语法规则。如果符合,则生成字节码文…...

【Docker】Windows中打包dockerfile镜像导入到Linux

【Docker】Windows中打包dockerfile镜像导入到Linux 大家好 我是寸铁👊 总结了一篇【Docker】Windows中打包dockerfile镜像导入到Linux✨ 喜欢的小伙伴可以点点关注 💝 前言 今天遇到一个新需求,如何将Windows中打包好的dockerfile镜像给迁移…...

数据结构之单链表实现(JAVA语言+C语言)

一、理论 1 单链表结构 2 增、删、查 、改思路 (增)直接添加放到最后即可。按顺序添加:找到要修改的节点的前一个节点,插入新节点()。(改)要修改的节点修改内容即可。(…...

docker 安装Sentinel

1.拉取镜像:docker pull bladex/sentinel-dashboard 2.运行镜像:docker run --name sentinel -d -p 8858:8858 -d bladex/sentinel-dashboard 3. 访问地址: 本地地址:http://localhost:8858 (默认端口为8080) 远程地址&#xf…...

通过内网穿透、域名解析实现本地服务部署到公网的架构设计方案

本文主要是总结这些年自己在家玩互联网服务的心得收获, 同时随着年龄增大, 发现脑子确实越来越不好用, 只有记录到笔记中才是真正有意义的。 学生时期做了一些实验, 比如给实验室做日报系统、管理10多台服务器,当时学习了很多架构设计的知识,比如集群化…...

语音陪玩交友软件系统程序-app小程序H5三端源码交付,支持二开!

电竞行业的发展带动其周边产业的发展,绘制着游戏人物图画的抱枕、鼠标垫、海报销量极大,电竞游戏直播、游戏教程短视频也备受人们喜爱,自然,像游戏陪练、代练行业也随之生长起来,本文就来讲讲,从软件开发角…...

import关键字的使用

- import : 导入 - import语句来显式引入指定包下所需要的类。相当于import语句告诉编译器到哪里去寻找这个类。为了使用定义在其它包中的 Java 类,需用 import 语句来显式引入指定包下所需要的类。相当于 import 语句告诉编译器到哪里去寻找这个类 。 语法格式 …...

江协STM32:点亮第一个LED灯和流水灯

很多单片机都是高电平弱驱动,低电平强驱动,所以这里是低电平有效 点亮一个LED灯 操作STM32的GPIO需要三个操作: 第一个使用RCC开启GPIO的时钟 第二步使用GPIO_Init函数初始化GPIO 第三步使用输出或输入函数控制GPIO 1.使用RCC开启GPIO的时…...

设计模式之建造者模式精讲

也叫生成器模式。将一个复杂的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 在建造者模式中,有如下4个角色: 抽象建造者(Builder):用于规范产品的各个组成部分,并进行抽象&…...

vue3源码解析——watch和watchEffect区别

watch和watchEffect是Vue 3.0中新增的两个响应式API,用于监听数据的变化。watch适用于需要获取新值和旧值,或者需要懒执行的场景,而watchEffect适用于需要监听多个数据源,并且需要立即执行的场景。它们之间的区别如下:…...

微服务(基础篇-006-Docker)

目录 初识Docker(1) Docker解决的问题(1.1) Docker与虚拟机(1.2) 镜像和容器(1.3) Docker和DockerHub(1.4) docker架构(1.5) 安…...

深度学习算法概念介绍

前言 深度学习算法是一类基于人工神经网络的机器学习方法,其核心思想是通过多层次的非线性变换,从数据中学习表示层次特征,从而实现对复杂模式的建模和学习。深度学习算法在图像识别、语音识别、自然语言处理等领域取得了巨大的成功&#xf…...

查找算法及查找常用数据结构总结

1.顺序表查找 基本方法: 设查找表以一维数组来存储,要求在此表中查找出关键字的值为x的元素的位置,若查找成功,则返回其位置(即下标),否则,返回一个表示元素不存在的下标&#xff0…...

大语言模型---强化学习

本文章参考,原文链接:https://blog.csdn.net/qq_35812205/article/details/133563158 SFT使用交叉熵损失函数,目标是调整参数使模型输出与标准答案一致,不能从整体把控output质量 RLHF(分为奖励模型训练、近端策略优化…...

前端三剑客 —— CSS (第二节)

目录 内容回顾: CSS选择器*** 属性选择器 伪类选择器 1):link 超链接点击之前 2):visited 超链接点击之后 3):hover 鼠标悬停在某个标签上时 4):active 鼠标点击某个标签时,但没有松开 5):fo…...

牛客NC31 第一个只出现一次的字符【simple map Java,Go,PHP】

题目 题目链接: https://www.nowcoder.com/practice/1c82e8cf713b4bbeb2a5b31cf5b0417c 核心 Map参考答案Java import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*…...

软考系统架构设计师(摘抄)01

架构师承担的责任 系统架构师设计师是承担系统架构设计的核心角色,他不仅是连接用户需求和系统进一步设计与实现的桥梁,也是系统开发早期阶段质量保证的关键角色。系统架构师就是项目的总设计师,他是一个既需要掌控整体又需要洞悉局部瓶颈&a…...

5G无线接入网和接口协议

**部分笔记** 4.3无线协议架构 NR无线协议分为两个平面:用户面和控制面。 用户面(UP):协议栈及用户数据采用的协议 控制面(Control Plane,CP)协议栈即系统的控制信令传输采用的协议簇。 虚线标注的是信令数据的流向。一个UE在…...

【力扣刷题日记】1173.即时食物配送I

前言 练习sql语句,所有题目来自于力扣(https://leetcode.cn/problemset/database/)的免费数据库练习题。 今日题目: 1173.即时食物配送I 表:Delivery 列名类型delivery_idintcustomer_idintorder_datedatecustomer…...

2024年github之node排行榜top50

如果有帮助到您还请动动手帮忙点赞,关注,评论转发,感谢啦!💕💕💕😘😘😘 本文由Butterfly一键发布工具发布 2024年github之node排行榜top50 语言star项目名称…...

赛力斯第一季营收257亿:计入政府补助6亿 扣非后净利1亿同比降74%

雷递网 雷建平 4月29日赛力斯集团股份有限公司(简称:“赛力斯”,证券代码:601127)今日发布2026年第一季度的财报。财报显示,赛力斯2026年第一季度营收为257.46亿元,较上年同期的191.47亿元增长3…...

ARM异常处理与ESR寄存器深度解析

1. ARM异常处理机制概述 在ARMv8/v9架构中,异常处理是处理器响应硬件或软件事件的核心机制。当发生中断、系统调用、指令执行错误等事件时,处理器会暂停当前执行流,跳转到预设的异常向量表处执行对应的处理程序。异常处理涉及多个关键组件协同…...

如何用Win11Debloat一键清理Windows系统:让电脑运行如新的完整指南

如何用Win11Debloat一键清理Windows系统:让电脑运行如新的完整指南 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to decl…...

CSS移动端防止软键盘顶起页面_设置body高度或固定容器尺寸

应使用 JavaScript 动态监听 focusin/blur 和 resize 事件,结合 window.innerHeight 实时更新容器高度,避免依赖 100vh 或 viewport height 配置;关键交互元素禁用 position: fixed,改用 absolute relative 布局。软键盘弹出后页…...

别再手动抄数据了!用VB.NET写个脚本,一键批量导出CATIA零件属性到Excel

用VB.NET实现CATIA零件属性批量导出Excel的高效方案 机械工程师每天面对数百个CATIA零件文件时,手动记录PartNumber、Revision等属性不仅耗时耗力,还容易出错。我曾在一个航空零部件项目中,需要处理超过2000个零件的BOM表,手工操作…...

如何在DbGate中快速连接MySQL数据库:完整配置指南与实用技巧

如何在DbGate中快速连接MySQL数据库:完整配置指南与实用技巧 【免费下载链接】dbgate Database manager for MySQL, PostgreSQL, SQL Server, MongoDB, SQLite and others. Runs under Windows, Linux, Mac or as web application 项目地址: https://gitcode.com/…...

马斯克起诉OpenAI开庭,索赔最高1800亿美元,案件责任认定5月21日结束

奥尔特曼、布罗克曼到场,马斯克未出席 当地时间4月27日上午,案件如期开庭,进入陪审团遴选阶段。据彭博社报道,奥尔特曼和布罗克曼亲自到场,这对于知名科技高管来说较为罕见,一般不会出庭,马斯克…...

如何轻松为GTNH整合包安装中文汉化:新手友好的完整指南

如何轻松为GTNH整合包安装中文汉化:新手友好的完整指南 【免费下载链接】Translation-of-GTNH GTNH整合包的汉化 项目地址: https://gitcode.com/gh_mirrors/tr/Translation-of-GTNH GTNH汉化项目是专为GregTech: New Horizons整合包打造的中文语言包&#x…...

CentOS7日志管理终极指南:从journalctl持久化配置到自动清理(防磁盘爆满)

CentOS7日志管理终极指南:从journalctl持久化配置到自动清理(防磁盘爆满) 当服务器运行数月后突然告警磁盘空间不足,80%的运维工程师首先会检查/var/log目录——这个看似不起眼的日志仓库往往隐藏着吞噬磁盘的"隐形杀手"…...

别墅装修工期到底多长算正常?一份给业主的项目排期对照表

有个事挺反直觉的:越大的房子,工期越不能催。前段时间在一个业主群里看到有人问“300平的联排,装修公司说至少要10个月,是不是在拖我时间”,底下回复五花八门,有人说“我家180平装了6个月就入住了”&#x…...