小编Ran*_*ith的帖子

在Java IOException早期EOF中读取网页

我经常在阅读网页时遇到"早熟EOF"异常.

以下是StackTrace

java.io.IOException: Premature EOF
    at sun.net.www.http.ChunkedInputStream.readAheadBlocking(ChunkedInputStream.java:556)
    at sun.net.www.http.ChunkedInputStream.readAhead(ChunkedInputStream.java:600)
    at sun.net.www.http.ChunkedInputStream.read(ChunkedInputStream.java:687)
    at java.io.FilterInputStream.read(FilterInputStream.java:133)
    at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:2968)
    at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
    at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
    at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
    at java.io.InputStreamReader.read(InputStreamReader.java:184)
    at java.io.BufferedReader.fill(BufferedReader.java:154)
    at java.io.BufferedReader.readLine(BufferedReader.java:317)
    at java.io.BufferedReader.readLine(BufferedReader.java:382)
    at Utilities.getPage(Utilities.java:24)  while ((line = rd.readLine()) != null) {
    at TalkPage.<init>(TalkPage.java:15)
    at Updater.run(Updater.java:65)
Run Code Online (Sandbox Code Playgroud)

以下是getPage()方法

public static String getPage(String urlString) throws Exception {
    URL url = new URL(urlString);
    URLConnection conn = url.openConnection();
    BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    StringBuffer sb = new StringBuffer();
    String line;
    while ((line = rd.readLine()) != null) { …
Run Code Online (Sandbox Code Playgroud)

java io urlconnection eof

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

8难题:可解决性和最短的解决方案

我使用广度优先搜索构建了一个8拼图解算器.我现在想要修改代码以使用启发式.如果有人能回答以下两个问题,我将不胜感激:

可解性

我们如何确定8拼图是否可以解决?(给定起始状态和目标状态)这就是维基百科所说的:

不变量是所有16个方格的排列的奇偶性加上从右下角开始的空方格的出租车距离(行数加上列数)的奇偶校验.

不幸的是,我无法理解这意味着什么.理解起来有点复杂.有人可以用更简单的语言解释它吗?

最短的解决方案

给定启发式,是否可以保证使用A*算法提供最短的解决方案?更具体地说,打开列表中的第一个节点是否总是具有深度(或移动的数量如此之大),这是打开列表中存在的所有节点的深度的最小值?

启发式是否应满足上述陈述的某些条件?

编辑:可接受的启发式方法如何始终提供最佳解决方案?而我们如何测试一个启发式是否受理?

我会使用这里列出的启发式方法

Manhattan Distance 
Linear Conflict 
Pattern Database 
Misplaced Tiles
Nilsson's Sequence Score 
N-MaxSwap X-Y 
Tiles out of row and column
Run Code Online (Sandbox Code Playgroud)

有关Eyal Schneider的说明:

在此输入图像描述 在此输入图像描述 在此输入图像描述


java algorithm artificial-intelligence sliding-tile-puzzle

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

JSF ajax请求中的异常处理

在处理JSF ajax请求时抛出异常时,如何处理异常并访问堆栈跟踪?现在,当JSF项目阶段设置为Development时,我只在JavaScript警报中获取异常类名称和消息.更糟糕的是,当JSF项目阶段设置为Production时,没有任何视觉反馈,并且服务器日志不显示有关异常的任何信息.

如果这是相关的,我在Netbeans中使用GlassFish.

ajax jsf exception-handling jsf-2.2

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

当请求正文未能通过使用 Bean Validation/Hibernate Validator 定义的验证时,如何返回自定义响应 pojo?

是否可以覆盖 Spring Hibernate 验证器的默认响应 POJO?

当前,当验证失败时,会向客户端返回一个非常大的响应,如下所示。但我不希望客户端提供休眠验证器的完整错误响应,而是发送一些关于错误消息的键值对。

{
    "timestamp": "2018-05-28T18:12:56.705+0000",
    "status": 400,
    "error": "Bad Request",
    "errors": [
        {
            "codes": [
                "NotBlank.abc.xyz",
                "NotBlank.xyz",
                "NotBlank.java.lang.String",
                "NotBlank"
            ],
            "arguments": [
                {
                    "codes": [
                        "abc.xyz",
                        "xyz"
                    ],
                    "arguments": null,
                    "defaultMessage": "transactionId",
                    "code": "transactionId"
                }
            ],
            "defaultMessage": "xyz is mandatory parameter , please provide appropriate value",
            "objectName": "abc",
            "field": "xyz",
            "rejectedValue": "",
            "bindingFailure": false,
            "code": "NotBlank"
        }
    ],
    "message": "Validation failed for object='xyz'. Error count: 1",
    "path": "/path/create/1"
}
Run Code Online (Sandbox Code Playgroud)

spring hibernate-validator bean-validation spring-boot

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