精华内容
下载资源
问答
  • Java程序经编译后产生什么
    千次阅读
    2020-12-04 23:14:44

    编译以后会生成 .class文件,也就是字节码文件byte code

    java程序在编译(javac .java文件名 指令)后会产生字节码文件,也就是.class文件。
    根据虚拟机所在系统的不同将字节码文件转变为不同的可执行文件,这也是java程序可跨平台的根据。

    更多相关内容
  • java程序经编译后产生什么?

    万次阅读 2019-07-10 16:34:10
    java的编译过程先是java程序扩展名为java的文件,由java编译 程序将生成java字节码文件,就是class文件然后在java虚拟机中执行。...Java字节码是Java源文件编译产生的中间文件。 更详细相关百度链接 ...

    java的编译过程先是java源程序扩展名为java的文件,由java编译 程序将生成java字节码文件,就是class文件然后在java虚拟机中执行。
    产生:byte code。Java字节码是Java源文件编译产生的中间文件。
    更详细相关百度链接

    展开全文
  • java程序编译后产生什么

    千次阅读 2021-02-12 10:56:46
    什么是编译1、利用编译程序从源语言编写的源程序产生目标程序的过程。2、用编译程序产生目标程序的动作。 编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制...

    什么是编译

    1、利用编译程序从源语言编写的源程序产生目标程序的过程。

    2、用编译程序产生目标程序的动作。 编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。 编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。

    什么是反编译

    计算机软件反向工程(Reverse engineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,某些特定情况下可能推导出源代码。反编译作为自己开发软件时的参考,或者直接用于自己的软件产品中。

    Java类的编译与反编译

    我们在最初学习Java的时候,会接触到两个命令:javac和java,那个时候我们就知道,javac是用来编译Java类的,就是将我们写好的helloworld.java文件编译成helloworld.class文件。

    class文件打破了C或者C++等语言所遵循的传统,使用这些传统语言写的程序通常首先被编译,然后被连接成单独的、专门支持特定硬件平台和操作系统的二进制文件。通常情况下,一个平台上的二进制可执行文件不能在其他平台上工作。而Java class文件是可以运行在任何支持Java虚拟机的硬件平台和操作系统上的二进制文件。

    那么反编译呢,就是通过helloworld.class文件得到java文件(或者说是程序员能看懂的Java文件)

    0ea0b1851ba6afe74caefede35b3c088.png

    java程序编译后会产生什么

    产生:byte code。Java字节码是Java源文件编译产生的中间文件。

    java虚拟机是可运行java字节码的假想计算机 java的跨平台性也是相对与其他编程语言而言的。先介绍一下c语言的编译过程吧先是C语言源程序 也就是c的文件经过C编译程序编译后,生成windows可执行文件exe文件,然后在windows中执行。再介绍java的编译过程先是java源程序扩展名为java的文件,由java编译程序将java字节码文件,就是class文件然后在java虚拟机中执行。机器码是由CPU来执行的。Java编译后是字节码, 电脑只能运行机器码。Java在运行的时候把字节码变成机器码。C/C++在编译的时候直接编译成机器码。

    10cbdfbce46a9dac76c8951d9ba080e9.png

    Java源码编译后会生成一种.class文

    相信大家已经了解到Java具有跨平台的特性,可以“一次编译,到处运行”,在Windows下编写的程序,无需任何修改就可以在Linux下运行,这是C和C++很难做到的。

    那么,跨平台是怎样实现的呢?这就要谈及Java虚拟机(JavaVirtualMachine,简称JVM)。

    JVM也是一个软件,不同的平台有不同的版本。我们编写的件Java源码,编译后会生成一种.class文,称为字节码文件。Java虚拟机就是负责将字节码文件翻译成特定平台下的机器码然后运行。也就是说,只要在不同平台上安装对应的JVM,就可以运行字节码文件,运行我们编写的Java程序。

    而这个过程中,我们编写的Java程序没有做任何改变,仅仅是通过JVM这一”中间层“,就能在不同平台上运行,真正实现了”一次编译,到处运行“的目的。

    经常在网上看到各种标题为“Java程序员”、“PHP程序员”、“C/C++程序员”的招聘帖子,但我感觉这种招聘方式,很难找到好的人才。语言只是一种工具,对一个聪明的程序员来说,用没用过什么工具主要是由他原来的工作需要决定,并不能代表他全部的技能。

    另外,一个软件产品往往涉及很多方面的知识,比如网络、数据库、Cache、编译环境工具等。如果这些必要基础知识不足,很难很好的独立完成一个产品的某个部分。

    另一方面,一个人的聪明程度、对新知识的好奇心、自我驱动意识、为问题找到最佳解决方案的决心,才是他能不能成为一个好程序员的关键。举个例子,我在担任JPushCTO的时候,有位同事本来是服务器端以C语言为主做开发的,完全没有过iOS开发经验,但他表现出对iOS开发很有兴趣,并且在做服务器端开发时,表现出良好的学习能力,后来我把他调到iOS组,负责iOSSDK和APNs相关的工作,结果只花了几个星期,iOSSDK的稳定性大幅提升,解决了多个致命问题。

    之所以用Java作为标题,一是现在以Java语言为主的工作非常之多,另外在学校里就以学习Java为主的人也越来越多。但我发现,从学校就以学习Java这种高级语言为主的人,很多基础知识比较薄弱。高级语言掩盖了太多细节,提高了生产力,但在学习阶段,却不利于基础知识累积。

    软件行业是一个非常强调人的价值的行业,价值就体现在有效的推动产品前进,而语言只是实现这个价值的工具。

    4a8ff77397496716ea569ea631f55bd7.png

    java文件编译后包含的信息

    java编译后生成class文件,包括三个部分:

    一、类信息

    一部分是描述类的信息,包括类的名字、修饰符(public或private)、父类、接口以及注解(annotaTIon)。

    二、变量信息

    一部分是描述类变量的信息,包括每个变量的名字、修饰符、类型和注解(annotaTIon)。

    三、方法信息

    一部分是描述类方法的信息,包括每个方法的名字、修饰符、参数的类型和返回值的类型、方法的注解(annotaTIon),还包括编译后的、字节码形式的方法代码。

    1、每一个编译后的class文件只包括一个类的信息,如果在java源文件中定义了多个类,在编译后会分成多个独立的class文件。

    2、每一个编译后的class文件不包括代码注释;

    3、每个编译后的class文件不包括包名(package)和引用(import),所有的非原始类型引用都以全包名形式出现,这称作内部名称或本质名称。

    4、每个编译后的class包括一个常量池,这个常量池是一个数组,包括数字、字符和类型的常量。

    这些信息通过java提供的Class类能够获取,并通过反射类使用。也是动态编译和java逆向工程的基础。

    展开全文
  • java笔试题

    千次阅读 2021-04-12 11:04:42
    Java程序经编译后产生machine codeB.Java程序经编译后产生byte codeC.Java程序经编译后产生DLLD.以上都不正确1.2 提供Java存取数据库能力的包是()A.java.sqlB.java.awtC.java.langD.java.swing1.3 ...

    第1章       选择题

    1.1 下列语句哪一个正确()

    A. Java程序经编译后会产生machine code

    B.Java程序经编译后会产生byte code

    C.Java程序经编译后会产生DLL

    D.以上都不正确

    1.2 提供Java存取数据库能力的包是()

    A.java.sql

    B.java.awt

    C.java.lang

    D.java.swing

    1.3 执行如下程序代码

    a=0;c=0;

    do{

    --c;

    a=a-1;

    }while(a>0);

    后,C的值是()

    A.0

    B.1

    C.-1

    D.死循环

    1.4 下列哪一种叙述是正确的()

    A.abstract修饰符可修饰字段、方法和类

    B.抽象方法的body部分必须用一对大括号{}包住

    C.声明抽象方法,大括号可有可无

    D.声明抽象方法不可写出大括号

    1.5 下列哪种说法是正确的()

    A.实例方法可直接调用超类的实例方法

    B.实例方法可直接调用超类的类方法

    C.实例方法可直接调用其他类的实例方法

    D.实例方法可直接调用本类的类方法

    1.6 下列说法正确的有()

    A.环境变量可在编译sourcecode时指定

    B.在编译程序时,所能指定的环境变量不包括class path

    C.javac一次可同时编译数个Java源文件

    D.javac.exe能指定编译结果要置于哪个目录(directory)

    1.7 下列说法错误的有()

    A.数组是一种对象

    B.数组属于一种原生类

    C.intnumber=[]={31,23,33,43,35,63}

    D.数组的大小可以任意改变

    1.8 不能用来修饰interface的有()

    A.private

    B.public

    C.protected

    D.static

    1.9 下列说法错误的有()

    A.Java面向对象语言容许单独的过程与函数存在

    B. Java面向对象语言容许单独的方法存在

    C.Java语言中的方法属于类中的成员(member)

    D.Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同

    1.10下列标识符不合法的有()

    A.new

    B.$Usdollars

    C.1234

    D.car.taxi

    第2章       问答题

    2.1 int 和 Integer 有什么区别

    2.2 String 和StringBuffer的区别

    2.3 运行时异常与一般异常有何异同?

    2.4 说出Servlet的生命周期,并说出Servlet和CGI的区别。

    2.5 说出ArrayList,Vector, LinkedList的存储性能和特性

    2.6 HashMap和Hashtable的区别。

    2.7 final, finally, finalize

    展开全文
  • java程序编译后

    2021-03-17 21:28:00
    java程序可以是如下结构,该源程序命名为 HelloWorldApp.java: package javawork.helloworld;...编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为 ( )。 A..classB.javaC..exeD.....
  • 下列说法哪一个是正确的。( B) A.Java程序经编译会产生machine code ...Java字节码是Java源文件编译产生的中间文件,java程序在编译(javac .java文件名 指令)会产生字节码文件,也就是.class...
  • Java 程序经过编译后生成的文件的后缀是答:.class中国大学MOOC: 导致哑蕾现象的原因不包括( )。答:花期延中国大学MOOC: 铸铁的含碳量比铸钢高,所以铸铁的强度比铸钢高。答:错学生撤消处分的程序______答:本人...
  • Java程序编译后生成的是字节码文件,其后缀是.exe。A:对B:错正确答案:错解析:Java程序编译后生成的是字节码文件,其后缀是.exe。A:对B:错相关问题:ZHDY3-2*若室内生起炉子温度从9℃升高到27℃,而室内气压不变,...
  • 编译Java程序文件产生相应的可执行字节码文件,这些文件的扩展名为( )。答:class恒温下,对同一反应来说,下列叙述正确的是答:转化率和平衡常数都可以表示化学反应的进行程度老瞎子在一个名为野羊岰的小山村...
  • 在大家编译java程序的时候,都是会生成一个文件的,作为java新手不清楚java编译后生成什么文件?那么今天我们就给大家讲解一下这方面的内容,大家可以参考下文哦!java文件编译过后会生成一个class文件,里面是以二...
  • java面试题

    2012-08-27 16:43:54
    java面试题(很有用的资料哈)例如: ... Java程序经编译后产生machine code  B. Java程序经编译后产生byte code  C. Java程序经编译后产生DLL  D. 以上都不正确  答案:B    3.下列说法正确的有( )
  • 实验二 Java 程序编译和运行 一, 实验目的 1.巩固 Java 程序程序结构,以及编译、运行的机制和方法 2.学习 Java 的 Eclipse 开发环境的安装 3.学习在 Eclipse 环境下编写 Java 程序 4.观察 Java 程序代码中...
  • 一、前言 最近在学习java,不过一直是在windows的eclipse上做开发。服务器一般都是linux,...本文主要是讲讲如何通过脚本编译和运行java程序的。 二、知识点 1、编译命令 javac [-d] [-o] [-verbose] [-clas...
  • 比如,有的java程序生成一个字节码文件,带有内部类的生成两个。可是有一种情况怎么回事呢?importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;publicclassCardLayoutF...比如,有的java程序生成一...
  • 苹果在OSX中包含了一个全function的Java运行时和开发环境,所以你只需要编写一个Java程序并使用内置的工具来编译和运行它。编写你的第一个程序第一步是编写一个简单的Java程序。 打开一个文本编辑器(内置的TextEdit...
  • 一般情况下一个Java文件代表一个类,在编译时会产生一个字节码.class文件。 但是在Java中 一个源文件中可以包含多个类,但是只能有一个public类,其他的都成为内部类,这时编译时会生成多个字节码文件。一个是那个...
  • Java程序编译过程和执行流程------JVM

    千次阅读 2019-12-16 09:17:01
    程序执行流程我把它划分为以下几个步骤:编辑源码、编译生成class文件、(加载class文件、运行class字节码文件),其中两个步骤都是在jvm虚拟机上执行的。 JVM中把内存分为方法区、Java栈、Java堆、本地方法栈、...
  • 在一个源码文件中(.java)有可能含有多各类或者内部类,在这种情况下编译源码文件就会产生多个字节码文件(.class)
  • Java程序设计教程 第 3 版 课后答案 第一章 填空题 1Java 源程序文件的扩展名是 java Java 源程序经编译后生成 Java 字节码文件其扩 展名是 class 2在 Java 语言中将源代码翻译成 java 字节码文件 时产生的错误称为...
  • S2:在命令行界面进入你的Java程序所在文件目录下 (1)首先要改变盘符:你的文件在哪个盘下面就改到哪个盘 例如:在E盘,在命令行界面输入: E:(盘名加冒号) (2)找到Java文件所在的文件路径,复制 (注意: 无包...
  • 在控制台编译运行java程序详细指导

    千次阅读 2021-02-12 13:52:59
    控制台编译运行.java文件首先在cmd中输入java –version确定java环境变量是否已经配好其次在cmd中输入javac –version确定javac环境变量是否已经配好在用cd命令转到要编译....,用javac classname.java编译java文件...
  • 在控制台编译运行java程序

    千次阅读 2020-05-04 07:35:52
    在用cd命令转到要编译.java文件的路径,用javac classname.java编译java文件,将会看到产生了一个.class文件; 其次,若要运行该.class文件,则直接输入java classname即可(不用加后缀名);...
  • 使用命令行编译、运行Java程序

    万次阅读 多人点赞 2018-07-08 19:12:21
    在不借助IDE的情况下,如何编译、运行Java程序。 使用javac 命令,可以通过只敲击javac 看到各种命令参数。 必学参数 -d -cp,这俩下面会讲到 如果javac命令不能用,看一下环境变量是否没配对。 我们从简单到...
  • 使用javac编译java文件

    千次阅读 2021-02-12 13:49:01
    过程中遇到的几个问题记录如下:1.java -version正常显示java版本,但是javac却显示【不是内部外部命令】原因:JAVA_HOME设置成了用户环境变量,Path里用%JAVA_HOME%时没有正确解释出来,在cmd里echo %Path%就能看...
  • Java最初诞生的目的就是为了在不依赖于特定的物理硬件和操作系统环境下运行,那么也就是说Java程序实现跨平台特性的基石其实就是字节码。Java之所以能够解决程序的安全性问题、跨平台移植性等问题,最主要的原因就是...
  • eclipse编译java文件

    千次阅读 2021-03-14 03:38:20
    本文收集整理关于eclipse编译java文件的相关议题,使用内容导航快速到达。内容导航:Q1:eclipse编译java文件new一个project,选择java project随便起个名字,完成,在project中右键新建一个package,起个名字,再...
  • Java选择题

    千次阅读 2019-06-17 21:31:00
    1. 下列语句哪一个正确(B) ... Java程序经编译后产生machine code B. Java程序经编译后产生byte code C. Java程序经编译后产生DLL D. 以上都不正确 2.下列说法正确的有(C) A. class 中的...
  • Java 程序设计教程 第 3 版 课后答案 第一章 填空题 1Java程序文件的扩展名是javaJava程序经编译后生成 Java 字节码文件其扩 展名是class 2 在Java 语言中将源代码翻译成java 字节码文件时产生的错误称为编译...
  • 展开全部使用Java语言编写的源程序保存时的文件扩展名为“.java”。经过编译之后会生成62616964757a686964616fe58685e5aeb931333436316366“.class”为后缀的文件。源代码(也称源程序)是指未编译的按照一定的程序...
  • 在一个java源文件中可以声明多个class。 但是,只能最多有一个类声明为public的。 而且要求声明为public的类的类名必须与源文件名相同。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 332,984
精华内容 133,193
关键字:

java程序经编译后产生

java 订阅
友情链接: fai_v31.zip