小编sk.*_*sk.的帖子

Java VM EXCEPTION_ACCESS_VIOLATION的可能原因?

当Java VM与EXCEPTION_ACCESS_VIOLATION崩溃并生成hs_err_pidXXX.log文件时,这表示什么?错误本身基本上是一个空指针异常.它总是由JVM中的错误引起,还是有其他原因,如硬件故障或软件冲突?

编辑:有一个本机组件,这是win32上的SWT应用程序.

java crash null swt jvm

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

在什么情况下,空的同步块可以实现正确的线程语义?

我正在查看关于我的代码库的Findbugs报告,其中一个触发的模式是空synchronzied块(即synchronized (var) {}).该文件说:

与大多数人认识到的相比,空的同步块更加微妙且难以正确使用,并且空的同步块几乎不是比较少设计的解决方案更好的解决方案.

在我的情况下,它发生是因为块的内容已被注释掉,但synchronized声明仍然存在.在什么情况下空synchronized块可以实现正确的线程语义?

java multithreading findbugs synchronized

25
推荐指数
3
解决办法
4541
查看次数

使用原始类型参数覆盖方法时,是否可以避免取消选中警告?

我正在扩展一个我无法改变的库中定义的类:

public class Parent
{
    public void init(Map properties) { ... }
}
Run Code Online (Sandbox Code Playgroud)

如果我正在定义一个扩展Parent的类'Child'而我正在使用带有泛型的Java 6,那么在不获取未经检查的警告的情况下覆盖init方法的最佳方法是什么?

public class Child extends Parent
{
    // warning: Map is a raw type. References to generic type Map<K,V> should be parameterized
    public void init(Map properties) { }
}
Run Code Online (Sandbox Code Playgroud)

