问题列表 - 第18169页

java中的抽象类和接口最佳实践

所以你有一个接口和一个抽象类,它实现了接口中方法的一个子集.你还有一些继承抽象类的类,并给出了抽象类没有给出的方法的实现.

那么这里最好的做法是什么?我在谈论的问题如下:

1)抽象类应该实现接口还是它的子类?应该每节课吗?在我看来,只是抽象类应该.当然,所有类都可以实现接口,但这似乎是多余的,因为抽象的子节点将"继承"接口,因为它们扩展了抽象类.

2)鉴于抽象类实现了接口的一部分,它是否还应该为它没有实现的方法声明抽象方法?在我看来,这是正确的,但在某种程度上,这似乎是多余的,因为抽象的孩子需要实现这些方法才能编译.

那么你对最佳实践的论点是什么?问题归结为:我们有一个接口定义了我们想要某些类做什么,我们在接口中有一个定义常见行为的方法子集,我们有几种不同的定义方法非常见的行为.什么是最好的解决方法?

java oop inheritance abstract-class interface

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

内存中的Java DB

是否有任何可以在嵌入模式下运行的Java数据库,其中一些表存储在内存中,同时从磁盘加载其他表?H2和JavaDB似乎是Java DB的两个领导者,我知道它们都有内存模式,但它们是否会让你将整个数据库加载到内存中,还是可以逐个表决?

database in-memory in-memory-database javadb

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

Jquery:在ajax加载操作后将数据附加到div

我的设置很像这样:

$('.container a').click(function(event) {
    event.preventDefault();
    $('#contents').remove();
    $(this).parent().append("<div id=\"contents\"></div>");
    $('#contents').html('<img src="/images/loading.gif" />')
                  .load("stuff.html")
                  .append("<div id=\"closebutton\"></div>");
});
Run Code Online (Sandbox Code Playgroud)

但是,'append'部分似乎在加载完成之前运行,因此closebutton div被stuff.html的内容覆盖.在执行最终追加之前,如何让它等到ajax操作完成?

谢谢:)
Mala

javascript ajax jquery append

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

如何将tr ///应用于Perl数组的每个元素?

有没有更好的方法在数组中的每个元素上使用tr ///而不是以下方法:

foreach (@list) {
    tr/abc/xyz/;
}
Run Code Online (Sandbox Code Playgroud)

我正在玩一些东西而且我无法理解它看起来不太正确/最佳.也许我只想到条件可以如何以后缀形式使用.有人知道是否有办法使用后缀形式tr ///或s ///?

perl

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

我想念的是什么?:iPhone Objective-C NSInputStream initWithData

我正在从NSData对象创建一个NSInputStream,但是一旦创建了流,就会报告hasBytesAvailable的NO:

NSData* data = [outputStream propertyForKey: NSStreamDataWrittenToMemoryStreamKey]; 
NSLog(@"creating stream with data 0x%x length %d", [data bytes], [data length]);
NSInputStream *insrm = [[NSInputStream alloc] initWithData:data];
[insrm open];

uint8_t* buf = NULL;
NSUInteger len;
BOOL result = [insrm getBuffer:&buf length:&len];
BOOL hasbytes = [insrm hasBytesAvailable];
NSLog(@"getBuffer:%d hasBytes:%d", result, hasbytes);
NSLog(@"created inputstream data %d len %d", buf, len);
Run Code Online (Sandbox Code Playgroud)

日志:

[26797:20b] creating stream with data 0x7050000 length 34672
[26797:20b] getBuffer:0 hasBytes:0
[26797:20b] created inputstream data 0 len 0
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?

iphone objective-c nsinputstream nsdata

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

使用Python mysqldb模块无法使MySQL源查询工作

我有以下几行代码:

sql = "source C:\\My Dropbox\\workspace\\projects\\hosted_inv\\create_site_db.sql"
cursor.execute (sql)
Run Code Online (Sandbox Code Playgroud)

