小编eao*_*son的帖子

什么时候应该使用final作为方法参数和局部变量?

我发现了一些建议使用的参考文献(例如)final尽可能多地使用,我想知道它有多重要.这主要是在方法参数和局部变量的上下文中,而不是最终方法或类.对于常数,它显然是有道理的.

一方面,编译器可以进行一些优化,这使得程序员的意图更加清晰.另一方面,它增加了详细程度,优化可能是微不足道的.

这是我应该努力记住的事情吗?

java final

161
推荐指数
8
解决办法
5万
查看次数

<STYLE>是否必须位于HTML文档的<HEAD>中?

严格来说,style标签是否需要在headHTML文档中?4.01标准意味着,但没有明确说明:

STYLE元素允许作者将样式表规则放在文档的头部.HTML允许文档的HEAD部分中的任意数量的STYLE元素.

我说"严格来说"因为我有一个应用程序将样式元素放在正文中,而我测试过的所有浏览器似乎都使用了样式元素.我只是想知道这是否合法.

html coding-style html-head

126
推荐指数
4
解决办法
8万
查看次数

是否优先使用嵌套的try/catch块?

在Java中使用Readers和Streams总是让我感到困惑的一件事是该close()方法可以抛出异常.因为将close方法放在finally块中是个好主意,这需要一些尴尬的情况.我通常使用这种结构:

FileReader fr = new FileReader("SomeFile.txt");
try {
    try {
        fr.read();
    } finally {
        fr.close();
    }
} catch(Exception e) {
    // Do exception handling
}
Run Code Online (Sandbox Code Playgroud)

但我也看到了这种结构:

FileReader fr = new FileReader("SomeFile.txt");
try {
    fr.read() 
} catch (Exception e) {
    // Do exception handling
} finally {
    try {
        fr.close();
    } catch (Exception e) {
        // Do exception handling
    }
}
Run Code Online (Sandbox Code Playgroud)

我更喜欢第一个结构,因为只有一个挡块,它看起来更优雅.是否有理由更喜欢第二种或替代结构?

更新:如果我指出两者read并且close只抛出IOExceptions ,它会有所作为吗?因此,在我看来,如果读取失败,关闭将因同样的原因而失败.

java try-catch

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

dbms_lob.createtemporary()有什么意义?

我不太明白dbms_lob.createtemporary()函数.怎么:

DECLARE
    myclob CLOB;
BEGIN
    myclob := 'foo';
END;
Run Code Online (Sandbox Code Playgroud)

任何不同于:

DECLARE
    myclob CLOB;
BEGIN
    dbms_lob.createtemporary( myclob, TRUE );
    myclob := 'foo';
    dbms_lob.freetemporary( myclob );
END;
Run Code Online (Sandbox Code Playgroud)

我假设创建和免费调用之间的操作使其相关,但我只是不清楚如何.

oracle plsql lob

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

如何使用Oracle Apex处理版本控制

Oracle Apex很棒.我遇到的最大问题是使用它和源代码控制.通常在进行更改后,将导出整个应用程序,并将生成的SQL脚本检入源代码控制.

问题是,因为不清楚大多数导出脚本在做什么,所以我必须将其视为二进制文件.这意味着不能将来自多个源代码分支的更改合并在一起,这严重限制了其有用性.

我听说有些人导出每个页面并将它们单独放入源代码控制中.首先,这听起来像是一个重大的痛苦.其次,Apex不允许您将页面导入除导出页面之外的任何应用程序.因此,很难让两个开发人员同时使用他们自己的应用程序副本.

有没有人找到一个很好的方法来处理源代码控制Apex?我正在使用Subversion,我想我怀疑它有所不同.

oracle version-control oracle-apex

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

有没有办法确定包是否在Oracle中具有状态?

Oracle中是否有任何方法可以确定包是否具有状态或无状态?我不知道数据字典中包含该信息的任何视图.

"ORA-04068:包字符串的现有状态已被丢弃"错误相当令人讨厌.可以通过从包中删除包变量来消除它.11g引入了一个特性,即包含所有编译时常量变量的包将被视为无状态.

