小编Lop*_*tun的帖子

"引用"或实例上的同步

请考虑以下代码:

public class Foo {
  private static final Object LOCK = new Object();
  private Object _lockRef1 = LOCK;
  private Object _lockRef2 = LOCK;
  private int _indx = 0;

  public void dec() {
    synchronized(_lockRef1) {
      _indx--;
    }
  }

  public void inc() {
    synchronized(_lockRef2) {
      _indx++;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

是调用方法dec()inc()线程安全吗?一方面,这些方法在两个不同的实例_ lockRef1和_ 上同步lockRef2.另一方面,这些实例"指向"同一个对象LOCK......

java synchronization

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

如何从.jar文件中的源代码构建javadoc?

我必须从myCode.jar构建包含源和类文件的Javadoc .我可以不抽出罐子吗?

根据http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/javadoc.html#classpath,我应该能够这样做:C:\>javadoc -d docs -classpath myCode.jar net\kem\jmx\CacheManagerMBean.java 但是,我收到以下错误:

javadoc: error - File not found: "net\kem\jmx\CacheManagerMBean.java"
[search path for source files: [myCode.jar]]
[search path for class files: [C:\Program Files\Java\jdk1.5.0_17\jre\lib\rt.jar, C:\Program Files\Java\jdk1.5.0_17\jre\lib\jsse.jar,
 C:\Program Files\Java\jdk1.5.0_17\jre\lib\jce.jar, C:\Program Files\Java\jdk1.5.0_17\jre\lib\charsets.jar, C:\Program Files\Java\jd
k1.5.0_17\jre\lib\ext\dnsns.jar, C:\Program Files\Java\jdk1.5.0_17\jre\lib\ext\localedata.jar, C:\Program Files\Java\jdk1.5.0_17\jre
\lib\ext\sunjce_provider.jar, C:\Program Files\Java\jdk1.5.0_17\jre\lib\ext\sunpkcs11.jar, C:\Projects\RenderClusterController\WebCo
ntent\WEB-INF\lib\makoRenderJMX.jar]]
[done in 360 ms]
1 error
Run Code Online (Sandbox Code Playgroud)

看来,javadoc无法在jar中找到源文件.我相信有消息来源.

有什么建议?

documentation javadoc jar

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

Java MulticastSocket线程是否安全?

我有两个主题.第一个用循环发送MulticastSocket的数据报; 第二个线程使用循环中的MulticastSocket的相同实例接收数据报.

它似乎工作正常,但我仍然怀疑.

这两个线程可以使用相同的MulticastSocket实例吗?在发送/接收方法调用方面,MulticastSocket线程是否安全?

java multithreading multicastsocket

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

在 Hibernate 中的链接表上应用过滤器

在此输入图像描述

我有一个类别 <-> Category_Product <-> Product 关系的经典案例。CategoryDTO 类的Set<ProductDTO>成员定义为:

@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(
        name = "Category_Product",
        joinColumns = @JoinColumn(name = "CAT_ID"),
        inverseJoinColumns = @JoinColumn(name = "PROD_ID")
)
public Set<Product> getProducts() {
    return products;
}
Run Code Online (Sandbox Code Playgroud)

问题是,当且仅当Category_Product.ENABLED 为 '1'时,我想要具有 Category->Product 关系 。我尝试使用@FilterJoinTable注释,但据我了解,它仅适用于实体(不适用于链接表),因此它在这里没有帮助。我希望有一个使用 Hibernate 内置功能的优雅解决方案。

java hibernate

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