小编pet*_*rov的帖子

XMLStreamWriter - Java 8 - writeCharacters - 

看来,这种方法的行为在Java 8中发生了变化.我需要一些快速解决我的问题.

问题是我有一些代码在每个命名的XML节点之后写入CR和LF <row>.现在(当我们迁移到Java 8时),而不是CR和LF,这些字符&#xd;被写出来.

同样,我需要一个快速修复,我不能改变StaX实现或做那样大的事情.

    while (reader.hasNext()){
        event = reader.next();
        if (event == XMLStreamConstants.START_ELEMENT){

            if (reader.getLocalName().equals("row")){

                writer.writeCharacters("\r\n"); /// this is my problem now!!! 
                writer.writeStartElement(reader.getLocalName());

                n = reader.getAttributeCount();
                for (int i=0; i<n; i++){
                    name = reader.getAttributeName(i).getLocalPart();
                    value = reader.getAttributeValue(i);

                                    ...
                    }
        }
Run Code Online (Sandbox Code Playgroud)

java stax

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

使用 SymPy / Python 进行部分分数分解

我如何找到常数 A,B,C,D,K,S 使得

1/(x**6+1) = (A*x+B)/(x**2+1) + (C*x+D)/(x**2-sqrt(3)*x+1) + (K*x+S)/(x**2+sqrt(3)*x+1)

对每一个实数 x 都为真。

我可能需要一些 sympy 代码,不确定。或者任何其他可以在这里提供帮助的 Python 库。

我手动尝试过,但一点也不简单:经过 1 小时的计算,我发现我可能犯了一些错误。

我在 SymPy 中尝试了部分分数分解,但并没有那么远。

我也尝试过 Wolfram Alpha,但它似乎也没有分解到那个细节级别。

WA尝试

请参阅下面 WA 给出的替代形式。

编辑

我完全手工进行了第二次尝试,得到了这些:

A = 0
B = 1/3
C = -1/(2*sqrt(3))
D = 1/3
K = 1/(2*sqrt(3))
S = 1/3

我如何验证这些是否正确?

编辑 2

我的问题的要点是:如何使用一些不错的/可重用的 Python 代码来做到这一点?

python numpy sympy python-3.x pandas

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

PuTTY - 无法使用密钥文件(不是私钥)

我有一个PPK文件,当我连接到远程服务器时,我正试图让putty使用它.但我一直在下面得到这个错误,然后我被问到我的用户名(我应该直接允许我以root用户身份).

我不明白问题是什么,更糟糕的是我不知道如何进一步排除故障.我的一位同事正在使用相同的文件,并表示他的一切都很好.所以我被困住了.

我做了网络搜索,我找到的建议是将PEM文件转换为PPK文件.但这不适用于我的情况,我已经有了一个PPK文件.

我在本地计算机上使用Windows,而PPK文件位于 C:\ssh-keys\

任何帮助将非常感激.

无法使用密钥文件"C:\ ssh-keys\filename.ppk"(非私钥)
登录为:

这是标题:

filename.ppk
?  :           mBIN                ‚?&  PuTTY-User-Key-File-2: ssh-rsa
Encryption: none
Comment: imported-openssh-key
Public-Lines: 6
Run Code Online (Sandbox Code Playgroud)

ssh putty private-key

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

pg_get_serial_sequence 不返回任何内容(空字符串)

我有很多带有 auto-inc PK 的表,并且对于它们中的大多数pg_get_serial_sequence返回(正如我所期望的)auto-inc 后面的序列名称,即 SERIAL PK。但是对于一个表pg_get_serial_sequence只返回一个空字符串?!

现在......我为这些表生成了 CREATE 脚本,但我没有看到这些表的创建脚本之间的任何原则差异(那些pg_get_serial_sequence工作正常的表,以及它不起作用的表,即它返回一个空字符串)。

两者都有由某些序列支持的 SERIAL PK 列。所以情况对我来说似乎相同。然而,对于我的一个表pg_get_serial_sequence不返回该支持序列的名称,它只返回空字符串。

这个特定的表可能缺少什么?

我需要做一些特别的事情来将给定的序列设置为 SERIAL 序列吗?!

如果没有,我应该寻找什么?我错过了什么?

sql postgresql

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

MongoDB类型顺序

我在MongoDB中有这个集合.它包含
val键下的不同类型的值.
另外,请注意我通过val升序对其进行排序.

[test] 2014-02-20 08:53:11.857 >>> db.account.find().sort({val:1});
{
        "_id" : ObjectId("5304d25786dd4b348bcc2b2e"),
        "username" : "usr10",
        "password" : "123",
        "val" : [ ]
}
{
        "_id" : ObjectId("5304d29986dd4b348bcc2b2f"),
        "username" : "usr20",
        "password" : "456",
        "val" : null
}
{
        "_id" : ObjectId("5304e31686dd4b348bcc2b37"),
        "username" : "usr80",
        "password" : "555",
        "val" : 1
}
{
        "_id" : ObjectId("5304d50a86dd4b348bcc2b32"),
        "username" : "usr50",
        "password" : "555",
        "val" : [
                40
        ]
}
{
        "_id" : ObjectId("5304d4c886dd4b348bcc2b31"),
        "username" : "usr40",
        "password" : "777",
        "val" : 200 …
Run Code Online (Sandbox Code Playgroud)

mongodb

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

hibernate 4.3.x - 加载所有实体注释类

在我工作的项目中,我不使用Spring,我只使用Hibernate.我不想将hbm.xml文件用于实体映射/描述/等.我只想使用注释.

如何告诉Hibernate Entity/Table从某些软件包加载所有带注释的类?

我在网上搜索但我没有运气.另外,我找不到有关最新Hibernate版本的信息(主要是过时的文章/帖子等).

编辑1:

http://docs.jboss.org/hibernate/orm/4.3/manual/en-US/html_single/#mapping

hibernate doc页面说明了这一点:

对象/关系映射可以用三种方法定义:
1)使用Java 5注释(通过Java Persistence 2注释)
2)使用JPA 2 XML部署描述符(在第XXX章中描述)
3)使用Hibernate遗留XML文件方法的hbm.xml

