小编Teg*_*shi的帖子

在Eclipse中运行/调试OSGi应用程序

我们的应用程序已迁移到OSGi,但我无法在Eclipse中启动/调试它.过程是什么:OSGi应用程序开发人员是否期望建立Equinox环境,安装数百个bundle(jar = bundle?),并从控制台启动?换句话说,推出"热插拔天赋"应用程序不同于"模块化挑战"应用程序吗?

次要的,更具体的问题.有一个引导程序包应该可以处理所有事情,但是在加载一堆类之后它会变慢并且几乎挂起:

...
...
...
Flat profile of 0.22 secs (16 total ticks): main

  Interpreted + native   Method                        
 16.7%     1  +     0    java.awt.Toolkit.addAWTEventLi[Loaded java.awt.SentEvent from C:\Program Files\Java\jdk1.7.0_04\jre\lib\rt.jar]
stener
 16.7%     1  +     0    jav[Loaded java.awt.DefaultKeyboardFocusManager$DefaultKeyboardFocusManagerSentEvent from C:\Program Files\Java\jdk1.7.0_04\jre\lib\rt.jar]
a.util.regex.Pattern.compile
 16.7%     1  +     0    sun.util.logging.PlatformLogger.<init>
 50.0%     3  +     0    Total interpreted

  Thread-local ticks:
 62.5%    10             Blocked (of total)
 50.0%     3             Class loader

...
...
...
[Loaded sun.reflect.Label$PatchInfo from C:\Program Files\Java\jdk1.7.0_04\jre\lib\rt.jar]
[Loaded sun.reflect.MethodAccessorGenerator$1 from C:\Program Files\Java\jdk1.7.0_04\jre\lib\rt.jar]
[Loaded sun.reflect.ClassDefiner from C:\Program Files\Java\jdk1.7.0_04\jre\lib\rt.jar] …
Run Code Online (Sandbox Code Playgroud)

eclipse osgi

6
推荐指数
1
解决办法
5260
查看次数

针对SwingWorker的Java线程故障排除任务

线程转储包含大量信息.例如,如果我怀疑某个动作不止一次被触发,那么我需要做的就是每次触发动作时转储堆栈跟踪,然后调查堆栈以查找错误的动作.

在某些情况下,鼓励开发人员放弃顺序执行的概念简单性.例如,Swing提供SwingWorker帮助程序来解决单线程EDT的限制.现在,如果我转储堆栈跟踪,它是无用的,因为该操作是由SwingWorker触发的,并且没有关于谁启动了SwingWorker任务的信息.

那么,我该如何排除故障?是否有一个聪明的技巧"重定向"线程转储以遵循真正的原因?

java swing multithreading swingworker

5
推荐指数
1
解决办法
588
查看次数

Java Exceptions层次结构,有什么意义?

我发现自己忙着重构我的宠物项目,并删除与异常抛出声明相关的所有噪音.基本上,违反条件的一切都是断言违规,或者正式地说,AssertionError,在Java中慷慨地允许从方法的签名中省略.我的问题是:拥有Exceptions层次结构有什么意义?我的经验是每个例外都是独一无二的,并且没有正式的标准来确定一组例外是另一组的子集.即使是已检查和未检查的异常之间的区别也是模糊的,例如,当懒惰(或不耐烦)的程序员可以轻松地将其包装到RuntimeException中并重新抛出它时,为什么我会坚持客户端代码捕获异常?

java

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

JTable单元格中的小部件

JTable列中的小部件预计与正常小部件无法区分,对吧?似乎存在行为差异,采用Swing文档示例并将鼠标移动到素食列中的复选框...它们根本没有反应.我知道那些只是小部件代理,所以突出显示必须手动完成,所以我该如何解决这个问题呢?我试图widget.requestFocusInWindow();mouseMoved()为没有成功替代部件事件处理程序.还有其他解决方法吗?

java swing editor jtable renderer

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

红黑树重新平衡问题?

compareTo方法是否有任何约束命令将对象放入标准java TreeSet(即实现为红黑树的集合)?我有

public class RuleTuple implements Comparable {
    String head;
    String[] rhs;
    public String toString() {
        StringBuffer b = new StringBuffer();
        b.append(head+":"); 
        for( String t: rhs ) 
           b.append(" "+t); 
        return b.toString();
    }
    public int compareTo(Object obj) {
        RuleTuple src = (RuleTuple)obj;
        int cmp = head.compareTo(src.head);
        if( cmp!=0 )
            return cmp;
        if( rhs.length != src.rhs.length )
            return rhs.length - src.rhs.length;
        for( int i=0; i<rhs.length; i++ )
            if( rhs[i].compareTo(src.rhs[i]) != 0 )
                return rhs[i].compareTo(src.rhs[i]);
        return 0;
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

我假设任何将对象映射到线性顺序的方法都很好,只要它符合部分顺序标准:反身性,不对称性和传递性.其中只有传递性并不是立即显而易见的,但在我看来,如果通过排序标准比较对象,则传递性如下.(我首先比较标题,如果相同,则比较rhs的长度,如果相同,则比较数组的元素.)

显然,RuleTuple.compareTo()方法不一致,因为当删除"test:test [22,33)"时,它按以下顺序遍历树: …

java collections

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

传播算子函数调用歧义

将java StringTokenizer转换为kotlin split时,我无法提供字符分隔符列表:

val delim : Array<Char> = arrayOf('(',')','{','}','[',/*many more...*/)
sourceExpr.split(delimiters=*delim,ignoreCase=false,limit=0)
Run Code Online (Sandbox Code Playgroud)

这里kotlin编译器出于某种原因无法消除split(vararg String,...)和之间的歧义split(vararg Char,...).问题:

  1. 是个bug吗?
  2. 有铸造解决方法吗?
  3. 古代前集合时代的vararg概念是如何渗透现代编程语言的?

intellij-idea kotlin

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

参数化类型的数组

我无法确定以下RHS预期的类型参数

ArrayList<Pair<ParseNode,ParseNode>>[] nodes = new ArrayList[indexes.length];
Run Code Online (Sandbox Code Playgroud)

为什么副本<Pair<ParseNode,ParseNode>>不合法?

java generics

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

申报RHS的仿制药

Eclipse是否有理由在以下声明中报告类型安全警告?

Map<String,List<Map<String, ParseNode>>> mapX = new HashMap();
Run Code Online (Sandbox Code Playgroud)

我知道所有mapX用法都是强类型的,但是java泛型坚持提供HashMap参数化类型(除了在代码中添加噪声之外)可以实现什么?

java generics

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