电商网站建设方案PPT网站支付接口怎么做
- 作者: 五速梦信息网
- 时间: 2026年03月21日 11:24
当前位置: 首页 > news >正文
电商网站建设方案PPT,网站支付接口怎么做,全网万能搜索引擎,沈阳网站建站推广文章目录 版权声明java虚拟机的组成字节码文件打开字节码文件的姿势字节码文件的组成魔数#xff08;基本信息#xff09;主副版本号#xff08;基本信息#xff09;主版本号不兼容的错误解决方法基本信息常量池方法 字节码文件的常用工具javap -v命令jclasslib插件阿里art… 文章目录 版权声明java虚拟机的组成字节码文件打开字节码文件的姿势字节码文件的组成魔数基本信息主副版本号基本信息主版本号不兼容的错误解决方法基本信息常量池方法 字节码文件的常用工具javap -v命令jclasslib插件阿里arthas 版权声明
本博客的内容基于我个人学习黑马程序员课程的学习笔记整理而成。我特此声明所有版权属于黑马程序员或相关权利人所有。本博客的目的仅为个人学习和交流之用并非商业用途。我在整理学习笔记的过程中尽力确保准确性但无法保证内容的完整性和时效性。本博客的内容可能会随着时间的推移而过时或需要更新。若您是黑马程序员或相关权利人如有任何侵犯版权的地方请您及时联系我我将立即予以删除或进行必要的修改。对于其他读者请在阅读本博客内容时保持遵守相关法律法规和道德准则谨慎参考并自行承担因此产生的风险和责任。本博客中的部分观点和意见仅代表我个人不代表黑马程序员的立场。
java虚拟机的组成
JVM包含以下组成部分 类加载器Class Loader负责将Java字节码加载到JVM中并将其转换为JVM可以理解的格式。 运行时数据区Runtime Data AreaJVM在运行时会将内存划分为不同的数据区域包括方法区、堆、栈、程序计数器等用于存储程序运行时所需要的数据。 执行引擎Execution Engine负责执行Java字节码将其转换为机器码并执行。 本地方法接口Native Interface提供了与本地代码交互的接口可以使用C、C等语言编写本地代码并通过JNIJava Native Interface与Java程序交互。 Java标准库Java API提供了大量的类和接口包括I/O、网络、集合、线程等常用功能。 #mermaid-svg-U01nNLLA8fJ3o1AU {font-family:“trebuchet ms”,verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-U01nNLLA8fJ3o1AU .error-icon{fill:#552222;}#mermaid-svg-U01nNLLA8fJ3o1AU .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-U01nNLLA8fJ3o1AU .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-U01nNLLA8fJ3o1AU .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-U01nNLLA8fJ3o1AU .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-U01nNLLA8fJ3o1AU .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-U01nNLLA8fJ3o1AU .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-U01nNLLA8fJ3o1AU .marker{fill:#333333;stroke:#333333;}#mermaid-svg-U01nNLLA8fJ3o1AU .marker.cross{stroke:#333333;}#mermaid-svg-U01nNLLA8fJ3o1AU svg{font-family:“trebuchet ms”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-U01nNLLA8fJ3o1AU .label{font-family:“trebuchet ms”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-U01nNLLA8fJ3o1AU .cluster-label text{fill:#333;}#mermaid-svg-U01nNLLA8fJ3o1AU .cluster-label span{color:#333;}#mermaid-svg-U01nNLLA8fJ3o1AU .label text,#mermaid-svg-U01nNLLA8fJ3o1AU span{fill:#333;color:#333;}#mermaid-svg-U01nNLLA8fJ3o1AU .node rect,#mermaid-svg-U01nNLLA8fJ3o1AU .node circle,#mermaid-svg-U01nNLLA8fJ3o1AU .node ellipse,#mermaid-svg-U01nNLLA8fJ3o1AU .node polygon,#mermaid-svg-U01nNLLA8fJ3o1AU .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-U01nNLLA8fJ3o1AU .node .label{text-align:center;}#mermaid-svg-U01nNLLA8fJ3o1AU .node.clickable{cursor:pointer;}#mermaid-svg-U01nNLLA8fJ3o1AU .arrowheadPath{fill:#333333;}#mermaid-svg-U01nNLLA8fJ3o1AU .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-U01nNLLA8fJ3o1AU .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-U01nNLLA8fJ3o1AU .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-U01nNLLA8fJ3o1AU .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-U01nNLLA8fJ3o1AU .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-U01nNLLA8fJ3o1AU .cluster text{fill:#333;}#mermaid-svg-U01nNLLA8fJ3o1AU .cluster span{color:#333;}#mermaid-svg-U01nNLLA8fJ3o1AU div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:“trebuchet ms”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-U01nNLLA8fJ3o1AU :root{–mermaid-font-family:“trebuchet ms”,verdana,arial,sans-serif;} Java Virtual Machine Runtime Data Area Loads Loads Used by Used by Used by Controls Calls Interacts with Optional: JIT Compiler Class Loader Execution Engine Native Interface Java Standard Library Method Area Heap Stacks Program Counter Register Native Method Stack 字节码文件
打开字节码文件的姿势
使用Jclasslib工具idea中可以直接安装jclasslib插件 然后打开字节码文件后选择工具栏中的视图-shoe ByteCode with jclasslib即可 如果源码文件修改后字节码文件为未更新选择构建重新编译文件即可
字节码文件的组成
Java字节码文件是一种中间代码它包含了Java程序的编译版本。字节码文件的组成结构主要包括以下几个部分 #mermaid-svg-66VJ3BElwsdEpLXX {font-family:“trebuchet ms”,verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-66VJ3BElwsdEpLXX .error-icon{fill:#552222;}#mermaid-svg-66VJ3BElwsdEpLXX .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-66VJ3BElwsdEpLXX .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-66VJ3BElwsdEpLXX .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-66VJ3BElwsdEpLXX .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-66VJ3BElwsdEpLXX .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-66VJ3BElwsdEpLXX .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-66VJ3BElwsdEpLXX .marker{fill:#333333;stroke:#333333;}#mermaid-svg-66VJ3BElwsdEpLXX .marker.cross{stroke:#333333;}#mermaid-svg-66VJ3BElwsdEpLXX svg{font-family:“trebuchet ms”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-66VJ3BElwsdEpLXX .label{font-family:“trebuchet ms”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-66VJ3BElwsdEpLXX .cluster-label text{fill:#333;}#mermaid-svg-66VJ3BElwsdEpLXX .cluster-label span{color:#333;}#mermaid-svg-66VJ3BElwsdEpLXX .label text,#mermaid-svg-66VJ3BElwsdEpLXX span{fill:#333;color:#333;}#mermaid-svg-66VJ3BElwsdEpLXX .node rect,#mermaid-svg-66VJ3BElwsdEpLXX .node circle,#mermaid-svg-66VJ3BElwsdEpLXX .node ellipse,#mermaid-svg-66VJ3BElwsdEpLXX .node polygon,#mermaid-svg-66VJ3BElwsdEpLXX .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-66VJ3BElwsdEpLXX .node .label{text-align:center;}#mermaid-svg-66VJ3BElwsdEpLXX .node.clickable{cursor:pointer;}#mermaid-svg-66VJ3BElwsdEpLXX .arrowheadPath{fill:#333333;}#mermaid-svg-66VJ3BElwsdEpLXX .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-66VJ3BElwsdEpLXX .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-66VJ3BElwsdEpLXX .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-66VJ3BElwsdEpLXX .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-66VJ3BElwsdEpLXX .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-66VJ3BElwsdEpLXX .cluster text{fill:#333;}#mermaid-svg-66VJ3BElwsdEpLXX .cluster span{color:#333;}#mermaid-svg-66VJ3BElwsdEpLXX div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:“trebuchet ms”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-66VJ3BElwsdEpLXX :root{–mermaid-font-family:“trebuchet ms”,verdana,arial,sans-serif;} Magic Number Version Constant Pool Access Flags Class Index Parent Class Index Interface Indexes 类 接口 Field Table Method Table 字段信息 方法信息 Attribute Table 魔数基本信息
魔数Magic NumberJava字节码文件的开头四个字节是一个魔数它是一个特殊的标识用于表明这是一个有效的字节码文件。 文件是无法通过文件扩展名来确定文件类型的文件扩展名可以随意修改不影响文件的内容。软件使用文件的头几个字节文件头去校验文件的类型如果软件不支持该种类型就会出错魔数的数值为0xCAFEBABE。
主副版本号基本信息
版本信息紧随魔数后的两个字节表示Java字节码文件的主版本号和次版本号。 主副版本号指的是编译字节码文件的JDK版本号主版本号用来标识大版本号JDK1.0-1.1使用了45.0-45.3JDK1.2是46之后每升级一个大版本就加1副版本号是当主版本号相同时作为区分不同版本的标识一般只需要关心主版本号。版本号的作用主要是判断当前字节码的版本和运行时的JDK是否兼容 主版本号不兼容的错误解决方法
解决以下由于主版本号不兼容导致的错误 两种方案
升级JDK版本容易引发其他的兼容性问题并且需要大量的测试建议采用将第三方依赖的版本号降低或者更换依赖以满足JDK版本的要求
基本信息
上面的魔数和主副版本号都属于基本信息部分基本信息还包含 访问标志Access Flags这个字段定义了类或接口的访问权限例如public、final、abstract等。类和父类信息字节码文件包括了对当前类的名称和父类的名称的引用。这些引用通常以全限定名的形式出现例如java/lang/Object。接口表Interfaces这个表格包含了类实现的接口的索引用于描述类的继承关系。
常量池
常量池Constant Pool它是一个表格结构用于存储字面值、符号引用、字段和方法的描述等各种常量。 字节码文件中常量池的作用避免相同的内容重复定义节省空间常量池在字节码文件中起到类似符号表的作用它包含了类文件中用到的各种符号和字面值。常量池中的常量索引从1开始0被用于表示不引用任何常量。字节码指令中通过编号引用到常量池的过程称之为符号引用
字段表Fields这个表格包含了类的字段的描述包括字段名、字段类型以及访问标志。属性表Attributes每个类、字段和方法可以包含属性表用于存储额外的信息。属性表通常包括源代码行号、局部变量表信息、异常处理信息等。字节码指令集字节码文件包含了实际的字节码指令这些指令定义方法的具体操作和行为。字节码指令集是由一系列操作码opcode和操作数组成用于执行方法中的逻辑。
方法
字节码中的方法区域是存放字节码指令的核心位置字节码指令的内容存放在方法的Code属性中 操作数栈是临时存放数据的地方局部变量表是存放方法中的局部变量的位置 ii的执行流程 ii的执行流程 int i 0; i i; 最终i的值是多少答案是0通过分析字节码指令发现i先把0取出来放入临时的操作数栈中接下来对i进行加1i变成了1最后再将之前保存的临时值0放入i最后i就变成了0。
字节码文件的常用工具
javap -v命令
javap是JDK自带的反编译工具可以通过控制台查看字节码文件的内容。适合在服务器上查看字节码文件内容。直接输入javap查看所有参数输入javap -v 字节码文件名称 查看具体的字节码信息。如果jar包需要先使用 jar –xvf 命令解压)
jclasslib插件
使用Jclasslib工具idea中可以直接安装jclasslib插件 然后打开字节码文件后选择工具栏中的视图-shoe ByteCode with jclasslib即可 如果源码文件修改后字节码文件为未更新选择构建重新编译文件即可
阿里arthas Arthas 是一款线上监控诊断产品通过全局视角实时查看应用 load、内存、gc、线程的状态信息并能在不修改应用代码的情况下对业务问题进行诊断大大提升线上问题排查效率。官网 具体使用可以去B站或官网学习使用
- 上一篇: 电商网站建设的核心是什么wordpress 搜索
- 下一篇: 电商网站建设费用价格广告网站怎么做的
相关文章
-
电商网站建设的核心是什么wordpress 搜索
电商网站建设的核心是什么wordpress 搜索
- 技术栈
- 2026年03月21日
-
电商网站建设存在的问题和处理方案闸北网站建设
电商网站建设存在的问题和处理方案闸北网站建设
- 技术栈
- 2026年03月21日
-
电商网站建设成本外贸网站模版
电商网站建设成本外贸网站模版
- 技术栈
- 2026年03月21日
-
电商网站建设费用价格广告网站怎么做的
电商网站建设费用价格广告网站怎么做的
- 技术栈
- 2026年03月21日
-
电商网站建设服务酒店微信网站建设
电商网站建设服务酒店微信网站建设
- 技术栈
- 2026年03月21日
-
电商网站建设计划书php 大型网站开发教程
电商网站建设计划书php 大型网站开发教程
- 技术栈
- 2026年03月21日