当我执行我的程序时,我收到以下错误:

错误1064:您的SQL语法中有错误; 查看与您的MySQL服务器版本对应的手册,以便在第1行'source C:\ My Dropbox\workspace\projects\hosted_inv\create_site_db.sql'附近使用正确的语法

现在我可以将以下内容复制并发送到mysql作为查询:

source C:\\My Dropbox\\workspace\\projects\\hosted_inv\\create_site_db.sql
Run Code Online (Sandbox Code Playgroud)

它完美无缺.当我检查查询日志以查找我的脚本执行的查询时,它显示我的查询如下:

source C:\\My Dropbox\\workspace\\projects\\hosted_inv\\create_site_db.sql
Run Code Online (Sandbox Code Playgroud)

但是,当我手动粘贴并执行时,整个create_site_db.sql在查询日志中展开,并显示该文件中的所有sql查询.

我在这里错过了mysqldb如何查询的内容吗?我遇到了限制吗?我的目标是运行一个sql脚本来创建模式结构,但我不想在shell进程中调用mysql来获取sql文件.

有什么想法吗?谢谢!

python mysql scripting

5
推荐指数
2
解决办法
3848
查看次数

何时使用内联功能何时不使用?

我知道inline是对编译器的提示或请求,用于避免函数调用开销.

那么在什么基础上可以确定函数是否是内联的候选者?在哪种情况下应该避免内联?

c c++ inline

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

我在哪里可以下载org.apache.http包的jar?

我想要包装的jar文件,org.apache.http但我无法找到它,任何人都可以让我知道从哪里可以下载它?

即使在Apache网站以及findjar.co网站上我也找不到jar .

java apache jar

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

Haskell编译的基础知识

我正在研究第二个Euler的问题,但是现在我只是试图定义Fibonacci序列.目前,我将我的Fib功能定义为

Fib 0 = 0
Fib 1 = 1
Fib x = Fib (x - 1) + Fib (x - 2)
Run Code Online (Sandbox Code Playgroud)

因为我希望程序依赖于我的键盘输入,所以我使用了

main = do
        putStrLn "Enter desired Fibonacci index: "
        "index" <- getLine
        putStrLn Fib x
Run Code Online (Sandbox Code Playgroud)

并将x定义为 x = read "index"

我很确定我弄乱了缩进和语法.根据我修改代码的方式,运行"ghc /dir/file.hs会让我感觉不到"不在范围内:数据构造函数`Fib'"或"解析错误(可能是错误的缩进)".我真的,真的不喜欢我知道我在做什么,特别是关于如何设置.hs以便编译友好.我已经阅读了大约7个关于使用GHC进行编译的教程,但他们似乎都跳过他们解释的部分编译的基本要求.

如果有帮助,请告诉我如何更具体.我认为我试图理解的两件事是整个"主要"事物是如何与编译相关的,以及如何让它被识别我已经将Fib定义为函数,即使它说它不在范围内.

PS:我无法弄清楚这里的缩进,Stack似乎想把所有东西放在一行,所以我必须把它全部分开.抱歉.

parsing haskell compilation ghc

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

托管代码中的免费非托管内存分配

.NET应用程序调用C dll.C代码为char数组分配内存并返回此数组作为结果..NET应用程序将此结果作为字符串获取.

C代码:

extern "C" __declspec(dllexport) char* __cdecl Run()
{
    char* result = (char*)malloc(100 * sizeof(char));
    // fill the array with data
    return result;
}
Run Code Online (Sandbox Code Playgroud)

C#代码:

[DllImport("Unmanaged.dll")]
private static extern string Run();

...
string result = Run();
// do something useful with the result and than leave it out of scope
Run Code Online (Sandbox Code Playgroud)

对它的一些测试表明垃圾收集器没有释放C代码分配的内存.

任何帮助将不胜感激.:)

.net memory-management unmanaged dllimport

7
推荐指数
3
解决办法
7361
查看次数