草庐IT

jvm-bytecode

全部标签

java - 如何在 Spring applicationContext.xml 中读取 JVM 参数

我有一个带有Spring的JSFWeb应用程序,我正在尝试找出一种从applicationContext.xml引用JVM参数的方法。我使用环境参数(例如,-Denv=development)启动JVM。我找到并尝试了几种不同的方法,包括:${environment}但是,当在MyClass中调用setter方法时,传递的是字符串“${environment}”,而不是“development”。我有一个使用System.getProperty()的解决方法,但是能够通过Spring设置这些值会更好、更清晰。有没有办法做到这一点?编辑:我之前应该提到的是,我正在使用JDBC连接从我的数

java - 如何在 Spring applicationContext.xml 中读取 JVM 参数

我有一个带有Spring的JSFWeb应用程序,我正在尝试找出一种从applicationContext.xml引用JVM参数的方法。我使用环境参数(例如,-Denv=development)启动JVM。我找到并尝试了几种不同的方法,包括:${environment}但是,当在MyClass中调用setter方法时,传递的是字符串“${environment}”,而不是“development”。我有一个使用System.getProperty()的解决方法,但是能够通过Spring设置这些值会更好、更清晰。有没有办法做到这一点?编辑:我之前应该提到的是,我正在使用JDBC连接从我的数

c# - Nhibernate Session 01 之夏,为什么我得到 NHibernate.Bytecode.ProxyFactoryFactoryNotConfiguredException?

我是NHibernate的新手,跟随www.summerofnhibernate.com上的截屏视频,非常棒。在演示结束时,单元测试应该会通过,但对我来说它说:NHibernate.Bytecode.ProxyFactoryFactoryNotConfiguredException:TheProxyFactoryFactorywasnotconfigured.我做错了什么? 最佳答案 我问这个是因为我花了比我希望的更长的时间才找到答案。如果我让其他新手误入歧途,请纠正我。显然自截屏视频制作以来,NHibernate现在要求您指定Pr

java - JEP 145 发生了什么(由于编译代码重用,jvm 启动更快)?

2012年,aJEP145已创建以在java中缓存已编译的native代码,以更快的jvm启动。当时,ithadbeenofficiallyannounced.然而,JEP145doesnotexist不再。这是怎么回事?这个想法听起来不错。我找不到关于取消该项目的原因和时间的官方声明。 最佳答案 JEP的文本在JEPsourcerepository中仍然可用。:http://hg.openjdk.java.net/jep/jeps/raw-file/c915dfb4117d/jep-145.md似乎没有记录取消它的原因。但我们现在

java - JVM 到 JVM 通信的所有方式

我想要两个JVM可以通信的所有方式的列表。JVM可以是本地的或远程的。最明显的是套接字通信资源管理共享内存(文件/数据库)注意:我对比较这些不感兴趣,因为我们选择的方式取决于需要。我很想知道实际存在的所有方式。 最佳答案 参见inter-processcommunication. 关于java-JVM到JVM通信的所有方式,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/67641

java - 如何为多个 JVM 使用一个 JMX 代理?

当在一台机器上运行多个JVM(以及单个IP地址)时,在每个JVM中合并JMX需要一个单独的端口。由于我不会进入已配置端口的原因在这种环境中非常重要,因此我希望在每台机器上都有一个JMX代理,它能够提供对每个本地JVM及其JMX数据的访问。这类似于本地SNMP守护进程,代理在每个单独的进程中运行。但是,临时端口很好,因为它们在我有权访问的用于显式配置JMX的竞争端口范围之外。我知道像OracleCoherence这样的产品在内部执行此操作,但是是否有执行此操作的通用解决方案? 最佳答案 OpenDMK支持MBeanServerCasc

java - 为什么 JVM 有 iconst_2 - iconst_5 操作码?

在阅读JVM规范时(正如我所做的那样),当我遇到7iconst_时,我感到非常惊讶。操作码。毕竟,只有一个字节可以玩。我很少在代码中写2、3、4或5的文字。我能理解为什么-1、0和1可能会被特殊对待,但令我惊讶的是,设计师竟然想在恰好非常小的数字上使用4个宝贵的操作码。有谁知道这是否有充分的理由?我是否低估了这些的好处? 最佳答案 我认为,您的假设是正确的:只是为了让字节码更小,让Java解释器更快一点(当时没有JIT编译器)。请注意,这些字节码的使用频率可能比您预期的要高得多。例如,考虑以下代码:int[]a={10,20,30,

java - JVM 同步 Finally block

查看JavaVirtualMachineSpecification编译后的代码告诉我们如何"synchronized"block是用java实现的。以下代码:publicvoidtestSync(){Objectobj=getSomeObject();synchronized(obj){doSomething();}}...大致相当于这个伪代码:publicvoidtestSync(){Objectobj=getSomeObject();Object__temp=obj;monitorenter__temp;try{doSomething();}finally{monitorexit_

java - JVM 如何确保跨所有处理器架构的平台独立性?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭6年前。Improvethisquestion在我寻求理解在编写应用程序时使用Java而不是C++或反之亦然的原因时,我陷入了这一点。我看了一个向我介绍Java的视频,他们说JVM存在的原因是因为它使Java具有可移植性,这意味着它可以在许多架构上运行,例如手机和其他东西,而不必为每个不同的CPUOS组合编写新的编译器。但是人们必须做一些事情才能使其与每个CPU和OS兼容。我看不出使用JVM有何改变。

java - 从 C++ 启动时正确关闭 JVM

我正在通过JNI从C++代码启动JVM。我有一个问题,当我刚刚退出我的C++进程时,JVM的一些关闭Hook似乎没有运行,因此一些临时资源仍然存在,在我的特殊情况下,这会阻止我下次打开C++进程时启动JVM。我尝试了jvm->DestroyJavaVM(),但在关闭所有进程窗口后,我仍然可以看到进程正在运行。确保JVM在通过JNI启动时正确关闭的最佳等待时间是多少?谢谢! 最佳答案 首先,jvm->DestroyJavaVM()直到所有非守护进程jvm线程都停止后才会返回,它只是等待它们停止,所以你应该停止它们java.其次,Sys