第一个有点不好回答:为什么.class文件要用bytecode?bytecode有什么方便之处?第二点:jvm 具体点就是 java解释器 到底是如何作用bytecode代码的?
是把bytecode先解释为机器指令再给cpu运行?? or
jvm自己在操作系统上运行,来解释bytecode代码,并自己来执行bytecode代码??(不过这样的话好像就不必要再“解释interpret”了,干麻还叫经常叫它java解释器)or
还是以上两个说法都是错的?第三点,很简单,就是我自己很模糊 :什么是名空间name-space 感觉到像是c里面的概念,今天突然发现java里也有这个词,就有点不懂了
大家帮回答回答, 有一点算一点,每人的分不多,只表示表示心意
是把bytecode先解释为机器指令再给cpu运行?? or
jvm自己在操作系统上运行,来解释bytecode代码,并自己来执行bytecode代码??(不过这样的话好像就不必要再“解释interpret”了,干麻还叫经常叫它java解释器)or
还是以上两个说法都是错的?第三点,很简单,就是我自己很模糊 :什么是名空间name-space 感觉到像是c里面的概念,今天突然发现java里也有这个词,就有点不懂了
大家帮回答回答, 有一点算一点,每人的分不多,只表示表示心意
解决方案 »
- 怎么将NetBeans工程导入Eclipse
- 动态博弈的小程序(本人菜鸟,初次发贴向大家请教问题,请多关照!)
- GUI改变组件观感
- 面试题 java程序统计得到 购物网站各类别网店数量 没有网站接口信息 只有网站地址 没思路 大家帮帮忙
- 一个简单的问题
- 请教JAVA中I/O流问题!
- 各位大虾....关于打JAR包的问题.
- cmd中显示不了java程序中的中文字
- 在JAVA程序中可不可以调用WIN32 API函数?如调用CreateFile()函数来建立一个文件。
- 有关java与web服务器的通讯的问题
- 按时间格式变化的递增变量
- 求一正则表达式: 查找除了AD,AO,AK之外的所有以A开头的连续字母组合
2.jvm自己运行起来,解释执行bytecode中jvm定义的指令,比如遇到new 就去分配内存,调用构造方法等,这部分利用到下层操作系统提供的接口了.
叫解释器没啥问题吧,就是解释bytecode中的指令并执行.
3.没见到java的书里面提namespace的概念,C++有,java提供包机制提供类似的功能.
Java字节码使“写一次,到处运行”成为可能。可以在任何有Java编译器的平台上把Java程序编译成字节码。这个字节码可以运行在任何Java VM上。
2、jvm 的任务就是满足 bytecode 的要求。至于如何满足,不同平台上的 jvm 有不同的实现途径。
3、所谓命名空间,就是将类的名字结构化。如果没有命名空间,某个类叫“Human”,那别的类就不能用这个名字了。有了命名空间,类名就能够更灵活,my.Human 和 your.Human 就能够很好区分。
不过应该就是控制Java里.class文件不至于重名冲突吧
1、用bytecode本来是希望增加class文件的安全性的,使得它不容易被反编译,另外,好象说用二进制文件解释起来不容易出现错误
2、把bytecode转换成系统指令,而不是cpu指令,也就是说在系统中运行jvm并且把bytecode解释成对应的系统指令,这也就是为什么java慢的根本原因
3、
没听过
使用bytecode也有安全的性的意识,bytecode由jvm执行,而jdk实现了这种功能。
每个客户机器必须运行 Java 解释器, 它完成 Java bytecode的解释执行. Java 解释器是用POSIX的ANSI C编写的, 需要送到每个单独的平台下面进行一次常规的编译.
一旦解释器就绪, 应用程序开发者不必关心任何平台说明和区别不同的本地编译器.
2.为什么不能叫java解释器呢?java解释器就是负责解释bytecode的
3.java没有namespace的关键字,类似命名空间应该是用包 package处理的