小编S-K*_*-K'的帖子

封装常见的异常处理逻辑

我有一系列的Web服务方法调用,都遵循以下格式.每种方法的唯一区别是httpRequest.methodName().任何人都可以想到我可以封装共同逻辑的方法吗?另请注意,我的环境是J2ME.

public Response webserviceCall(Request request) {

    HTTPRequest httpRequest = new HTTPRequest(new ConnectionProperties());

    String errorMessage = "";
    String errorCode = "";

    try {
        // the only thing different
        httpRequest.methodName();
    } catch (SDKException e) {
        errorMessage = e.getMessage();
        errorCode = e.getErrorCode();
    }

    Error error = new Error(errorMessage,errorCode);

    return new Response(error);
}
Run Code Online (Sandbox Code Playgroud)

java oop encapsulation object java-me

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

部分文件夹名称上的Maven <include>通配符匹配

使用maven-clean-plugin我想删除所有以"tmp"开头的文件夹.这可能与maven通配符有关吗?我试过了:

<fileset>
    <directory>${project.basedir}</directory>
    <includes>
        <include>**/tmp*</include>
    </includes>
</fileset>
Run Code Online (Sandbox Code Playgroud)

哪个不起作用.

wildcard maven-3 maven

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

self.finish()将龙卷风Web服务器置于什么状态?

self.finish()将torandoWeb服务器置于什么状态?我假设它关闭了当前的连接.目前我正在使用self.set_status(204)返回HTTP响应代码,但我不是在调用self.finish(),我应该在每个请求处理程序的末尾调用它吗?

python tornado

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

当对象不使用其类方法时,如何标记编译器警告?

我有一个名为SQLProvider的类,它包含用于打开和关闭SQLite数据库连接的方法.使用注释或其他方法,如果使用open方法而不调用close,是否可以标记编译器警告?

{
    SQLProvider provider = new SQLProvider();
    provider.open()
    // display a compiler warning unless provider.close() is also invoked in this code block
}
Run Code Online (Sandbox Code Playgroud)

java annotations

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

什么mongodb查询将限制嵌套列表的结果

我有以下文件:

{
    "username":"test",
    "comments":
    [
        {
            "commentId":"53453445",
            "message":"Hello this is a message"
        },
        {
            "commentId":"53453445",
            "message":"Hello this is a message"
        },
        {
            "commentId":"53453445",
            "message":"Hello this is a message"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

如何限制评论仅显示2个项目?

mongodb

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

是否可以评估类接口是否扩展某个基类?

我有一个方法,将泛型类接口作为参数,我想检查提供的接口是否扩展了某个基类,如果不是,我将抛出异常.是否可以做类似的事情:

public void genericMethod(Class<T> c) {
    if (!(c instanceof baseClass)) {
        throw new Exception("Must be instance of base class");
    }
}
Run Code Online (Sandbox Code Playgroud)

即使有可能,它会被视为良好做法吗?或者java泛型是否应遵循相同的原则ducktyping

java generics

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

在java中,静态方法返回后对象会发生什么

我有一个Object占用大量内存的东西,我将对象传递给静态辅助方法进行处理.Object在方法返回后,JVM如何处理?

public class Helper {
    public static boolean processObject(Object object) {
        // Do something with object
        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

用法:

Object object = new Object(); // large object created
if (Helper.processObject(object)) {
    // do something
}
Run Code Online (Sandbox Code Playgroud)

我担心的是,大对象在内存中会比在同一个类中处理的时间更长.

java memory

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

将嵌套for循环重构为Java 8流

我有以下for循环:

    List<Map> mapList = new ArrayList<>();
    for (Resource resource : getResources()) {
        for (Method method : resource.getMethods()) {
            mapList.add(getMap(resource,method));
        }
    }
    return mapList;
Run Code Online (Sandbox Code Playgroud)

我怎么能将这个嵌套循环重构为Java 8流?

java java-8 java-stream

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

从 vector&lt;uint8_t&gt; 中提取 uint8_t* 子集

我有一个vector<uint8_t>,并且我正在与一个需要uint8_t* data, size_t size. 我需要为 api 提供我的向量的一个子集,在我当前的解决方案中,我使用向量构造函数创建一个子集,然后我将这个新向量的 data() 传递给 api:

vector<uint8_t> subset(bytes.begin() + offset, bytes.begin() + offset + size);
api(subset.data(), subset.size());
Run Code Online (Sandbox Code Playgroud)

这在大多数情况下运行良好,但在受限设备上内存不足。有没有更有效的方法从 a 中提取 uint8_t* 子集vector<uint8_t>

c++ c++17

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

当使用yaws_api特定代码时,雅司"进程死亡"

我有一个小的yaws appmod测试:

-module(webservice).
-include("../include/yaws_api.hrl").
-compile(export_all).

http(parse_query,Arg) ->
    yaws_api:parse_query(Arg);

out(Arg) -> 
    {html, [http(parse_query,Arg)]}.
Run Code Online (Sandbox Code Playgroud)

当yaws_api:parse_query函数运行时,我从yaws交互模式获得以下ERROR REPORT:

Yaws process died: {function_clause,
                   [{yaws_server,binary_size,
                        [0,{"i",undefined}],
                        [{file,"yaws_server.erl"},{line,3015}]},
                    {yaws_server,binary_size,2,
                        [{file,"yaws_server.erl"},{line,3018}]},
                    {yaws_server,binary_size,2,
                        [{file,"yaws_server.erl"},{line,3018}]},
                    {yaws_server,deflate_accumulated,4,
                        [{file,"yaws_server.erl"},{line,3712}]},
                    {yaws_server,deliver_accumulated,4,
                        [{file,"yaws_server.erl"},{line,3666}]},
                    {yaws_server,finish_up_dyn_file,2,
                        [{file,"yaws_server.erl"},{line,2745}]},
                    {yaws_server,aloop,4,
                        [{file,"yaws_server.erl"},{line,1175}]},
                    {yaws_server,acceptor0,2,
                        [{file,"yaws_server.erl"},{line,1016}]}]}
Run Code Online (Sandbox Code Playgroud)

appmod在config中设置:

<server localhost>
    port = 8080
    listen = 127.0.0.1
    #docroot = /usr/share/yaws
    docroot = /usr/lib/yaws/www
    appmods = </,webservice>
    # dir_listings = true
</server>
Run Code Online (Sandbox Code Playgroud)

erlang yaws

0
推荐指数
1
解决办法
191
查看次数