我可以有两个会话并将包编译成一个并在另一个中调用它,看看它是否抛出异常,但这需要调用包中的过程,这可能是不可取的.

oracle state package oracle11g

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

php可以查询以前查询的结果吗?

在某些语言中(想到ColdFusion),您可以对先前查询的结果集运行查询.是否有可能在php(用MySQL作为数据库)中做类似的事情?

我有点想做:

$rs1 = do_query( "SELECT * FROM animals WHERE type = 'fish'" );
$rs2 = do_query( "SELECT * FROM rs1 WHERE name = 'trout'" );
Run Code Online (Sandbox Code Playgroud)

php mysql search resultset

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

创建一个SQLite视图,其中行取决于前一行

我想在SQLite中创建一个视图,其中一行中的字段取决于前一行中字段的值.我可以使用LAG分析函数在Oracle中执行此操作,但不确定如何在SQLite中执行此操作.

例如,如果我的表看起来像:

ITEM        DAY           PRICE
apple       2011-01-07    1.25
orange      2011-01-02    1.00
apple       2011-01-01    1.00
orange      2011-01-03    2.00
apple       2011-01-08    1.00
apple       2011-01-10    1.50
Run Code Online (Sandbox Code Playgroud)

我希望我的观点看起来像WHERE item = 'apple':

DAY           PRICE    CHANGE
2011-01-01    1.00     (null)
2011-01-07    1.25     0.25
2011-01-08    2.00     0.75
2011-01-10    1.50     -0.50
Run Code Online (Sandbox Code Playgroud)

编辑:

相当于我正在寻找的查询会在Oracle中看起来像(没试过这个,但我认为这是正确的):

SELECT day, price, 
       price - LAG( price, 1 ) OVER ( ORDER BY day ) AS change
  FROM mytable
 WHERE item = 'apple'
Run Code Online (Sandbox Code Playgroud)

sql sqlite

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

是否有比Swing更好的Java应用程序框架?

我打算在一些业余爱好Java项目上工作.我做过一些小规模的项目,所以我熟悉语言本身并使用Swing构建GUI.我想让我的工作不那么特别,也许会找到一些可能在现实世界中有用的工具.

NetBeans现在与Swing应用程序框架捆绑在一起,这似乎是一个非常有用的工具.它有助于弥合了解如何创建JFrame以及如何在更大的应用程序的上下文中有效地使用JFrame之间的鸿沟.问题是,有大量的API完全没有记录,并且几乎没有关于如何使用它的文档.常见问题解答中只有两个问题,邮件列表几乎已经死了,我甚至无法判断项目是否正在积极开发或是否已被放弃.我已经成功地开始运行它,主要基于项目主页发布的两年前的JavaOne演示文稿.

还有更好的选择吗?是否有另一个工具/库/ API以更新手友好的方式做同样的事情?请注意,我目前正计划开发桌面应用程序,而不是在寻找像Spring和Hibernate这样的J2EE框架.

java saf

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

处理非重叠范围的建议方法(例如,调度)

我已经看过几次这样的问题,并且我正在尝试以非重叠的方式决定存储范围的最佳方式.例如,在安排某种资源时,一次只能有一个人使用.我看到的大多数是这样的:

PERSON          ROOM        START_TIME      END_TIME
Col. Mustard    Library     08:00           10:00
Prof. Plum      Library     10:00           12:00
Run Code Online (Sandbox Code Playgroud)
  1. 防止新条目与现有时间表重叠的最佳方法是什么,例如,如果Scarlet小姐想要从11:00到11:30预订图书馆?内联约束不起作用,我不认为这可以在触发器中轻松完成.处理最初在表中查找现有冲突的所有插入的过程?

  2. 其次,处理并发问题的最佳方法是什么?说,Scarlet小姐在13:00到15:00之间想要图书馆,White夫人想要从14:00到16:00.(1)的程序会发现这些时间表都可以接受,但是明确地将它们放在一起,它们不是.我唯一能想到的是手动锁定表格或某种互斥锁.

  3. 上面的表((room,start_time)的主键是什么?

database oracle concurrency constraints

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