java脱离jvm jvm在程序开始前运行吗

来源:互联网 发表时间: 1:24:59 责任编辑:王亮字体:
为了帮助网友解决“利用exe4j打包java工程后的程序还”相关的问题,中国学网通过互联网对“利用exe4j打包java工程后的程序还”相关的解决方案进行了整理,用户详细问题包括:jar有什么区别吗,使用了皮肤包.jar是可以运行的,分不多,我把皮肤包之类的外部jar包放在了lib之下(不好意思,不经常用百度知道现在新建了一个java桌面程序,用exe4j打包后发现加载不了皮肤包了?因为我导出为projectName,这里跟直接导出为projectName,具体解决方案如下:解决方案1:
//h://h.jpg" />看到这个选项没,我没试过://h。你如果不觉得项目太大可以这么做。据我所知要一个一个导,然后到第5步把你lib中的jar导进去.hiphotos.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img onerror="this.src='/images/nopicend.jpg'" alt="点击图片看大图" onLoad="DrawImage(this)" onclick="javascript:window.open(this.src);" class="ikqb_img" src="http.baidu.中国学网
至于JVM是需要的./zhidao/pic/item/d788d43ffbd5ac6e3992。但听说可以把整个JRE导进项目里.jpg" esrc="http.baidu..hiphotos..com/zhidao/wh%3D600%2C800/sign=c5936eab89d4b31cf0699cbdb7e60b47//zhidao/wh%3D450%2C600/sign=2ef5c70e257f9e2fa00c512/d788d43ffbd5ac6e3992<a href="http
1个回答3个回答3个回答1个回答2个回答2个回答2个回答1个回答3个回答1个回答1个回答无回答1个回答1个回答1个回答
相关文章:
最新添加资讯
24小时热门资讯
Copyright &#169;
All Rights Reserved. 中国学网 版权所有
京ICP备号-1 京公网安备02号请问,是不是必须装JVM才能运行JAVA应用程序(在线等解), 请问,是不是必须装JVM才能运行
请问,是不是必须装JVM才能运行JAVA应用程序(在线等解) 如题 ccguoshuai 请问,是不是必须装JVM才能运行JAVA应用程序(在线等解)
不需要装jdk是的。你可以装jre 就是 java的运行环境,java所有程序 必须在JVM中运行,jdk是开发程序包
须要JRE.JRE(Java Runtime Environment.,运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库,Java运行环境)以下试题来自:
单项选择题下面关于Java代码安全的说法中不正确的是(
A) Java程序在解释执行时所需要的类都是通过字节码校验程序装入的
B) Java字节码的执行是由JVM中的编译器完成的
C) 在Java程序运行时,首先装入字节码,然后进行校验,最后在解释器中执行
D) 在默认的安全配置条件下,Applet不能访问任何本地资源
为您推荐的考试题库
你可能感兴趣的试题
热门相关试卷
最新相关试卷您现在的位置:&&>>&&>>&&>>&正文
JavaScript实现JVM&支持运行Java
  随着各种各样的编程语言铺地盖地向我们涌来,我们软件世界也似乎变得有点疯狂了。虚拟机( Virtual Machine,简称JVM)是一个虚拟的机器,在计算机上通过软件模拟来实现。Java虚拟机有自己虚拟的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。
  Java语言的一个非常重要的特点就是平台的无关性。而使用JVM是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入JVM后,Java语言在不同平台上运行时不需要重新编译。Java语言使用JVM屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM在执行字节码时,把字节码解释成具体平台上的机器指令执行。
  使用JavaScript语言来编写JVM似乎让人不可思议。但事实却让我们无比兴奋。Java语言并非编译成机器代码,而是编译成能够运行在虚拟机平台上的特殊字符代码,因此我们无法阻挡一个出色的程序员可以在任何编程语言中实现这个编译过程。唯一的问题在于你需要尽可能快的完成编译过程,来保证字节代码的运行速度控制在合理的范围内。
  Java语言技术开发人员占据了程序员的大半江山,超级大牛Artur Ventura程序员用JavaScript编写一个Java 虚拟机 BicaVM,,并可以以运行Java程序。虚拟机代码可以通过Github 获得。他表示,我们不需要在Web浏览器上编写JavaScript脚本语言,而应该部署一个兼容各种语言的虚拟机。他还指出,使用JVM类型的方法,你可以获得自动化的沙盒,并可以轻松地将JVM发送至上,保证浏览器的独立性和持久性。
  将JVM部署到浏览器上的确更有意义,但是为什么不直接用JavaScript语言来模拟JVM呢?与其让Web浏览器集成JVM,不如让JavaScript具备JVM的功能。这实际上是从插件到JavaScript实现的思维转变。这样不需要在浏览器中集成插件,直接用JavaScript就可以实现Java虚拟机的功能。
  据称,经过6个月的开发,BicaVM终于问世,BicaVM支持60%的JVM功能。尽管还未优化,BicaVM支持iPad/iPhone平台,具有支持JNI接口,DOM模型等特点。
  总之, JavaScript支持所有Java程序运行,这一点虽然让我们觉得有点奇怪,但至少表明了浏览器应该能充当起虚拟机的角色。也许这就是Web时代的到来。
