我有一系列的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) 使用maven-clean-plugin我想删除所有以"tmp"开头的文件夹.这可能与maven通配符有关吗?我试过了:
<fileset>
<directory>${project.basedir}</directory>
<includes>
<include>**/tmp*</include>
</includes>
</fileset>
Run Code Online (Sandbox Code Playgroud)
哪个不起作用.
self.finish()将torandoWeb服务器置于什么状态?我假设它关闭了当前的连接.目前我正在使用self.set_status(204)返回HTTP响应代码,但我不是在调用self.finish(),我应该在每个请求处理程序的末尾调用它吗?
我有一个名为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) 我有以下文件:
{
"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个项目?
我有一个方法,将泛型类接口作为参数,我想检查提供的接口是否扩展了某个基类,如果不是,我将抛出异常.是否可以做类似的事情:
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?
我有一个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)
我担心的是,大对象在内存中会比在同一个类中处理的时间更长.
我有以下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流?
我有一个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>?
我有一个小的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)