就这样,我只想使用1)与SessionFactory/Session Hibernate API.

编辑2:

即使我的问题被标记为重复,但事实并非如此,因为我不想使用JPA(以及隐含的描述符),而只是使用上面列出的那些方法1).

java hibernate jpa hibernate-4.x

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

用于组合/背包的动态T-SQL方法

我想我的问题与背包问题的变种有关,但我不能真正想出一个解决方案:

假设您在五金店,需要购买21个螺丝.他们只提供袋装:

  • 袋X - 16螺丝 - 每螺杆1.56美元 - 25美元总计
  • 袋Y - 8螺丝 - 每螺杆2.25美元 - 18美元总计
  • 袋Z - 4螺丝 - 每螺丝1.75美元 - 7美元总计

现在你必须弄清楚你应该购买哪些包以获得21螺丝(或更多!)以尽可能低的价格.

所以我得到的是一张包含所有行李的表格和一个用于定义所需金额的变量.因此,我需要的是一个带有包名和所需金额的表格.

不幸的是,sqlfiddle已经关闭..但至少这是示例数据:

declare @bags table (id int, qty int, price decimal(19,4))
insert into @bags values
 (10, 16, 25.00)
,(20, 8, 18.00)
,(30, 4, 7.00)

declare @ReqQty int = 21
Run Code Online (Sandbox Code Playgroud)

我真的很感谢你的帮助!希望我们能够解决这个问题,因为我需要使用这个重要功能来定制我们公司的ERP系统.

先感谢您!

编辑:我读背包整个维基百科的文章,有这样说的: 溢出近似算法, 它可能会产生一个近似算法,我们可以稍微溢出允许的重量限制.您希望获得至少与给定界限B一样高的总值,但是您可以超过权重限制...... 目前,该近似算法的解决方案是未知的.

所以我似乎更好地使用贪心算法而不是发明轮子?;)

t-sql sql-server algorithm knapsack-problem combinatorics

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

Windows 上的 ActiveMQ 启动问题 - jolokia-access.xml 的 FileNotFoundException

我下载并解压了最新的ActiveMQ版本5.17.1。我使用的是 Java 11.0.11 和 Windows 10 Enterprise Build:19044.1706。

当我通过启动 ActiveMQ 时,.\bin\activemq.bat start我得到了这个FileNotFoundException

WARN | Store limit is 102400 mb (current store usage is 0 mb). The data directory: C:\Programs\apache-activemq-5.17.1\bin\..\data\kahadb only has 21729 mb of usable space. - resetting to maximum available disk space: 21729 mb
WARN | Temporary Store limit is 51200 mb (current store usage is 0 mb). The data directory: C:\Programs\apache-activemq-5.17.1\bin\..\data only has 21728 mb of usable space. - resetting to maximum available disk …
Run Code Online (Sandbox Code Playgroud)

java activemq-classic

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

Java 8 - 默认方法 - 对遗留代码的关注

一本书的问题:

在过去(Java 8之前版本),您被告知将方法添加到接口是一种糟糕的形式,因为它会破坏现有代码.现在您被告知可以添加新方法,前提是您还提供默认实现.

  1. 这有多安全?描述接口的新stream方法Collection导致遗留代码编译失败的情况.
  2. 二进制兼容性怎么样?来自JAR文件的遗留代码是否仍会运行?"

我的答案如下,但我不太确定.

  1. 仅当遗留代码不提供具有相同名称stream和相同签名的方法时(例如,在实现的遗留类中Collection),它才是安全的.否则,这个旧的遗留代码将无法编译.
  2. 我认为保留了二进制兼容性,旧JAR文件中的遗留代码仍将运行.但我对此没有明确的论据.

任何人都可以确认或拒绝这些答案,或者只是为这些答案添加更多参数,参考或清晰度吗?

java java-8 default-method

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

Java Void类型 - 可能/允许的值?

1)在Java中,我可以这样做:

Void z = null;
Run Code Online (Sandbox Code Playgroud)

除了null我可以指定之外还有其他值z吗?

2)考虑以下代码剪切:

Callable<Void> v = () -> {
    System.out.println("zzz"); 
    Thread.sleep(1000);
    return null;
}; 
Run Code Online (Sandbox Code Playgroud)

这编译好了,但是如果我删除最后一个语句return null;则没有.为什么?毕竟,Void应该意味着没有回报价值.

java void

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