如果我添加通用参数,我得到:

   // error: The method init(Map<Object,Object>) of type Child has the same erasure as init(Map) of type Parent but does not override it
   public void init(Map<Object,Object>) { ... }
   // same error
   public void init(Map<? extends Object,? …
Run Code Online (Sandbox Code Playgroud)

java generics raw-types suppress-warnings

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

如何在Tomcat中为单个Web应用程序设置时区?

在Tomcat中为单个Web应用程序设置时区的最佳方法是什么?我已经看到了更改Tomcat的命令行参数或环境变量的选项,但是有没有办法在WAR文件中设置它自包含而不依赖于任何Tomcat配置?

编辑:要重新强调,我正在寻找一个可以包含在WAR文件中的解决方案,而不依赖于Tomcat配置.换句话说,一个Web应用程序是否可以配置为具有与在同一Tomcat实例中运行的其他应用程序不同的时区?

java configuration timezone tomcat

15
推荐指数
3
解决办法
4万
查看次数

我可以在java中反射性地实例化泛型类型吗?

是否有可能在Java中反射性地实例化泛型类型?使用这里描述的技术我得到一个错误,因为类标记不能是通用的.以下面的例子为例.我想实例化一些实现Creator的Creator子类.实际的类名称作为命令行参数传入.我们的想法是能够在运行时指定Creator的实现.还有另一种方法来完成我在这里要做的事情吗?

public interface Creator<T> {
    T create();
}
public class StringCreator implements Creator<String> {
    public String create() { return new String(); }
}
public class FancyStringCreator implements Creator<String> {
    public String create() { return new StringBuffer().toString(); }
}
public static void main(String[] args) throws Exception {
    Class<?> someClass = Class.forName(args[0]);
    /*ERROR*/Class<? extends Creator<String>> creatorClass = someClass.asSubclass(Creator.class);
    Constructor<? extends Creator<String>> creatorCtor = creatorClass.getConstructor((Class<?>[]) null);
    Creator<String> creator = creatorCtor.newInstance((Object[]) null);
}
Run Code Online (Sandbox Code Playgroud)

编辑:我喜欢马库斯的方法是最简单务实的,不会绕过整个仿制品.我可以在我的情况下使用它,因为我可以指定传递的类必须是StringCreator的子类.但是,正如Ericson指出的那样,通用信息仍然存在于类型级别,而不是在运行时级别,因此仍然可以反思地检查给定的类是否实现了正确的泛型类型.

java generics reflection

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

XSD出现边界应该在序列还是元素上?

如果我有一个带有一个或多个子元素的元素,那么min/maxoccurs属性应该在xsd:sequence元素,xsd:元素,两者还是两者上?

<xsd:element name="books">
  <xsd:complexType>
    <xsd:sequence minOccurs="1" maxOccurs="unbounded"> <!-- here? -->
      <xsd:element ref="book" minOccurs="1" maxOccurs="unbounded"/> <!-- or here? -->
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>
Run Code Online (Sandbox Code Playgroud)

xml xsd

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

我可以在不同的操作类之间传播struts2 ActionErrors吗?

如果我有一个动作,其结果是redirectAction到另一个类中的另一个动作,是否有可能在结果动作中显示验证错误?例如,在下面的示例中,如果用户执行actionA(没有与之关联的视图),并且存在错误,是否有任何方法可以在actionB结果(foo.jsp)中显示这些错误?或者我是以完全错误的方式解决这个问题?

<package name="a" extends="struts-default" namespace="/a">
    <action name="actionA" class="actionAClass">
        <result name="input" type="redirectAction">
            <param name="actionName">actionB</param>
            <param name="namespace">/b</param>
        </result>
        <result type="redirectAction">
            <param name="actionName">actionB</param>
            <param name="namespace">/b</param>
        </result>
    </action>
</package>
<package name="b" extends="struts-default" namespace="/b">
    <action name="actionB" class="actionBClass">
        <result>/foo.jsp</result>
    </action>
</package>
Run Code Online (Sandbox Code Playgroud)

java error-handling model-view-controller struts struts2

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

使用回调时如何避免循环依赖?

当您使用生产者/消费者关系设计两个类时,如何避免循环依赖?这里ListenerImpl需要对Broadcaster的引用才能注册/取消注册,而Broadcaster需要一个引用回侦听器才能发送消息.此示例使用Java,但它可以应用于任何OO语言.

public interface Listener {
  void callBack(Object arg);
}
public class ListenerImpl implements Listener {
  public ListenerImpl(Broadcaster b) { b.register(this); }
  public void callBack(Object arg) { ... }
  public void shutDown() { b.unregister(this); }
}
public class Broadcaster {
  private final List listeners = new ArrayList();
  public void register(Listener lis) { listeners.add(lis); }
  public void unregister(Listener lis) {listeners.remove(lis); }
  public void broadcast(Object arg) { for (Listener lis : listeners) { lis.callBack(arg); } }
}
Run Code Online (Sandbox Code Playgroud)

oop callback inversion-of-control

9
推荐指数
3
解决办法
2937
查看次数

克隆是否比构造函数/工厂方法提供了性能改进?

我正在维护一个较旧的Java代码库(jvm 1.4),它似乎使用克隆作为对象实例化的替代方案,我猜测它是一种性能优化.这是一个人为的例子:

public class Foo {
  private SomeObject obj; // SomeObject implements Cloneable
  public Foo() {
    obj = new SomeObject();
    obj.setField1("abc"); // these fields will have the same value every time
    obj.setField2("def");
  }
  public void doStuff() {
    SomeObject newObj = obj.clone(); // clone it instead of using a factory method
    // do stuff with newObj
  }
}
Run Code Online (Sandbox Code Playgroud)

关于过早优化的常见警告尽管如此,这实际上是一个推荐的成语吗?

java optimization clone cloneable

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

java.util.zip.ZipFile.close()什么时候抛出IOException?

在什么情况下java.util.zip.ZipFile.close()会抛出IOException?它的方法签名表明它可以被抛出,但是从源代码中似乎没有任何可能发生这种情况的地方,除非它是在本机代码中.如果有异常,可以采取哪些纠正措施?

java zip ioexception

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

有没有支持AJAX的好的拖放式网络应用程序IDE?

任何人都可以推荐一个GUI构建工具来使用AJAX创建DHTML Web应用程序来与Web服务后端进行通信吗?我想避免不得不设计HTML,编组/解组数据,检查浏览器兼容性等等.该工具应该有一个小部件库,可以放入应用程序并连接到功能,并且可以扩展足以能够定义自定义小部件.当然,免费和/或开源是可取的,但我也会考虑专有工具.

GUI工具的选择在多大程度上会影响我将用于后端的平台或语言?如果GUI只是调用Web服务,那么我应该能够在服务器端使用任何东西来提供该接口,但也许一些gui端工具使用需要一些特定服务器端代码的专有数据交换格式?

编辑:我不需要可以拖动的小部件,我想要一个允许轻松构建gui的IDE(即RAD工具).

ide ajax user-interface drag-and-drop rad

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

这一小块互斥代码有什么问题?

// A Mutex allows threads mutually exclusive access to a resource.
//-----------------------------------------------------------------------

class Mutex
{
private:
    CRITICAL_SECTION m_mutex;

public:
     Mutex() { InitializeCriticalSection(&m_mutex); }
    ~Mutex() { DeleteCriticalSection(&m_mutex);     }

    void acquire() { EnterCriticalSection(&m_mutex); }
    void release() { LeaveCriticalSection(&m_mutex); }
};
Run Code Online (Sandbox Code Playgroud)

使用Entrek Codesnitch软件调试和测试任何内存泄漏等,它报告以下错误:

InitializeCriticalSection Error: lpCriticalSection (0x000387d4) points to an invalid 
  memory location (0x00018984) Mutex::Mutex in lockmutex.h, line 29
Run Code Online (Sandbox Code Playgroud)

也许我所有不眠之夜终于到了我的身边.但我不明白它究竟在抱怨什么.有任何想法吗?

c++ mutex critical-section

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

检查是否映射了所有枚举值?

java标准库中是否有一个方便的方法来检查EnumMap中所有可能的键是否都映射到一个值?

我可以编写自己的方法,如:

public static <T extends Enum<T>> boolean areAllValuesMapped(EnumMap<T, ?> map, Class<T> enumClass)
{
    return map.keySet().equals(EnumSet.allOf(enumClass));
}
Run Code Online (Sandbox Code Playgroud)

但后来我重复了Class参数(已经在EnumMap构造函数中给出)以及创建一次性KeySet和EnumSet对象.EnumMap应该有足够的信息来作为内部操作有效地完成这项工作.

java enums

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