Tag: 运行时

Runtime.exec():在Android重新启动?

我正在寻找一个解决scheme,可以用来重新启动一个有根的设备。 我知道重新启动设备对于用户来说是非常糟糕的devise, 正如这里所说的那样 ,而不是真正的应用程序。 主要目的是在testing期间重新启动手机(我工作在一个video聊天应用程序,有时我需要重新启动时,一切都南下) 我观察到,重新启动电话比使用ACTION_REBOOT重新启动时通常在terminal(例如adb shell或ConnectBot)中重新启动要快得多 ,我无法继续使用。 目前,我能够获得超级用户权限 Process root = Runtime.getRuntime().exec("su"); 但我不能做实际的重新启动。 我尝试G1(HTC)和Galaxy S(三星),没有任何成功。 我在/system/bin/rebootfind了可执行文件 以下是我的一些尝试: Process reboot = Runtime.getRuntime().exec("/system/bin/reboot"); Process reboot = Runtime.getRuntime().exec("reboot"); Process reboot = Runtime.getRuntime().exec("su reboot"); 我阅读这篇关于Runtime.exec()的缺陷的文章 ,但我想我不是这种情况。 由于使用ConnectBot使我可以做这样的行动,我敢肯定这是可能的。 请不要告诉我去看看ConnectBot代码 ,这是一个大而复杂的项目:) 你能帮我解决这个问题吗? 谢谢。

通过热插拔机制在运行时更改方法

假设我们有一个简单的Java程序,它只包含一个类: public class HelloWorld { private static void replacable(int i) { System.out.println("Today is a nice day with a number " + i); } public static void main(String[] args) throws Exception { for(int i = 0; i < 100000; ++i) { replacable(i); Thread.sleep(500); } } 编译并运行后,输出结果如下: 今天是一个愉快的一天,数字为0 今天是1号的好日子 今天是一个愉快的一天,2号 今天是3号的好日子 … 我的问题:是否存在(或在地平线上)交换可交换方法的一些方法? 就像使用新版本的可replacable版本编写另一版本的HelloWorld ,编译它,然后在已经运行的JVM中编译旧版本? 所以,如果我写这样的新版本: private […]

什么是C运行时库?

实际上C运行时库是什么,它用于什么? 我正在search,像一个魔鬼一样search,但我找不到比微软更好的东西:“微软的运行时库提供了用于微软Windows操作系统编程的例程,这些例程自动执行许多不是由C和C ++语言“。 好的,我明白了,但例如, libcmt.lib内容是什么? 它有什么作用? 我认为C标准库是C编译器的一部分。 那么libcmt.lib是Windows的C标准库函数在win32下工作的实现吗?

如何在运行时编译和部署一个java类?

我正在编写一个规则引擎,执行由条件结构决定的简单赋值。 规则是XML格式是项目的先决条件。 我已经将我的XML模式build模为简单的代码块。 我希望parsingXML,然后将其转换为Java代码。 然后我希望在运行时编译(并运行)这些代码。 这样做意味着我的规则引擎不再作为解释器,而是执行本地Java字节码。 我已经想出了parsing阶段,或多或less的Java代码生成阶段。 我现在想弄清楚最后一个阶段 – 在运行阶段编译。 遵循这个线程: 编译为java字节码(不使用Java)我已经意识到以下可能的解决scheme: ASM BCEL 特罗韦 我喜欢这些的比较以及其他在运行时阶段解决Java编译的build议。

java.lang.NoClassDefFoundError:无法初始化类XXX

public class PropHolder { public static Properties prop; static { //code for loading properties from file } } // Referencing the class somewhere else: Properties prop = PropHolder.prop; class PropHolder是我自己的一类。 该类驻留在主类的相同JAR文件中。 所以这不应该是因为classpath中缺less任何JAR。 当我通过jar tf myjarfile查看JAR文件时,可以看到列出的PropHolder.class 。 顺便说一句:代码在我的本地机器上运行良好。 但是,当我用一些脚本将它部署到Linux服务器上时无法工作。 所以我认为这不是代码的问题。 但是由于某种原因。 部署过程很难跟踪。 可能是什么问题呢?

获取方法参数的名称

在Java 6中 ,假设我有以下方法签名: public void makeSandwich(Bread slice1, Bread slice2, List<Filling> fillings, boolean mustard) 我想知道,在运行时,传递给slice2或任何其他参数的值,这里的重要一点是,我想通过参数名称获取值。 我知道如何使用getParameterTypes或getGenericParameterTypes获取参数types的列表。 理想情况下,我想获取参数名称而不是types的列表。 有没有办法做到这一点?

Java错误打开registry项

当我在命令提示符下尝试用Java做任何事情时,我得到这个错误: Error opening registry key 'Software\JavaSoft\Java Runtime Environment.3' Error: could not find Java.dll Error: could not find Java 2 Runtime Environment 我几天前就删除了Java目录和registry。 我重新启动电脑和Java仍然工作正常,然后我今天再次重新启动,现在我得到这个错误。 我曾尝试卸载并重新安装,但似乎并没有工作。 我已经安装了最新的Java JRE,并在环境variables中设置了path。 任何人有任何线索如何解决这个问题?

是否有可能在.NET运行时编译和执行新的代码?

注意:mathexpression式评估不是这个问题的重点。 我想在.NET中运行时编译和执行新的代码。 话虽如此… 我想让用户在文本框中input任何等式,如下所示: x = x / 2 * 0.07914 x = x^2 / 5 将这个方程式应用于传入的数据点。 input数据点由x表示,每个数据点由用户指定的等式处理。 我在几年前做过,但是我不喜欢这个解决scheme,因为它需要为每个计算都parsing方程的文本: float ApplyEquation (string equation, float dataPoint) { // parse the equation string and figure out how to do the math // lots of messy code here… } 当你处理数据点的时候,这会带来很多的开销。 我希望能够将这个方程转化为一个函数,这样它就只需要被parsing一次。 它看起来像这样: FunctionPointer foo = ConvertEquationToCode(equation); …. x […]

dynamic创build控件在回发后丢失数据

实际上,我在Pageload上创build1个TextBox并将该TextBox添加到Panel 。 现在,我有一个LinkButton像Add Another 。 我在该TextBoxinput文本,如果需要,我需要创build新TextBox ,通过单击Add Another LinkButton 。 实际上,我能够获得计数并重新创buildTextBoxes 。 但是,问题是,我以前生成的Textboxesinput的文本是丢失。 任何人都可以,build议我一个这样的解决scheme? protected void Page_Load(object sender, EventArgs e) { try { if (!IsPostBack) { for (int i = 0; i < 5; i++) { TableRow row = new TableRow(); for (int j = 0; j < 5; j++) { TableCell cell = new […]

为什么是Class.newInstance()“邪恶”?

Ryan Delucchi 在这里向Tom Hawtin的回答#3发表了评论: 为什么是Class.newInstance()“邪恶”? 这在响应代码示例: // Avoid Class.newInstance, for it is evil. Constructor<? extends Runnable> ctor = runClass.getConstructor(); Runnable doRun = ctor.newInstance(); 那么,为什么是邪恶呢?