【责编:ivy】
?&[]?&[]?&[]?&[]?&[]?&[]?&[]?&[]?&[]?&[]
相关产品和培训
 友情推荐链接
 认证培训
 专题推荐
 ? ? ? ? ? ? ? ? ? ?
 今日更新
?&?&?&?&?&?&?&?&?&?&
 社区讨论
 博客论点
 频道精选
 Java 频道导航如何用JMX连接本地JVM上运行的Java程序 - ImportNew
| 标签: ,
我需要使用JMX连接本地JVM的Java程序。换句话说,我想开发一个JMX的客户端来配置一个本地Java程序。
请不要推荐使用JConsole!JConsole不合适,因为JConsole是一个通用的JMX客户端,对主程序的性能存在负面影响。
Oracle网站上有一个使用RMIConnector和“主机 : 端口号”为参数的例子,但是我不知道在什么地方设置JMX的端口号?
JConsole可以选择PID来连接Java进程。但是在JMX的API中,我找不到任何方法是使用PID作为参数的。
我们使用一些类似下面的程序来连接JMX服务器。不过,需要在运行服务器时指定以下参数:
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.port=1234
-Dcom.sun.management.jmxremote.ssl=false
为了绑定特定地址,你需要在增加下面的VM参数:
-Djava.rmi.server.hostname=A.B.C.D
这样,你就可以像下面的JMX客户端代码一样连接你的服务器了:
String host = &localhost&;
// or some A.B.C.D
int port = 1234;
String url = &service:jmx:rmi:///jndi/rmi://& + host + &:& + port + &/jmxrmi&;
JMXServiceURL serviceUrl = new JMXServiceURL(url);
JMXConnector jmxConnector = JMXConnectorFactory.connect(serviceUrl, null);
MBeanServerConnection mbeanConn = jmxConnector.getMBeanServerConnection();
// now query to get the beans or whatever
Set&ObjectName& beanSet = mbeanConn.queryNames(null, null);
} finally {
jmxConnector.close();
我们也可以不使用VM参数,代码本身可以通过编程在指定端口号发布。但是我想这个已经比你的需求更复杂了。
如果要根据PID来连接,据我现在所知,你需要使用Java 6以上的版本。我没使用过下面的代码,但是看起是可以正常工作的:
List&VirtualMachineDescriptor& vms = VirtualMachine.list();
for (VirtualMachineDescriptor desc : vms) {
vm = VirtualMachine.attach(desc);
} catch (AttachNotSupportedException e) {
Properties props = vm.getAgentProperties();
String connectorAddress =
props.getProperty(&com.sun.management.jmxremote.localConnectorAddress&);
if (connectorAddress == null) {
JMXServiceURL url = new JMXServiceURL(connectorAddress);
JMXConnector connector = JMXConnectorFactory.connect(url);
MBeanServerConnection mbeanConn = connector.getMBeanServerConnection();
Set&ObjectName& beanSet = mbeanConn.queryNames(null, null);
} finally {
jmxConnector.close();
我已发布过一个新的包,该包能帮助很简单的启动一个JMX服务,并向远程客户端发送beans。
//创建一个新的服务器并监听8000端口
JmxServer jmxServer = new JmxServer(8000);
//启动服务器
jmxServer.start();
//注册下面定义的lookupCache对象
jmxServer.register(lookupCache);
jmxServer.register(someOtherObject);
//停止服务
jmxServer.stop();
该包确实有一个客户端的接口,但是当前没有人一种机制是可以通过PID来查找进程的,只支持主机/端口的组合方式查找。
原文链接:
- 译文链接: [ 转载请保留原文出处、译者和译文链接。]
关于作者:
很好的文章,get
关于ImportNew
ImportNew 专注于 Java 技术分享。于日 11:11正式上线。是的,这是一个很特别的时刻 :)
ImportNew 由两个 Java 关键字 import 和 new 组成,意指:Java 开发者学习新知识的网站。 import 可认为是学习和吸收, new 则可认为是新知识、新技术圈子和新朋友……
新浪微博:
推荐微信号
反馈建议:@
广告与商务合作QQ:
&#8211; 好的话题、有启发的回复、值得信赖的圈子
&#8211; 写了文章?看干货?去头条!
&#8211; 为IT单身男女服务的征婚传播平台
&#8211; 优秀的工具资源导航
&#8211; 活跃 &#038; 专业的翻译小组
&#8211; 国内外的精选博客文章
&#8211; UI,网页,交互和用户体验
&#8211; JavaScript, HTML5, CSS
&#8211; 专注Android技术分享
&#8211; 专注iOS技术分享
&#8211; 专注Java技术分享
&#8211; 专注Python技术分享
& 2016 ImportNew}

我要回帖

更多关于 java脱离jvm 的文章

更多推荐

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

点击添加站长微信