Java程序vc怎么运行程序

一个java程序是怎样运行起来的(1) - CSDN博客
一个java程序是怎样运行起来的(1)
首先编写一测试程序
public class Test {
public static void main(String[] args){
System.out.println(&test&);
}执行javac Test.java 得到Test.class文件(编译过程有点复杂,这里先不看)
执行java Test,控制台输出&test&,想要弄清楚java程序是怎么运行起来首先得了解清楚class文件
看下Test.class里究竟是什么东西,class文件的内容如下:
上图中都是以16进制表示,接下来挨个分析其中的内容表示什么意思。class文件中存储的数据可以参考下表:
class_minor_version
class_major_version
constant_pool_count
constant_pool
constant_pool_count - 1
access_flags
this_class
super_class
interfaces_count
interfaces
interfaces_count
fields_count
field_info
fields_count
methods_count
method_info
methods_count
attribute_count
attribute_info
attributes
attributes_count
1、magic 魔数
CA FE BA BE
魔数,确定该文件是否是虚拟机可以接受的文件
2、class文件版本信息
00 00 00 33
class文件的版本号,51表示jdk1.7.0
3.1常量池入口
常量池数量为29-1=28,每个类只有一个常量池
常量池中放了字符串,常量值,类名称,字段名,方法名等,反编译下Test.class,看看常量池中存放了哪些东西
Constant pool:
#1 = Methodref
java/lang/Object.&&init&&:()V
#2 = Fieldref
java/lang/System.out:Ljava/io/PrintS
#3 = String
#4 = Methodref
java/io/PrintStream.println:(Ljava/lang/S)V
#5 = Class
#6 = Class
java/lang/Object
#10 = Utf8
LineNumberTable
#11 = Utf8
#12 = Utf8
([Ljava/lang/S)V
#13 = Utf8
SourceFile
#14 = Utf8
#15 = NameAndType
&&init&&:()V
#16 = Class
java/lang/System
#17 = NameAndType
out:Ljava/io/PrintS
#18 = Utf8
#19 = Class
java/io/PrintStream
#20 = NameAndType
println:(Ljava/lang/S)V
#21 = Utf8
#22 = Utf8
java/lang/Object
#23 = Utf8
java/lang/System
#24 = Utf8
#25 = Utf8
Ljava/io/PrintS
#26 = Utf8
java/io/PrintStream
#27 = Utf8
#28 = Utf8
(Ljava/lang/S)V常量池中的项目类型有:
CONSTANT_Utf8_info & & &tag标志位为1, & UTF-8编码的字符串,比如类或接口的全限定名,参数名等
CONSTANT_Integer_info &tag标志位为3, int整型字面量
CONSTANT_Float_info & & tag标志位为4, float浮点型字面量
CONSTANT_Long_info & & tag标志位为5, long长整形字面量
CONSTANT_Double_info &tag标志位为6, double双精度字面量
CONSTANT_Class_info & &tag标志位为7, 类或接口的符号引用,指向包含字符串字面值的CONSTANT_Utf8表
CONSTANT_String_info & &tag标志位为8,字符串类型的字面量,指向包含字符串字面值的CONSTANT_Utf8表
CONSTANT_Fieldref_info &tag标志位为9, &字段的符号引用,指向包含该字段所属类名的CONSTANT_Utf8表
CONSTANT_Methodref_info &tag标志位为10,类中方法的符号引用,指向包含该方法所属类型的CONSTANT_Utf8表
CONSTANT_InterfaceMethodref_info tag标志位为11, 接口中方法的符号引用
CONSTANT_NameAndType_info &tag 标志位为12,字段和方法的名称以及类型的符号引用
3.2常量池内容
接上,继续分析class中的内容,参照
,看下常量池中究竟是什么东西
常量池1-----0A 00 06 00 0F & //
& 1,0A---tag为10,表示第一个常量类型为CONSTANT_Methodref,参照官方文档,CONSTANT_Methodref的结构为
CONSTANT_Methodref_info {
u2 name_and_type_
所以后面跟了4个字节
& 2,00 06---声明当前方法类描述符索引值为6 & & // &java/lang/Object
& 3,00 0F---当前方法的名称和类型索引值为15 &// &&&init&&:()V
所以,结合上文中反编译出的内容来看,这几个16进制翻译过来正好是
#1 = Methodref
java/lang/Object.&&init&&:()V
常量池2----09 00 10 00 11
& 1,09---tag为9,类型为CONSTANT_Fieldref
& 2,00 10---声明当前方法类描述符索引值为16 // java/lang/System
& 3,00 11---字段描述符的名称和类型索引值为17 // &out:Ljava/io/PrintS
这几个16进制翻译过来正好是
#2 = Fieldref
java/lang/System.out:Ljava/io/PrintS
常量池3---08 00 12
& &1,08---tag为8,类型为CONSTANT_String,根据官方文档,其结构为
CONSTANT_String_info {
u2 string_
所以后面跟了两个字节
& &2,00 12---声明当前String值所在的索引值为18
当前16进制翻译过来,表示
#3 = String
常量池4---0A &00 13 00 14,对照着上面的分析,
#4 = Methodref
java/io/PrintStream.println:(Ljava/lang/S)V
常量池5---07 00 15
& &1,07---tag为7,类型为CONSTANT_Class,根据官方文档,其结构为
CONSTANT_Class_info {
& &2,00 15----当前类名称的索引值为21
#5 = Class
常量池6---07 00 16,对照上面的分析
#6 = Class
java/lang/Object
常量池7---01 00 06 3C 69 6E 69 74 3E
& 1,01---tag为1,类型为CONSTANT_Utf8,根据官方文档
CONSTANT_Utf8_info {
u1 bytes[length];
& 2,06---表示字符串的长度为6
& 3,3C 69 6E 69 74 3E ---字符串&init&
常量池8---01 00 03 28 29 56
常量池9---01 00 04 43 6F 64 65
常量池10---01 00 0F 4C 69 6E 65 4E 75 6D 62 65 72 54 61 62 6C 65
常量池11---01 00 04 6D 61 69 6E
常量池12---01 00 16 28 5B 4C 6A 61 76 61 2F 6C 61 6E 67 2F 53 74 72 69 6E 67 3B 29 56
常量池13---01 00 0A 53 6F 75 72 63 65 46 69 6C 65
常量池14---01 00 09 54 65 73 74 2E 6A 61 76 61
#10 = Utf8
LineNumberTable
#11 = Utf8
#12 = Utf8
([Ljava/lang/S)V
#13 = Utf8
SourceFile
#14 = Utf8
常量池15---0C 00 07 00 08
& 1,0C---tag为11,类型为CONSTANT_NameAndType,参照jvm官方文档,其结构为
CONSTANT_NameAndType_info {
u2 descriptor_
& 2,00 07---该字段或方法名称常量索引值为7,即#7 = Utf8
& 3,00 08---该字段或方法描述符常量索引值为8 ,即
常量池16---07 00 17
常量池17---0C 00 18 00 19
常量池18---01 00 04 74 65 73 74
常量池19---07 00 1A
常量池20---0C 00 1B 00 1C
常量池21---01 00 04 54 65 73 74
常量池22---01 00 10 6A 61 76 61 2F 6C 61 6E 67 2F 4F 62 6A 65 63 74
常量池23---01 00 10 6A 61 76 6A 2F 6C 61 6E 67 2F 53 79 73 74 65 6D
常量池24---01 00 03 6F 75 74
常量池25---01 00 15 4C 6A 61 76 61 2F 69 6F 2F 50 72 69 6E 74 53 74 72 65 61 6D 3B
常量池26---01 00 13 6A 61 76 61 2F 69 6F 2F 50 72 69 6E 74 53 74 72 65 61 6D
常量池27---01 00 07 70 72 69 6E 74 6C 6E
常量池28---01 00 15 28 4 6A 61 76 61 2F 6C 61 6E 67 2F 53 74 72 69 6E 67 3B 29 56
#16 = Class
java/lang/System
#17 = NameAndType
out:Ljava/io/PrintS
#18 = Utf8
#19 = Class
java/io/PrintStream
#20 = NameAndType
println:(Ljava/lang/S)V
#21 = Utf8
#22 = Utf8
java/lang/Object
#23 = Utf8
java/lang/System
#24 = Utf8
#25 = Utf8
Ljava/io/PrintS
#26 = Utf8
java/io/PrintStream
#27 = Utf8
#28 = Utf8
(Ljava/lang/S)V
到此常量池结束
4、访问标志access_flags
00 21----Test类的访问标志,参照官方文档,访问标志有
Interpretation
ACC_PUBLIC
Declared&public; may be accessed from outside its package.
Declared&final; no subclasses allowed.
Treat superclass methods specially when invoked by the&invokespecial&instruction.
ACC_INTERFACE
Is an interface, not a class.
ACC_ABSTRACT
Declared&abstract; must not be instantiated.
ACC_SYNTHETIC
D not present in the source code.
ACC_ANNOTATION
Declared as an annotation type.
Declared as an&enum&type.
0x0021 = 0x1,即ACC_PUBLIC和ACC_SUPER为真,ACC_PUBLIC好理解,ACC_SUPER这是什么鬼,翻看官方文档,原文如下:
The&ACC_SUPER&flag indicates which of two alternative semantics is to be expressed by the&invokespecial&instruction ()
if it appears in this class. Compilers to the instruction set of the Java Virtual Machine should set the&ACC_SUPER&flag.
The&ACC_SUPER&flag exists for backward compatibility with code compiled by older compilers for the Java programming language. In Oracle’s JDK prior to release 1.0.2, the compiler generated&ClassFile&access_flags&in
which the flag now representing&ACC_SUPER&had no assigned meaning, and Oracle's Java Virtual Machine implementation ignored the flag if it was set.
为了兼容之前的jdk版本,在jdk1.0.2之后这个编译出来的为真
5,类索引,父类索引,接口索引
接下来就是类索引,父类索引,接口索引
00 05------类索引值为#5&
#5 = Class
00 06-----父类索引值为#6
#6 = Class
java/lang/Object
00 00----类没有实现接口,接口数为0,所以后面没有接口信息
00 00----当前类有0个字段
7、方法,指令
00 02----当前类有两个方法,参照官方文档,方法的结构如下:
method_info {
descriptor_
attributes_
attribute_info attributes[attributes_count];
方法1:00 01 00 07 00 08 00 01&
& & & ----00 01:access_flags=0x0001=ACC_PUBLIC,方法的访问标志如下表:
Interpretation
ACC_PUBLIC
Declared&public; may be accessed from outside its package.
ACC_PRIVATE
Declared&private; accessible only within the defining class.
ACC_PROTECTED
Declared&protected; may be accessed within subclasses.
ACC_STATIC
Declared&static.
Declared&final; must not be overridden ().
ACC_SYNCHRONIZED
Declared&synchronized; invocation is wrapped by a monitor use.
ACC_BRIDGE
A bridge method, generated by the compiler.
ACC_VARARGS
Declared with variable number of arguments.
ACC_NATIVE
Declared&native; implemented in a language other than Java.
ACC_ABSTRACT
Declared&abstract; no implementation is provided.
ACC_STRICT
Declared&strictfp; floating-point mode is FP-strict.
ACC_SYNTHETIC
D not present in the source code.
& &---00 07:name_index=#7-----&#7 = Utf8 & & & & & & & &init&,可以看出该方法为构造函数
& &---00 08:descriptor_index=#8------&#8 = Utf8 & & & & & & & ()V
& &---00 01:attributes_count=1,所以紧随其后就是attribute_info部分,根据官方文档,其结构如下:
Code_attribute {
u2 attribute_name_
u4 attribute_
u1 code[code_length];
u2 exception_table_
u2 handler_
} exception_table[exception_table_length];
u2 attributes_
attribute_info attributes[attributes_count];
&00 09 00 00 00 1D 00 01 00 01 00 00 00 05 & //非指令部分
& & &---00 09:attribute_name_index=#9----------&#9 = Utf8 & & & & & & & Code
& & &---00 00 00 1D:attribute_length=29,所以整个属性表的长度为29+6=35,见官方文档说明:The value of the&attribute_length&item indicates the length of the attribute, excluding the initial six bytes.
& & &---00 01:max_stack=1
& & &---00 01:max_locals=1
& & &---00 00 00 05:code_length=5
紧接着就是方法1的指令部分:
2A B7 00 01 B1
& & &---2A:aload_0 ,
& & &---B7 00 01 -&invokespecial #1,调用超类构造方法
& & &---B1---&return
方法1的Exception:
00 00:方法没有throw异常
方法1的attribute count:
00 01://方法1最后有一个属性块,其结构如下:
LineNumberTable_attribute {
u2 attribute_name_
u4 attribute_
u2 line_number_table_
} line_number_table[line_number_table_length];
00 0A 00 00 00 06 00 01
00 00 00 01
& & &---00 0A:attribute_name_index=#10----&#10 = Utf8 & & & & & & & LineNumberTable
& & &---00 00 00 06:attribute_lenght=6
& & &---00 01:line_number_table_length=1,表示这个LineNumberTable中有一条记录
& & &---00 00 00 01:表示Test.java的第一行代码对应指令0---&0: aload_0
方法2:00 09 00 0B 00 0C 00 01
& & ---00 09:access_flags=0x1=ACC_STATIC|ACC_PUBLIC
& & ---00 0B:name_index=#11------&#11 = Utf8 & & & & & & & main
& & ---00 0C:descriptor_index=#12-----&#12 = Utf8 & & & & & & & ([Ljava/lang/S)V
& & ---00 01:arrtibutes_count=1,紧接着是attribute_info
方法2的code,非指令部分:
00 09 00 00 00 25 00 02 00 01 00 00 00 09
& & ---00 09:attribute_name_index=#9-----&#9 = Utf8 & & & & & & & Code
& & ---00 00 00 25:attribute_length=37,所以整个属性表的长度为43
& & ---00 02:max_stack=2
& & ---00 01:max_locals=1
& & ---00 00 00 09:code_length=17
方法2的code,指令部分
B2 00 02-----&getstatic #2:获取指定类的静态域,并且压入到栈顶,#2表示#2 = Fieldref & & & & & #16.#17 & & & &// &java/lang/System.out:Ljava/io/PrintS
12 03---&ldc #3,将“test”常量值从常量池中压入到栈顶
B6 00 04----&invokervirtual &#4,调用实例方法,#4 = Methodref & & & & &#19.#20 & & & &// &java/io/PrintStream.println:(Ljava/lang/S)V,即println方法
B1----&return
方法2的Exception:
00 00 -----&没有定义throw
方法2的attribute_count:
00 01 //方法最后有个属性
方法2的LineNumberTable:
00 0A 00 00 00 0A 00 02
& & &----00 0A:attribute_name_index=#10------&#10 = Utf8 & & & & & & & LineNumberTable
& & &----00 00 00 0A:attribute_length=10
& & &----00 02:line_number_table_lenght=2,表示lineNumberTable中有2条记录
00 00 00 04:Test.java第4行对应指令0 ---&getstatic & & #2
00 08 00 05:Test.java第5行对应指令8-----&8: return
8.sourceFile属性
00 01:当前class文件包含1个attribute_info
00 0D 00 00 00 02 00 0E
& & &---00 0D:attribute_name_index=#13----&#13 = Utf8 & & & & & & & SourceFile
& & &---00 00 00 02:attribute_length=2
& & &---00 0E:sourcefile_index=#14----&#14 = Utf8 & & & & & & & Test.java
至此,class文件中的内容分析完毕!
本文已收录于以下专栏:
相关文章推荐
使用eclipse新建项目,编写第一个程序。
eclipse,搭建好的Java开发环境。
命令提示符窗口中运行java程序,目录的跳转问题
今天用记事本写了一个java程序,测试能运行,现在把它分解成几个步骤,利于大家理解:
1. 新建一个记事本,后缀名是
;然后在里面写一段java的代码,如图:
多年以来 一直使用的是IDE 来写java 项目,导致很多的最基础的东西都渐渐模糊了.
最近遇到一个问题就是如果命令行来运行一个java项目
当然这不是初学的那个运行 HelloWord.java...
一个实现Serializable的类的对象才可以序列化,实现序列号的对象可以以数据流的形式传输。Serializable接口中没有任何的方法。当一个类声明要实现Serializable接口时,只是表明...
在基本语法和理论学习过后,自己独立完成一个小项目往往没有头绪和经验,盲目的急切的码代码没有什么实际的“成效”。
小项目独立代码量不应该超过1500行,维护借鉴的代码不超过2万行
。。。。。。...
java -Xms128m -Xmx128m-Dtest.mode=false -DConfigFolder=$codeHome/config-cp ${CLASSPATH} com.*.*.Clas...
总得来说有两步,先打成jar包再打成exe。
第一步打成jar:用myeclipse如何将java程序生成一个.exe可运行文件?
方法一:用Eclipse自带的打包工具Ant打包,因为要自己编写...
转载:/xh_ding/blog/static/在Java的多线程编程中,java.lang.Thread 类型包...
源代码如下:
public class ExA {
private static ExA a = new ExA();
System.out.prin...
他的最新文章
讲师:钟钦成
讲师:宋宝华
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)欢迎加入我们,一同切磋技术。 &
用户名: &&&
密 码: &
共有 4331 人关注过本帖
标题:一个JAVA程序编译成几个.CLASS
我该怎么运行呢?
等 级:新手上路
帖 子:32
&&问题点数:0&&回复次数:6&&&
一个JAVA程序编译成几个.CLASS
我该怎么运行呢?
一个JAVA程序中有几个类,我在编译生成.CLASS文件的时候,也是生成几个,那我该怎么运行这个程序,的到我想要的结果呢!!!
如果是应用程序的话, 有MAIN 方法的怎么运行出结果呢,是在命令提示符下输入主.CLASS文件呢,还是别的方法……
如果是小应用程序的话, 在WEB环境下运行,用APPLET标签引用, 那我该怎么去引用这些类文件呢,谢谢!!!
我不给程序了,比喻说:
WORD.JAVA文件生成了 三个.CLASS文件,WORD.CLASS
WORD2.CLASS
WORD3.CLASS
我怎么运行这些.CLASS文件,的到我想要的结果呢,上面两中情况都有,谢谢各位前辈!!!!
搜索更多相关主题的帖子:
&&&&&&&&&&
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
你的main()在哪个class里面就运行那个,比如假设在Word.java里面,到cmd下,输入:javac Word.java(回车)java Word(回车)
I'm here, as always...
等 级:新手上路
帖 子:32
但 如果是小应用程序了,也就是 WEB中的,那应该怎么有APPLET引进呢 ??
谢谢不吝赐教!!!
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
在html文件里面加入&applet code="Word.class" width=350 height=150&&/applet&红色部分就是你要用的applet的名字
I'm here, as always...
等 级:版主
威 望:60
帖 子:2959
专家分:652
一切都是按主類算。
等 级:新手上路
帖 子:136
主类当然做主啦!
^_^没事咱就灌水哈^_^!!!
来 自:湖南长沙
等 级:黑侠
帖 子:166
专家分:505
javac 类名.java
版权所有,并保留所有权利。
Powered by , Processed in 0.068113 second(s), 7 queries.
Copyright&, BCCN.NET, All Rights Reservedjava文件是什么?java文件格式介绍Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。可以用java的免费开发工具Eclipse或者Java JDK API来打开运行。
java文件怎么打开?java文件相关软件推荐
软件等级:
大小:69.2M更新时间:软件类型:国产软件免费软件简体
JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是学好Java的第一步。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高
软件等级:
大小:26.9M更新时间:软件类型:国外软件免费软件简体
java运行环境下载,Java Runtime Environment(JRE)是运行java程序所必须的环境,java编写的软件需要jre才能正常运行
软件等级:
大小:29.6M更新时间:软件类型:国外软件免费软件简体
适用于64位windows系统的Java环境,JRE是运行JAVA程序不可缺少的环境,拥有Java软件,您即会进入一个全新的互动世界
软件等级:
大小:25.7M更新时间:软件类型:国外软件免费软件简体
Java SE Runtime Environment(JRE7)是运行JAVA程序不可缺少的环境。此更新版本包含了Java应用的重要增强功能
软件等级:
大小:761KB更新时间:软件类型:国产软件免费软件简体
很不错的JAVA CLASS文件反编译工具可以往JAR包中添加文件,反编速度非常快,x并且它还支持语法高亮显示,学习JAVA的必备工具,并且它还支持语法高亮显示
软件等级:
大小:174.3M更新时间:软件类型:国外软件免费软件英文
Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集
软件等级:
大小:155M更新时间:软件类型:国外软件共享软件简体
EclipsePHP Studio 1.2.2 是一个大型PHP项目开发编译器,由Eclipse底层开发而来,并且集成了JDK,免除处了安装配置的麻烦,一次安装即可使用无需配置
软件等级:
大小:841M更新时间:软件类型:国产软件免费软件英文
MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大
软件等级:
大小:439M更新时间:软件类型:国外软件免费软件英文
myeclipse 6.5 是myeclipse系列软件的经典版本,myeclipse 6.5集成了Maven4MyEclipse,一个一键式运行Maven 2项目管理软件,myeclipse 6.5全称为MyEclipse6.5.0GAE3.3.2InstallerA
软件等级:
大小:892M更新时间:软件类型:国产软件免费软件英文
MyEclipse,是十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错
软件等级:
大小:4.4M更新时间:软件类型:国产软件免费软件简体
java教程合集(25本),pc6帮您一一整理的,这样的入门级java教程应该不会给你带来太大的困惑,起码我没有
软件等级:
大小:1.5M更新时间:软件类型:国产软件免费软件简体
django是目前十分流行的一个Python Web框架,使用Django的过程中经常会出现需要一个离线中文文档来帮助使用过程,马上下载django中文文档Chm版使用吧。
软件等级:
大小:21.5M更新时间:软件类型:国产软件免费软件简体
w3school离线手册2017手册是一款官方编译的w3school最新2017.3月版离线手册,可以让您在离线的时候能够查询到需要的信息,马上下载2017最新w3school离线版手册吧。
软件等级:
大小:287KB更新时间:软件类型:国产软件免费软件简体
commons-lang.jar是日常编程中必不可少的一个jar包,在日常java编程中,经常会使用到commons-lang.jar包,还没有准备commons-lang.jar包的用户马上下载使用吧。
软件等级:
大小:2.9M更新时间:软件类型:国产软件免费软件简体
Alibaba Fastjson Jar包是可以帮助使用Fastjson功能的Fastjson jar包,Fastjson是一个Java语言编写的高性能功能完善的JSON库,当然必备fastjson jar包。
软件等级:
大小:721KB更新时间:软件类型:国产软件免费软件简体
Alibaba Fastjson 全中文版API是可以帮助使用Fastjson功能的中文api,Fastjson是一个Java语言编写的高性能功能完善的JSON库,当然也必备一款中文版api。
软件等级:
大小:317KB更新时间:软件类型:国产软件免费软件简体
log4j是具有日志记录功能,主要通过一个配置文件来对程序进行监测,想要实现这个功能就必须配置Apache Log4j1.2jar包,需要log4j.jar的用户马上下载吧。
软件等级:
大小:10.0M更新时间:软件类型:国产软件免费软件简体
win32编程入门API,要想使用Microsoft 32位平台的应用程序编程接口,拥有一个齐全的api是至关重要的,Win32 API是从事Windows应用程序开发所必备的。
软件等级:
大小:650KB更新时间:软件类型:国产软件免费软件简体
servlet api中文CHM版,Servlet是一款用Java编写的服务器端程序,有许多程序猿在日常生活中都需要准备一款servlet中文api让其能更方便的交互式地浏览。
软件等级:
大小:21.5M更新时间:软件类型:国产软件免费软件简体
Spring中文API文档是使用Spring框架必不可少的一个中文API文档,SpringAPI在使用Spring框架中起到十分大的作用,需要spring api中文版就马上下载吧。
软件等级:
大小:1.0M更新时间:软件类型:国产软件免费软件简体
mybatis api中文文档是一款可以帮助大家对Mybatis进行更好的使用的官方中文文档,MyBatis是支持普通SQL查询存储过程和框架,对应mybatis中文api能更好的使用。
软件等级:
大小:7.4M更新时间:软件类型:国产软件免费软件简体
Spring MVC jar包是Spring mvc jar包和spring所有需要使用的jar包总合,SpringMVCjar包在使用SpringMVC框架中起到十分大的作用,需要SpringJar包马上下载吧。
软件等级:
大小:936KB更新时间:软件类型:国产软件免费软件简体
standard.jar包是一款java中项目中如果要使用JSTL和EL表达式,就必须导入jstl.jar和standard.jar文件,可以让程序猿们在日常生活中更节约时间。
软件等级:
大小:936KB更新时间:软件类型:国产软件免费软件简体
Jstl.jar包是一款java中项目中如果要使用JSTL和EL表达式,就必须导入jstl.jar和standard.jar文件,可以让程序猿们在日常生活中更节约时间。
软件等级:
大小:52KB更新时间:软件类型:国产软件免费软件简体
activation.jar是一款java中项目中的利用axis部署WebService服务必须用的一个JAR包,直接导入项目即可实现部署WebService的功能,可以让程序猿们更节约时间。
java文件扩展阅读}

我要回帖

更多关于 vc怎么运行程序 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信