小编Tim*_*m B的帖子

如何知道Eclipse用来运行java程序的命令行?

我在Eclipse之外执行我的Java示例"hello world"程序时遇到问题,而每当我按下Run菜单按钮时Eclipse都可以执行它.所以我想知道Eclipse用来执行java程序的命令行.

java eclipse

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

私有类作为公共方法的返回类型

为什么这个有效?

Foo.java

public class Foo {

    public Bar getBar() {
        return new Bar();
    }

    private class Bar {}

}
Run Code Online (Sandbox Code Playgroud)

如果Bar是私有的,那么这个类的用户将如何使用此方法?当然可以使用多态,但这不应该是无效的,并且声明应该指出这是返回一个对象吗?

java polymorphism access-modifiers

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

如何在DBeaver上运行任意SQL?

好吧,所以这可能看起来像一个愚蠢的问题,但我正在与DBeaver战斗,到目前为止,它已经赢了,谷歌拒绝选择一方.

我已经研究了如何探索数据库,查看表的结构,我甚至可以查看表的数据并对其进行过滤.

但是,如果我只想运行任意SQL语句,我该怎么做?

dbeaver

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

Ilist表如何基于sybase中的列名?

如何列出包含具有给定名称的列的数据库中的所有表?

sybase

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

懒惰地以线程安全的方式初始化Java映射

我需要懒洋洋地初始化地图及其内容.我现在有以下代码:

class SomeClass {
    private Map<String, String> someMap = null;

    public String getValue(String key) {
        if (someMap == null) {
            synchronized(someMap) {
                someMap = new HashMap<String, String>();
                // initialize the map contents by loading some data from the database.
                // possible for the map to be empty after this.
            }
        }
        return someMap.get(key);  // the key might not exist even after initialization
    }
}
Run Code Online (Sandbox Code Playgroud)

这显然不是线程安全的,如果一个线程来的时候someMap是空,继续初始化领域new HashMap和而其仍然在地图加载数据,另一个线程做了getValue,并没有得到数据时,人们可能已经存在.

如何在第一次getValue调用时确保数据仅在地图中加载一次.

请注意,key在所有初始化之后,地图中可能不存在.此外,在所有初始化之后,地图可能只是空的.

java multithreading dictionary double-checked-locking

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

在WebService调用中序列化字符串时出错

今天早上我遇到了一个问题,即返回一个文本字符串作为Web Service调用的结果.我得到的错误是在下面

************** Exception Text **************
System.ServiceModel.CommunicationException: Error in deserializing body of reply message for operation 'GetFilingTreeXML'. ---> System.InvalidOperationException: There is an error in XML document (1, 9201). ---> System.Xml.XmlException: The maximum string content length quota (8192) has been exceeded while reading XML data. This quota may be increased by changing the MaxStringContentLength property on the XmlDictionaryReaderQuotas object used when creating the XML reader. Line 1, position 9201.
at System.Xml.XmlExceptionHelper.ThrowXmlException(XmlDictionaryReader reader, String res, String arg1, String arg2, String arg3)
at …
Run Code Online (Sandbox Code Playgroud)

web-services xmlreader maxstringcontentlength

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

在正则表达式世界中,Java使用的是什么味道和风味?

我不是英语母语,所以我不太清楚'味道'的含义可能是它是指正则表达式语法?如果有的话有多少正则表达式语法?

BRE ERE Perl等.??

java regex

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

如何比较Doctrine2的日期时间字段和日期?

我想通过Doctrine2的QueryBuilder获取今天创建的项目.我想将createdAt(Datetime)字段与今天参数(Date)进行比较.是否可以在一个查询中执行此操作?

$qb = $this->createQueryBuilder('i');
$qb->innerJoin('i.type', 'it');
$qb->andWhere('it.name = :type');
$qb->andWhere('i.createdAt < :today');
// i.createdAt == datetime and :today parameter is a date
Run Code Online (Sandbox Code Playgroud)

datetime symfony doctrine-orm

12
推荐指数
5
解决办法
5万
查看次数

在Java 7+中,在EDT之外使用Swing repaint()方法是否仍然安全?

我知道,repaint()即使使用Swing的线程模型,以前从任何线程调用和其他一些选定的方法都被认为是安全的,但是我最近在评论中告诉我并非如此.

谷歌发现很多旧的讨论说这是安全的,但最近没什么.所有过去曾经说过安全的官方参考文献似乎已经消失了,我在各种论坛上发现了一些人讨论它是如何不再安全的.

我找不到任何正式的东西来确认它是否存在 - 而且我真的希望看到一些解释改变逻辑的东西,如果它已被改变的话.考虑到破坏现有应用程序的风险有多严重,删除它似乎是一个非常奇怪的功能.

我真的在寻找一个官方参考链接(即Javadoc,oracle教程或源代码链接),说明这些方法是否可以安全地从任何线程调用.

这里提到这个问题:

在EDT之外安全使用Component.repaint()?

从现已消失的Sun页面中引用一句话:

以下JComponent方法可以安全地从任何线程调用:repaint(),revalidate()和invalidate().repaint()和revalidate()方法将事件派发线程的请求分别调用paint()和validate().

这符合我的理解,但我现在找不到那个页面或任何类似的页面,我看到几个人的未经证实的谣言说它不再安全.但另一方面,我找不到任何明确的说这个功能已经改变.

改变笔记

可能有助于解决这个问题的是Oracle关于Swing线程处理变化的官方声明.我发现了"Java 7中的更改"页面,但根本没有提到它,这些页面都没有以任何方式提及线程或EDT:

http://docs.oracle.com/javase/7/docs/technotes/guides/swing/enhancements-7.html

http://docs.oracle.com/javase/7/docs/technotes/guides/awt/enhancements-7.html

java swing multithreading repaint event-dispatch-thread

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

如何使用JUnit和Hamcrest比较双打?

我正在使用JUnit和Hamcrest编写单元测试.我一直在使用以下方法比较双值:

assertThat(result, is(0.5));
Run Code Online (Sandbox Code Playgroud)

但是,我现在需要比较计算值,我不想与完整的double值进行比较.相反,我想比较接近.

我发现了一个名为IsCloseTo但是我不确定如何使用它的类assertThat,我在网上找不到任何例子.

执行以下操作的正确语法是什么?

// I can't do this as I need to know what methods/classes whatever I should be using
// isCloseTo doesn't exist.
assertThat(result, isCloseTo(0.5, 0.1)); 
Run Code Online (Sandbox Code Playgroud)

java junit hamcrest

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