标签: runtime

在运行时删除顶级容器

不幸的是,看起来这个最近封闭的问题还不太清楚.这是典型的输出:

run:
    Trying to Remove JDialog
    Remove Cycle Done :-)
    Checking if still exists any of TopLayoutContainers
JFrame
JDialog
    Will Try Remove Dialog again, CycleNo. 1
 -----------------------------------------------------------
    Trying to Remove JDialog
    Remove Cycle Done :-)
    Checking if still exists any of TopLayoutContainers
JFrame
JDialog
    Will Try Remove Dialog again, CycleNo. 2
 -----------------------------------------------------------
    Trying to Remove JDialog
    Remove Cycle Done :-)
    Checking if still exists any of TopLayoutContainers
JFrame
JDialog
    Will Try Remove Dialog again, CycleNo. 3
 -----------------------------------------------------------
    Trying …
Run Code Online (Sandbox Code Playgroud)

java swing runtime jdialog

18
推荐指数
4
解决办法
9582
查看次数

适用于Java 5和Java 6的即时内存Java代码编译

如何从Java 5和Java 6中的任意字符串(在内存中)编译java代码,加载它并在其上运行特定方法(预定义)?

在你点燃之前,我查看了现有的实现:

  • 大多数人依赖Java 6 Compiler API.
  • 那些没有,依靠技巧.
  • 是的,我检查了commons-jci.要么我太密集了,不能理解它是如何工作的,要么就是不能.
  • 我找不到如何向编译器提供我当前的类路径(这是非常巨大的).
  • 在有效的实现上(在Java 6中),我找不到如何正确加载内部类(或内部匿名类).
  • 如果整个事物都在内存中,我会非常喜欢它,因为它在多个环境中运行.

我确信之前已经解决了这个问题,但我找不到任何看起来甚至是谷歌半生产质量的东西(除了jci,正如我之前所说,我还没有设法使用).

编辑:

  • 我查看了JavaAssist - 我需要内部类,Java 5.0语言级支持以及使用整个类路径进行编译.另外,我想动态创建新类.我可能弄错了,但我找不到如何用JavaAssit做到这一点.
  • 我愿意使用基于文件系统的解决方案(调用javac),但我不知道如何划分类路径,也不知道如何使用特殊的类加载器加载文件(不在我的类路径中)回收多次调用.虽然我知道如何研究它,但我更喜欢现成的解决方案.

Edit2:现在,我对BeanShell"评估"感到满意.显然它完成了我需要的所有东西(获取一个字符串,在'当前'类路径的上下文中评估它.它确实错过了一些Java 5特性,但它可以使用枚举(不定义)和编译'泛型'(擦除) )类,所以它应该足够我想要的.

我不想将答案标记为已接受,因为我希望有更好的解决方案出现.

Edit3:接受了beanshell建议 - 它真的很棒.

java compiler-construction runtime compilation runtime-compilation

17
推荐指数
3
解决办法
1万
查看次数

在Java中抑制运行时控制台警告的最佳方法是什么?

我正在使用org.apache.commons.httpclient.methods.PostMethod类的getResponseBody()方法.但是,我总是在运行时收到一条写入控制台的消息:

警告:要缓冲大型或未知大小的响应体.建议使用getResponseBodyAsStream.

在代码中我必须将响应写入一个字节数组,所以它应该是我应该使用的getResponseBody()方法.但是有一种简单的方法可以抑制警告信息,所以我不必每次都看它吗?

如果是编译器错误,我会使用@SuppressWarnings注释,但这不是编译时问题; 它发生在运行时.此外,我可以使用getResponseBodyAsStream来写入ByteArrayOutputStream,但这似乎是一种解决警告的方法(额外的代码行来执行getResponseBody()已经为我做的事情).

我的猜测是答案涉及System.out或System.err操作,但是有一个很好的方法吗?

java console warnings runtime suppress-warnings

17
推荐指数
4
解决办法
2万
查看次数

是否有可能获得类的所有子类?

可能重复:
如何在Java中找到给定类的所有子类?

嗨,

我想获得一个在运行时用Java实现接口的类列表,这样我就可以进行查找服务而无需对其进行硬编码.有一个简单的方法吗?我不担心.

java reflection runtime

17
推荐指数
2
解决办法
3万
查看次数

设置在WinForms应用程序中打开的控制台窗口的位置

我在Rex Logan发布的这个帖子中发现了一些源代码:

链接文字

... Foredecker在同一个帖子中也发布了一些非常有趣的代码,但它不完整且复杂:我对'跟踪工具知道如何完全实现它不够了...

我能够在WinForms应用程序中成功发布此控制台代码Rex(友好地),以记录各种事件,并将消息推送到调试中非常有用; 我也可以从应用程序代码中清除它.

我似乎无法做的是在打开控制台窗口时(在主窗体加载事件中)可靠地设置控制台窗口的屏幕位置.如果我尝试设置WindowLeft或WindowTop属性,我得到编译阻止System.ArgumentOutOfRangeException错误:

必须设置窗口位置,使当前窗口大小适合控制台的缓冲区,并且数字不能为负数.参数名称:left实际值为#

但是,我可以设置WindowWidth和WindowHeight属性.

我试过移动激活控制台各个位置的代码,包括:

  1. 在MainForm运行之前的Program.cs文件中
  2. 在MainForm ctor中调用'InitializeComponent()之前和之后
  3. 在Form Load事件中
  4. 在Form Shown活动中

控制台在代码中的所有这些位置都可以正常激活,但看似随机切换屏幕左上象限的位置没有变化.

控制台窗口打开的位置似乎随机变化(主窗体始终在屏幕上的同一位置初始化).

c# console runtime window winforms

17
推荐指数
1
解决办法
1万
查看次数

访问Form上的成员可能会导致运行时异常,因为它是marshal-by-reference类的字段

访问Form上的成员可能会导致运行时异常,因为它是marshal-by-reference类的字段

我知道这个警告是什么,知道如何解决它.

我的问题是为什么这会导致运行时错误?

.net warnings runtime marshalbyrefobject

17
推荐指数
2
解决办法
1万
查看次数

什么是java中的虚方法调用?

我在一些计算机科学测试中看到了下一段,我希望我能在这里得到一个很好的解释,因为我用谷歌搜索了一个小时,找不到任何东西.

"当我们说Java语言有虚方法调用时,我们的意思是在java应用程序中,执行的方法由运行时的对象类型决定"

这是什么意思?谁能更好地解释一下?

java methods runtime

17
推荐指数
2
解决办法
3万
查看次数

HashSet <T>(IEqualityComparer <T>)的查找时间复杂度是多少?

在C#.NET中,我喜欢使用HashSets,因为它们的查找时间复杂度为O(1).如果我要查询大量数据,我通常更喜欢将HashSet用于List,因为它具有这种时间复杂性.

令我困惑的是HashSet的构造函数,它将IEqualityComparer作为参数:

http://msdn.microsoft.com/en-us/library/bb359100.aspx

在上面的链接中,备注注意到"构造函数是一个O(1)操作",但如果是这种情况,我很好奇,如果查找仍然是O(1).

特别是,在我看来,如果我要编写一个Comparer来传递给HashSet的构造函数,每当我执行查找时,必须在每个键上执行Comparer代码以检查是否存在一场比赛.这不是O(1),而是O(n).

当元素添加到集合中时,实现是否在内部构建查找表?

一般来说,我如何确定有关.NET数据结构复杂性的信息?

c# complexity-theory runtime hashset

17
推荐指数
2
解决办法
2万
查看次数

PHP exec()性能

以下PHP代码确实返回了大约3.5秒的运行时间(多次测量并取平均值):

$starttime = microtime(true);
exec('/usr/local/bin/convert 1.pdf -density 200 -quality 85% 1.jpg');
$endtime = microtime(true);
$time_taken = $endtime-$starttime;
Run Code Online (Sandbox Code Playgroud)

当我在ssh终端上运行相同的命令时,运行时间减少到大约0.6秒(使用命令行工具测量time).

imagemagick库的版本是

Version: ImageMagick 6.7.0-10 2012-12-18 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2011 ImageMagick Studio LLC
Features: OpenMP
Run Code Online (Sandbox Code Playgroud)

这个时差的原因是什么?

在stackoverflow上对类似问题的一个答案是,开销来自必须启动线程/ shell的Web服务器.这可能是真的吗?我认为线程是轻量级的,并且不需要花很长时间才能启动/终止.

在调用之前exec我设置了imagemagick使用的线程数(因为这是/在OpenMP中的错误?,参考)到1 exec('env MAGICK_THREAD_LIMIT=1');.无论我设置什么值,PHP的运行时都没有太大变化MAGICK_THREAD_LIMIT.无论如何,在这个版本中OpenMP上似乎没有错误,因为命令行执行的运行时是可以的.

任何关于如何改进上述命令的运行时间的建议将不胜感激.

非常感谢您的帮助.

php performance runtime exec

17
推荐指数
4
解决办法
1万
查看次数

onRequestPermissionsResult被无限调用

我正在使用运行时权限请求,但是存在问题.似乎onRequestPermissionsResult无限调用回调方法.因此,当用户拒绝该请求时,该应用程序无响应.

每次用户点击"拒绝"时,权限对话框都会重新出现.只有点击"再也不要问",它才会再次出现.*按'允许'时效果很好 - 没有任何问题.

有没有办法取消一次后被调用的方法?

if (ActivityCompat.checkSelfPermission( this, Manifest.permission.ACCESS_FINE_LOCATION ) != PackageManager.PERMISSION_GRANTED )
{
    ActivityCompat.requestPermissions( this, new String[]{ Manifest.permission.ACCESS_FINE_LOCATION }, LOCATION_PERMISSION_CUSTOM_REQUEST_CODE );
}


@Override
    public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
        switch( requestCode )
        {
            case LOCATION_PERMISSION_CUSTOM_REQUEST_CODE:   
                // If request is cancelled, the result arrays are empty.
                if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                    // permission was granted
                    MyManager.connect();
                    return;
                } else {
                    // permission denied
                    return;
                }
            default:
                return;
        }
    }
Run Code Online (Sandbox Code Playgroud)

permissions android runtime

17
推荐指数
1
解决办法
3062
查看次数